Versões comparadas

Chave

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

...

Importación de

...

Reglas de

...

negocio vía MILE

ProdutoProducto:Microsiga Protheus®
AmbienteEntorno:Todos
OcorrênciaOcurrencia:

Como ¿Cómo configurar o el layout do del MILE para importar Regras Reglas de Negócionegocio?

Passo Paso a Passopaso:

Para realizar a importação la importación de Regras Reglas de Negócio negocio utilizando o el 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.son necesarias algunas configuraciones adicionales, pues la estructura del MILE no permite realizar la importación utilizando simplemente la configuración de canales.

La rutina Reglas de negocio (FATA100) recibe los siguientes parámetros vía rutina A rotina de Regras de Negócio (FATA100) recebe os seguintes parâmetros via rotina automática:

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


OndeDonde:

uAutoCab - Array - Dados do cabeçalho da Regra de Negócio Datos del encabezado de la Regla de negocio (ACS)

uItensACT - Array - Dados dos itens da Negociação Datos de los ítems de la negociación (ACT)

uItensACX - Array - Dados dos itens da Comercialização Datos de los ítems de la comercialización (ACX)

uItensACN - Array - Dados dos itens de Descontos Datos de los ítems de descuentos (ACN)

nOpcAuto - Numérico - Opção da rotina a ser executadaOpción de la rutina que se ejecutará


En este caso, necesitamos crear los canales Neste caso, precisamos criar os canais MASTER (ACS) e os DETAIL (y el DETAIL con los campos de forma ordenada de las tablas ACT, ACX e ACN) para podermos enviá-los para a rotina y ACN  para que podamos enviarlos a la rutina automática do FATA100.

No En el importador MILE quando cuando utilizamos o el tipo de adapter "1- MSExecAuto", ele envia os dados para a rotina automática da seguinte maneiraeste envía los datos a la rutina automática de la siguiente manera:

FUNCAOXXX(  uAutoCab, uAutoItens, nOpcAuto )


Para que o el 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.creado funcione correctamente en la rutina automática del FATA100, necesitaremos manejar el array de los canales por medio de una UserFunction que debe informarse en el campo Ejecución previa del layout.

El MILE puede adaptarse y personalizarse de acuerdo con las necesidades de los clientes. Para más detalles vea la documentaciónO 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çãoEjemplo de la función Ejecución previa:

Bloco de código
languagejs
linenumberstrue
#INCLUDE "PROTHEUS.CH"
 
User Function FT100TST(lInterface,aInfos,aLayOut,aSaidas)

 
/*
lInterface - Lógico - .T. si se está sendoejecutando executadocon cominterfaz interface / .F. sesi está sendoejecutándose executadosin sem interfaceinterfaz
aInfos    - Array - VetorVector comcon informaçõesinformación adicionaisadicional como linhalínea inicial ey final lidaleída, nomenombre dodel arquivoarchivo, etc.
aLayOut   - Array - InformaçõesInformación de dasla definiçõesdefinición dodel layout.
aSaidas   - Array - EstruturaEstructura dodel vetorvector sobre dadosdatos de saídasalida
*/
 
Local aNewVet   := Array(4)   //CriaCrea umun array para separar los osdatos dadosde doslos canaiscanales.
Local nX        := 0
Local nY        := 0
Local aACT      := {}
Local aACX      := {}
Local aACN      := {}

