Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Importação de Regras de Negócio via MILE

Produto:Microsiga Protheus®
Ambiente:Todos
Ocorrência:
Nova configuração do Gmail para envio de e-mails pelo Protheus

Como configurar o layout do MILE para importar Regras de Negócio?

Passo a Passo:

Recentemente a Google anunciou que irá descontinuar a opção de acesso à aplicativos menos seguros.

Com isso, será necessário realizar uma alteração na configuração de envio de e-mails do Protheus. Seguindo os passos abaixo:

Veja o processo em vídeo através do link: How To | MP-SIGAFAT Alteração na conf. de e-mails do Protheus

Expandir
titleHabilitando a verificação em duas etapas

É necessário habilitar a verificação em duas etapas na conta do gmail configurada no Protheus, para isso:

  • Acesse sua conta do Gmail e clique no seu usuário e em “Gerenciar sua conta do Google
  • Acesse a opção “Segurança” e selecione “Verificação em duas etapas
  • Realize a inserção da senha e selecione “Começar
  • O Google solicitará a confirmação de um código que será enviado ao Smartphone vinculado à conta.
  • Com isso, permitirá a ativação da Verificação em duas Etapas.
Expandir
titleGerando a Senha de App

Após habilitar a verificação em duas etapas:

Após obter a senha de app do Gmail, acesse as configurações de envio de e-mail do Protheus e substitua a senha do e-mail cadastrado pelo “código aleatório” gerado no Gmail.

Caso tenha dúvidas de como alterar a senha do e-mail no Protheus, consulte a documentação de configuração de envio de e-mail AQUI.

Para realizar a importação de Regras de Negócio utilizando o MILE, será necessário algumas configurações adicionais, pois a estrutura do MILE não permite realizar a importação utilizando simplesmente a configuração de canais.

A rotina de Regras de Negócio (FATA100) recebe os seguintes parâmetros via rotina automática:

FATA100( uAutoCab, uItensACT, uItensACX, uItensACN, nOpcAuto )


Onde:

uAutoCab - Array - Dados do cabeçalho da Regra de Negócio (ACS)

uItensACT - Array - Dados dos itens da Negociação (ACT)

uItensACX - Array - Dados dos itens da Comercialização (ACX)

uItensACN - Array - Dados dos itens de Descontos (ACN)

nOpcAuto - Numérico - Opção da rotina a ser executada


Neste caso, precisamos criar os canais MASTER (ACS) e o DETAIL com os campos de forma ordenada das tabelas ACT, ACX e ACN  para podermos enviá-los para a rotina automática do FATA100.

No importador MILE quando utilizamos o tipo de adapter "1- MSExecAuto", ele envia os dados para a rotina automática da seguinte maneira:

FUNCAOXXX(  uAutoCab, uAutoItens, nOpcAuto )


Para que o layout criado funcione corretamente na rotina automática do
FATA100, precisaremos manipular o array dos canais através de uma UserFunction que deverá ser informada no campo Pré Execução do layout.

O MILE pode ser adaptado e customizado conforme as necessidades dos clientes. Para maiores detalhes, veja a documentação:

MILE - Model Integrator Layout Engine


Exemplo da função de Pré Execução:

Bloco de código
languagejs
linenumberstrue
#INCLUDE "PROTHEUS.CH"
 
User Function FT100TST(lInterface,aInfos,aLayOut,aSaidas)
 
/*
lInterface - Lógico - .T. se está sendo executado com interface / .F. se está sendo executado sem interface
aInfos    - Array - Vetor com informações adicionais como linha inicial e final lida, nome do arquivo etc.
aLayOut   - Array - Informações das definições do layout.
aSaidas   - Array - Estrutura do vetor sobre dados de saída
*/
 
Local aNewVet   := Array(4)   //Cria um array para separar os dados dos canais.
Local nX        := 0
Local nY        := 0
Local aACT      := {}
Local aACX      := {}
Local aACN      := {}

