Versões comparadas

Chave

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


ÍNDICE

Índice
minLevel2
excludeÍNDICE

01. 

...

VISIÓN GENERAL

Configure y ejecute la importación

...

Configurar e Executar Importação de registros para a rotina la rutina FINA040 - Contas a Receber via Cuentas por Cobrar mediante MILE.

Informações
titleImportante

O parâmetro El parámetro MV_MULNATR deve debe estar habilitado .T. para que os registros sejam importados com sucessolos registros se importen con éxito.

02. 

...

CONFIGURACIÓN MILE

Para realizar

...

la importación de los datos en la rutina FINA040 - Cuentas por Cobrar utilizando el MILE, son necesarias algunas configuraciones adicionales de acuerdo con lo siguiente.

Básicamente, el MILE funciona de la siguiente manera: para cada canal

...

creado, se enviará en secuencia a la rutina en cuestión un array como parámetro, seguido del nOpc de 3 de

...

inclusión.

Ao realizar a chamada da MsExecAuto da rotina FINA040, será enviado da seguinte forma:

...

Al realizar la llamada de la MsExecAuto de la rutina FINA040, se enviará de la siguiente manera:

Si tenemos 1 canal (1 Master):

    • FMile040(vetor[1], 3)

...

Si tenemos 2

...

canales:

    • FMile040(vetor[1], vetor[2], 3)

E assim Y así por diantedelante

Aviso
titleImportante

A rotina FINA040 possui suporte ao La rutina FINA040 tiene soporte al tipo de Adapter Função (Veja no documento de referência o item - tópico Composição do Layout - Geral Función (Vea en el documento de referencia el ítem - tópico Composición del Layout - General

03. 

...

EJEMPLO DE

...

CONFIGURACIÓN MILE

Modelo de

...

configuración del layout del MILE:

1) Informações Informaciones sobre o el tipo de Adapter, o nome da função el nombre de la función Adapter, a Tabela la Tabla Principal (SE1 neste en este modelo) e o y el Tipo de Layout (ImportaçãoImportación):

Image RemovedImage Added


2) Defina

...

el formateo del archivo

Image RemovedImage Added

Obs.: 

    Origem do Canal: Posição de onde esta a informação de canal do layout. Quando o formato do TXT é largura fixa informa-se a posição inicial e final separadas por um traço. Ex
  1. Origen del canal:Posición de dónde está la información del canal del layout. Cuando el formato del TXT es ancho fijo se informa la posición inicial y final separadas por un guion. Ej. 0001-0005. 
  2. Quando o
  3. Cuando el formato
  4. do
  5. del TXT
  6. é
  7. es por separador
  8. informa-se a posição da informação. Ex
  9. se informa la posición de la información. Ej. 0001,
  10. isso
  11. esto significa que
  12. o
  13. el canal
  14. é o
  15. es el 1º campo
  16. da linha
  17. de la línea
  18. Quando não há canais informar
  19. Cuando no hay canales informe 0000-0000
  20. ou
  21. o 0000
  22. conforme o
  23. según el formato
  24. ;
  25. .
  26. Entrada
  27. Multi-Canal
  28. Multicanal:
  29.  conforme veremos detalhes mais adiante.
  30. según veremos detalles más adelante.

La ilustración de este modelo de configuración:


Image AddedIlustração deste modelo de configuração:
Image Removed

3) Configurando

...

el tipo Adapter

...

Función los siguientes campos no estarán disponibles para modificación:

Image Added

4) Definición de los Canales: Por involucrar más de una tabla en el

...

Image Removed

4) Definição dos Canais: Por envolver mais de uma tabela no destino (SE1/SEV/SEZ) dos dados utilizaremos o de los datos utilizaremos el modelo de Multi-Canais Multicanales (Veja Vea Doc. ReferênciaReferencia: Exemplificando alguns Layouts). Para este modelo serão configurados se configurarán 2 canais, conforme abaixocanales, según lo siguiente:

    • Canal E1: Lista de campos da tabela de la tabla SE1 - Contas a Receber - Defina a ordem dos campos que estarão dentro do arquivo de importação. Note que a sequência do primeiro campo é 0002 pois a posição 0001 é identificadora do Cuentas por Cobrar - Defina la orden de los campos que estarán dentro del archivo de importación. Note que la secuencia del primer campo es 0002 porque la posición 0001 es identificadora del canal E1. Definiremos 12 campos:Image RemovedImage RemovedImage RemovedImage AddedImage AddedImage Added
    • Canal NTCC: Servirá para representar os dados mínimos do rateio Naturezas X Cento de Custo:
    • Aponte o Canal que será configurado:Image Removed
    • los datos mínimos del prorrateo Modalidades vs. Centro de Costo:
    • Apunte el canal que se configurará:Image Added
    • Incluya los campos según lo siguiente:Image AddedInsira os campos conforme abaixo:Image Removed

