Árvore de páginas

01. DATOS GENERALES


Producto

TOTVS Backoffice

Línea de producto: 

Línea Protheus

Segmento:

Backoffice

Módulo:SIGAFIS - Libros Fiscales
Función:

Rutina

Nombre

FISA828.PRW

Pre-liquidaciones.

FIS828GRVFIN.PRWGeneración de documentos fiscales.
ARGWSLPEG.PRWTransmisión de liquidaciones.
Ticket:
Requisito/Story/Issue (informe el requisito vinculado):DMICNS-10044


02. SITUACIÓN/REQUISITO

Se realiza mantenimiento a las rutinas de liquidaciones para poder realizar testes automatizados y utilizar rutinas automáticas.

03. SOLUCIÓN

Se modificaron las rutinas "FISA828", "FIS828GRVFIN" y "ARGWSLPEG" para permitir automatización y rutinas automáticas.


//Ejemplo

User function LiqPrim()
Local oMdlTab
Local cEspecie := "1" //1 - Pagar, 2 - recibir
Local cLiquid := "1" //1 - Primaria, 2 - Secundaria
Local cTipLiq := "1" //1 - Parcial, 2 - Final, 3 - Total

        oMdlTab := FwLoadModel("FISA828")

//Operación a realizar
oMdlTab:SetOperation(MODEL_OPERATION_INSERT)


oMdlTab:Activate()
oMdlTab:SetValue('NJC_MASTER', 'NJC_PTOEMI', "0001" )
oMdlTab:SetValue('NJC_MASTER', 'NJC_PROVEN', "BA" )
oMdlTab:SetValue('NJC_MASTER', 'NJC_PROPRO', "00001 " )
oMdlTab:SetValue('NJC_MASTER', 'NJC_TIPO ', cTipLiq )
oMdlTab:SetValue('NJC_MASTER', 'NJC_TPLIQ ', cLiquid )
oMdlTab:SetValue('NJC_MASTER', 'NJC_ESPLIQ', cEspecie )

oMdlTab:SetValue('NJC_MASTER', 'NJC_PROVOR', "BA" )
oMdlTab:SetValue('NJC_MASTER', 'NJC_VENDED', "000001" ) //Código del proveedor
oMdlTab:SetValue('NJC_MASTER', 'NJC_LOJAVE', "01" ) //Loja del proveedor
oMdlTab:SetValue('NJC_MASTER', 'NJC_REMITO', "140120210001" ) //Número del remito a ser usado 
oMdlTab:SetValue('NJC_MASTER', 'NJC_SERREM', "R " ) //Serie del remito a ser usado para la carga
oMdlTab:SetValue('NJC_MASTER', 'NJC_DATAFP', ddatabase )

oMdlTab:SetValue('NJC_MASTER', 'NJC_ACTCOR', "2" )
oMdlTab:SetValue('NJC_MASTER', 'NJC_LIQCOR', "2" )
oMdlTab:SetValue('NJC_MASTER', 'NJC_CORRED', "000001" ) //Codigo del corredor
oMdlTab:SetValue('NJC_MASTER', 'NJC_LOJCOR', "01" ) //Tienda del corredor

//Función para completar la información a partir del remito.
F828auto()

If oMdlTab:VldData()
      oMdlTab:CommitData()
      MsgInfo("Registro insertado con éxito.")
EndIf

oMdlTab:DeActivate()

Return

//Ejemplo

User function LiqSec()
Local oMdlTab
Local cEspecie := "2" //1 - Pagar, 2 - recibir
Local cLiquid := "2" //1 - Primaria, 2 - Secundaria
Local cTipLiq := "1" //1 - Parcial, 2 - Final, 3 - Total


oMdlTab := FwLoadModel("FISA828")

oMdlTab:SetOperation(MODEL_OPERATION_INSERT)
oMdlTab:Activate()
oMdlTab:SetValue('NJC_MASTER', 'NJC_PTOEMI', "0001" )
oMdlTab:SetValue('NJC_MASTER', 'NJC_PROVEN', "BA" )
oMdlTab:SetValue('NJC_MASTER', 'NJC_PROPRO', "00001 " )
oMdlTab:SetValue('NJC_MASTER', 'NJC_TIPO ', cTipLiq )
oMdlTab:SetValue('NJC_MASTER', 'NJC_TPLIQ ', cLiquid )
oMdlTab:SetValue('NJC_MASTER', 'NJC_ESPLIQ', cEspecie )

oMdlTab:SetValue('NJC_MASTER', 'NJC_PROVOR', "BA" )
oMdlTab:SetValue('NJC_MASTER', 'NJC_CODPRO', "000001" ) //Código del cliente
oMdlTab:SetValue('NJC_MASTER', 'NJC_TIENDA', "01" ) //Tienda del cliente
oMdlTab:SetValue('NJC_MASTER', 'NJC_REMITO', "000100000029" ) //Número del remito a ser usado
oMdlTab:SetValue('NJC_MASTER', 'NJC_SERREM', "R " ) // Serie del remito a ser usado
oMdlTab:SetValue('NJC_MASTER', 'NJC_DATAFP', ddatabase )

oMdlTab:SetValue('NJC_MASTER', 'NJC_ACTCOR', "2" )
oMdlTab:SetValue('NJC_MASTER', 'NJC_LIQCOR', "2" )
oMdlTab:SetValue('NJC_MASTER', 'NJC_CORRED', "000001" ) //Código del corredor
oMdlTab:SetValue('NJC_MASTER', 'NJC_LOJCOR', "01" ) //Tienda del corredor

//Función para completar la información a partir del remito.
F828auto()

If oMdlTab:VldData()
       oMdlTab:CommitData()
       MsgInfo("Registro insertado con éxito.")
EndIf

oMdlTab:DeActivate()

Return

//Ejemplo

User Function CalcLiq()
Local oMdlTab

oMdlTab := FwLoadModel("FISA828")

// Busqueda de liquidación 000000000001 para alterar
If NJC->(MsSeek(xFilial("NJC")+"000000000001",.T.))

      oMdlTab:SetOperation(MODEL_OPERATION_UPDATE)
      oMdlTab:Activate()

      //Función de calculo de impuestos
      Fis828Cal()

      If oMdlTab:VldData()
            oMdlTab:CommitData()

            MsgInfo("Registro insertado con éxito.")
      EndIf
      oMdlTab:DeActivate()
EndIf

Return


04. INFORMACIÓN ADICIONAL

Documentos técnicos relacionados a las liquidaciones:

https://tdn.totvs.com/x/naGFI

https://tdn.totvs.com/x/60zoI


¡IMPORTANTE!

Si no es usada la función F828auto() para completar la información, será necesario informar todos los datos necesarios incluyendo los datos de las operaciones/deducciones de la tabla NL4.


 La funcionalidad Liquidación de granos del módulo Fiscal quedará descontinuada el 01/07/2024,  para mayor detalle consultar el siguiente enlace:

https://centraldeatendimento.totvs.com/hc/pt-br/articles/18371290987543-Aviso-de-descontinuaci%C3%B3n-de-Liquidaci%C3%B3n-de-granos-L%C3%ADnea-Protheus


05. ASUNTOS RELACIONADOS

  • No aplica