//Separa oslos datos dadosde doslos canaiscanales (DETAIL) para seremque enviadosse paraenvíen a la execauto dodel FATA100
For nX := 1 To Len(aSaidas[2][4])
    For nY := 1 to len(aSaidas[2][4][1nX])
        If "ACT_" $ aSaidas[2][4][nX][nY][1]
            If "_ITEM" $ aSaidas[2][4][nX][nY][1]
                Aadd(aACT,{})
        aAdd(aACT    EndIf
            Aadd(aACT[Len(aACT)],{ Alltrim(aSaidas[2][4][1nX][nXnY][1]), aSaidas[2][4][1nX][nXnY][2], aSaidas[2][4][1nX][nXnY][3] })
        ElseIf "ACX_" $ aSaidas[2][4][nX][nY][1]
            If "_ITEM" $ aSaidas[2][4][nX][nY][1]
                Aadd(aACX,{})
            EndIf
           aAdd Aadd(aACX[Len(aACX)],{ Alltrim(aSaidas[2][4][1nX][nXnY][1]), aSaidas[2][4][1nX][nXnY][2], aSaidas[2][4][1nX][nXnY][3] })
        ElseIf "ACN_" $ aSaidas[2][4][nX][nY][1]
            If "_ITEM" $ aSaidas[2][4][nX][nY][1]
                Aadd(aACN,{})
            EndIf
            aAddAadd(aACN[Len(aACN)],{ Alltrim(aSaidas[2][4][1nX][nXnY][1]), aSaidas[2][4][1nX][nXnY][2], aSaidas[2][4][1nX][nXnY][3] })
        EndIf
    Next nY
Next nX
 
//CarregamosCargamos oslos arrays dos dados nas posições corretas da de los datos en las posiciones correctas de la execauto
aNewVet[1] := aSaidas[1][4][1]  //uAutoCab (MASTER)
aNewVet[2] := {aACT}              //uItensACT
aNewVet[3] := {aACX}              //uItensACX
aNewVet[4] := {aACN}              //uItensACN
 
//OEl parâmetroparámetro nOpcAuto seráse enviadoenviará de forma automática por peloel importador MILE
 
Return aNewVet

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


La función anterior debe compilarse en el repositorio antes de la configuración del layout.


Configuración del ayoutConfiguração do Layout:

1) Informações gerais;Informaciones generales

Image Modified

2) Formatação do arquivo;Formateo del archivo

Image Modified

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 Tratamientos y validaciones
Observe e campo Ejecución previa, donde debe informarse el nombre de la función U_FT100TST que cambiará la posición de los parámetros, antes de la activación de la rutina automática del FATA100.

Image Modified

4) Adapters de Rotina Automática;
Neste caso iremos utilizar o Rutina automática
En este caso utilizaremos el Modelo 3. Como a rotina não está em la rutina no está en MVC, não será necessário a configuração dos Adapters em no será necesario configurar los Adapters en MVC.

Image Modified

5) Definição dos Canais;
Criar o Definición de los canales
Crear el canal A (MASTER) para receber os dados principais da Regra de Negócio recibir los datos principales de la Regla de negocio (ACS).

Image Modified

Criar o Crear el canal B (DETAIL) para receber os itens da Negociação recibir los ítems de la Negociación (ACT).

Image Removed

Criar o canal C (DETAIL) para receber os itens da Comercialização (ACX).

Image Removed

Criar o canal D (DETAIL) para receber os itens de Descontos (ACN).

Image Removed

Exemplo do Arquivo de Importação:

, de la Comercialización (ACX) y de los ítems de Descuentos (ACN). 

Image Added

Crear el canal C (DETAIL) para recibir los ítems de la comercialización (ACX).

Image Added

Image Added

Image Added


Ejemplo del archivo de importación:

En este ejemplo importaremos una Regla de negociación, de acuerdo con la personalización del rdmake de ejemplo.
Recordando que de acuerdo con la configuración del layout, la primera posición de cada registro se refiere al 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|
|C|01|
|D|01013|
|B|002|014|
|B|||001|FAT000000000000000000000000187|
|B|||002|FAT000000000000000000000000188|
|B|||||001|FAT000000000000000000000000187|5|
|B|||||002|FAT000000000000000000000000188|5|

Download do exemplo do del ejemplo del layout (XML) e do arquivo de importaçãoy del archivo de importación:

View file
nameLayout_Mile_FATA100.zip
height150


Pode lhe interessarPuede ser de su interés:Para maiores detalhes más detalles sobre o el MILE, veja a documentaçãovea la documentación: MILE - Model Integrator Layout Engine

...