04. USER FUNCTION - ADAPTER

Iremos utilizar uma Utilizaremos una User Function para execução do ejecutar el Adapter.

Bloco de código
languagejava
themeMidnight
titleModelo de Adapte
User Function MileF040(lInterface, aInfos, aLayOut, aSaidas)
//-- DeclaraçõesDeclaraciones - PropriedadesPropiedades
    Local nPosVl    As Numeric
    Local nPosPc    As Numeric
    Local nPosNt    As Numeric
    Local nPosCc    As Numeric
    Local nI        As Numeric
    Local lNewNt    As Logical
    Local cNat      As Char
    Local aVetorRat As Array
    Local aTitulo   As Array
    Local aRatNtCc  As Array
    Local aRatNt    As Array
    Local aRatCc    As Array
    Local aLstRatCc As Array

    Default lInterface := .F.
    Default aInfos := {}
    Default aLayOut := {}
    Default aSaidas := {}


//- Control Controley eseparación separaçãode doslos Rateiosprorrateos     
    aLstRatCc := {} //-- Lista dosde los Rateiosprorrateos de CC por Naturezamodalidad
    aRatCc := {}    //-- UmUn registro - rateioprorrateo CC
    aRatNt := {}    //-- UmUn rateioprorrateo Naturezaorigen
    aRatNtCc := {}  //-- Lista de doslos Rateiosprorrateos NaturezaModalidad comcon espectivosrespectivos CCs
    aTitulo := {}   //-- DadosDatos dodel Títulotítulo

    aVetorRat := {} //-- Auxiliar no processamento dos rateiosen el procesamiento de los prorrateos Nt/Cc
    cNat := ""      //-- Auxiliar en noel procesamiento processamentode doslos rateiosprorrateos Nt
    lNewNt := .T.   //-- Auxiliar en el noprocesamiento processamentode doslos rateiosprorrateos Nt
    nI := 0         //-- Auxiliar en el noprocesamiento processamentode doslos rateiosprorrateos Nt/Cc
    nPosCc := 0     //-- Auxiliar en el noprocesamiento processamentode doslos rateiosprorrateos Cc
    nPosNt := 0     //-- Auxiliar no processamento dos rateiosen el procesamiento de los prorrateos Nt
    nPosPc := 0     //-- Auxiliar no processamento dos rateiosen el procesamiento de los prorrateos Nt/Cc
    nPosVl := 0     //-- Auxiliar en noel procesamiento processamentode doslos rateiosprorrateos Nt/Cc

  //-- ControleControl de erroerror de dala rotinarutina automática
	Private lMsErroAuto		:= Empty(aSaidas)
	Private lAutoErrNoFile	:= .T.    