//Separa os dados dos canais (DETAIL) para serem enviados para a execauto do FATA100
For nX := 1 To Len(aSaidas[2][4])
    For nY := 1 to len(aSaidas[2][4][nX])
        If "ACT_" $ aSaidas[2][4][nX][nY][1]
            If "_ITEM" $ aSaidas[2][4][nX][nY][1]
                Aadd(aACT,{})
            EndIf
            Aadd(aACT[Len(aACT)],{ Alltrim(aSaidas[2][4][nX][nY][1]), aSaidas[2][4][nX][nY][2], aSaidas[2][4][nX][nY][3] })
        ElseIf "ACX_" $ aSaidas[2][4][nX][nY][1]
            If "_ITEM" $ aSaidas[2][4][nX][nY][1]
                Aadd(aACX,{})
            EndIf
            Aadd(aACX[Len(aACX)],{ Alltrim(aSaidas[2][4][nX][nY][1]), aSaidas[2][4][nX][nY][2], aSaidas[2][4][nX][nY][3] })
        ElseIf "ACN_" $ aSaidas[2][4][nX][nY][1]
            If "_ITEM" $ aSaidas[2][4][nX][nY][1]
                Aadd(aACN,{})
            EndIf
            Aadd(aACN[Len(aACN)],{ Alltrim(aSaidas[2][4][nX][nY][1]), aSaidas[2][4][nX][nY][2], aSaidas[2][4][nX][nY][3] })
        EndIf
    Next nY
Next nX

//Carregamos os arrays dos dados nas posições corretas da execauto
aNewVet[1] := aSaidas[1][4][1]  //uAutoCab (MASTER)
aNewVet[2] := aACT              //uItensACT
aNewVet[3] := aACX              //uItensACX
aNewVet[4] := aACN              //uItensACN
 
//O parâmetro nOpcAuto será enviado de forma automática pelo importador MILE
 
Return aNewVet

A função acima deverá ser compilada no repositório antes da configuração do layout.


Configuração do Layout:

1) Informações gerais;

Image Added

2) Formatação do arquivo;

Image Added

3) Tratamentos e Validações;
Atente-se para o campo Pré Execução, onde deverá ser informado o nome da função U_FT100TST que irá mudar a posição dos parâmetros, antes da chamada da rotina automática do FATA100.

Image Added

4) Adapters de Rotina Automática;
Neste caso iremos utilizar o Modelo 3. Como a rotina não está em MVC, não será necessário a configuração dos Adapters em MVC.

Image Added

5) Definição dos Canais;
Criar o canal A (MASTER) para receber os dados principais da Regra de Negócio (ACS).

Image Added


Criar o canal B (DETAIL) para receber os itens da Negociação (ACT), da Comercialização (ACX) e dos itens de Descontos (ACN). 

Image Added

Image Added

Image Added


Image Added


Exemplo do Arquivo de Importação:

Neste exemplo iremos importar uma Regra de Negociação, conforme a customização do rdmake de exemplo.
Lembrando que conforme a configuração do layout, a primeira posição de cada registro se refere ao canal.

|A|TST MILE IMPORT|
|B|001|013|
|B|002|014|
|B|||001|FAT000000000000000000000000187|
|B|||002|FAT000000000000000000000000188|
|B|||||001|FAT000000000000000000000000187|5|
|B|||||002|FAT000000000000000000000000188|5|

Download do exemplo do layout (XML) e do arquivo de importação:

View file
nameFATA100_Mile.zip
height150


Pode lhe interessar:Para maiores detalhes sobre o MILE, veja a documentação: MILE - Model Integrator Layout Engine
Pode lhe interessar:

Configurar o SMTP para envio de relatórios por e-mail

Envio de E-mail pelo Call Center SIGATMK

Configuração para envio de e-mail no TeleCobrança quando provedor utilizado for Gmail®