//-- Inicio dodel pocessoproceso de separaçãoseparación de dadosdatos
    If !Empty(aSaidas)
        aTitulo := {}
        AEVAL(aSaidas[1,4,1],{|e| AAdd(aTitulo,e)})
        AAdd(aVetorRat,aSaidas[2,4])
        nPosNt := ASCAN(aVetorRat[1,1],{|a| alltrim(a[1]) == "EZ_NATUREZ"})
        nPosCc := ASCAN(aVetorRat[1,1],{|a| alltrim(a[1]) == "EZ_CCUSTO"})
        nPosVl := ASCAN(aVetorRat[1,1],{|a| alltrim(a[1]) == "EZ_VALOR"})
        nPosPc := ASCAN(aVetorRat[1,1],{|a| alltrim(a[1]) == "EZ_PERC"})

        For nI := 1 To Len(aVetorRat[1])
            If lNewNt
                //-- AdicionaAgrega Itemítem Rateioprorrateo Naturezaorigen
                cNat := aVetorRat[1][Ni][nPosNt][2]
                AAdd(aRatNt,{"EV_NATUREZ",cNat,Nil})
                AAdd(aRatNt,{"EV_VALOR",0,NIL})
                AAdd(aRatNt,{"EV_PERC",0,NIL})
                AAdd(aRatNt,{"EV_RATEICC","1",NIL})
            EndIf

            //-- AtualizaActualiza Valoresvalores dodel Rateioprorrateo de Naturezasorígenes
            aRatNt[2][2] += aVetorRat[1][Ni][nPosVl][2]
            aRatNt[3][2] += aVetorRat[1][Ni][nPosPc][2]
            
            //-- AdicionaAgrega ItemÍtem RateioProrrateo Centro-Custo Costo
            AAdd(aRatCc,aVetorRat[1][Ni][nPosNt])
            AAdd(aRatCc,aVetorRat[1][Ni][nPosCc])
            AAdd(aRatCc,aVetorRat[1][Ni][nPosVl])
            AAdd(aLstRatCc,AClone(aRatCc))
            FwFreeArray(aRatCc)
            aRatCc := {}

            //-- Verifica sesi ehes último ítem Itemde dala lista geralgeneral ouo sesi ehes novonuevo itemítem de Naturezaorigen
            lNewNt := (nI == Len(aVetorRat[1])) .Or. (aVetorRat[1][Ni+1][nPosNt][2] <> cNat)

            //-- SeSi ehes novonuevo itemítem ouo oel último de dala lista, concluifinaliza ala Inclusãoinclusión dodel Rateioprorrateo dadel Naturezaorigen atualactual.
            If lNewNt
                AAdd(aRatNt,{"AUTRATEICC", aLstRatCc, Nil })
                AAdd(aRatNtCc,AClone(aRatNt))
                FwFreeArray(aRatNt)
                aRatNt := {}
                FwFreeArray(aRatCc)
                aRatCc := {}
                FwFreeArray(aLstRatCc)
                aLstRatCc := {}
            EndIf
        Next nI
		//-- Fim 

		//-- ExecuçãoEjecución dodel Adapter por Rotinarutina Automáticaautomática.
        MsExecAuto({ |x,y,z,a| FINA040(x,y,z,a)},aClone(aTitulo),3,,aClone(aRatNtCc))

		//-- TratamentoTratamiento para oel caso de erroserrores
        If lMsErroAuto
            MOSTRAERRO()
        EndIf
    EndIf

Return !lMsErroAuto

05. 

...

EJEMPLO DE

...

ARCHIVO DE

...

IMPORTACIÓN - TXT

Bloco de código
languagetext
themeMidnight
E1;D MG 01;GRV;MILE00001;C;NF;001;001;01;20230113;20230113;1000;1
NTCC;000003;000001;500;100
NTCC;000001;000002;500;100
E1;D MG 01;GRV;MILE00001;D;NF;001;001;01;20230113;20230113;1000;1
NTCC;000003;000001;250;50
NTCC;000003;000002;250;50
NTCC;000001;000002;500;100
E1;D MG 01;GRV;MILE00001;E;NF;001;001;01;20230113;20230113;1000;1
NTCC;000003;000001;500;100
NTCC;000001;000001;250;50
NTCC;000001;000002;250;50

06.

...

EEJEMPLO DE

...

ARCHIVO LAYOUT

...

IMPORTACIÓN - XML

View file
page
namefina040.xmlFINA040 Importação via Mile de Contas a Receber - Modelo para Rateio de Multiplas Naturezas X Centro de Custo
spaceLMPESP
height250

Card documentos
InformacaoO arquivo de importação deverá ser criado conforme as regras definidas no cadastro do Mile.
TituloIMPORTANTE¡IMPORTANTE!

07.

...

TABLAS UTILIZADAS

    • SE1 -
  • Contas a Receber
    • Cuentas por cobrar
    • SEV -
  • Múltiplas Naturezas
    • Múltiples orígenes por
  • Título
    • título
    • SEZ - Distrib de
  • Naturezas em
    • orígenes en CC

08.

...

ASUNTOS RELACIONADOS

MILE - Model Integrator Layout Engine

...