01. DATOS GENERALES


Línea de producto:Microsiga Protheus®
Segmento:Servicios
Módulo:Fiscal

02. DESCRIPCIÓN

Punto de entrada para modificación del punto de entrada SPDPISTR, para permitir la generación de los registros

  • D350 - Resumen diario del comprobante fiscal emitido por ECF (Códigos 2E, 13,14, 15 y 6)
  • D359 - Proceso referido
  • 1010 - Proceso referido – Acción judicial 
  • 1020 - Proceso referido – Proceso administrativo 

El mecanismo de este punto de entrada se parece con SPDPIS09 utilizado en SPED PIS COFINS, devolviendo las informaciones que se generarán en arrays.

03. ESPECIFICACIÓN

Parâmetros do ponto de entrada:

Parámetro

Descripción

Tipo

Descripción

PARAMIXB[1]cFilial

Carácter

cAlias = Alias

PARAMIXB[2]dDataDe

Fecha

Fecha inicial del procesamiento

PARAMIXB[3]dDataAte

Fecha

Fecha final del procesamiento


Devolución:

Nombre

Tipo

Descripción

Alcance

Puede modificar

aRegD350Array of Record

La devolución debe devolver valor Nulo.

GlobalNo
aRegD359Array of Record

La devolución debe devolver valor Nulo.

GlobalNo
aReg1010Array of Record

La devolución debe devolver valor Nulo.

GlobalNo
aReg1020Array of Record

La devolución debe devolver valor Nulo.

GlobalNo



04. EJEMPLO DE UTILIZACIÓN
SPEDREGD

#include "rwmake.ch"
#include "Topconn.ch"
#include "protheus.ch"
 
User Function SPDPisTr()       
Local cFilial   := ParamIXB[1]                                             
Local dDataDe   := ParamIXB[2
Local dDataAte  := ParamIXB[3
Local aRegD350  := {}      
Local nPosD350  :=  0
Local aRegD359  := {}  
Local nPosD359  :=  0
Local aConta    := {}  
Local aReg1010  := {}
Local nPos1010  :=  0
Local aReg1020  := {}  
Local nPos1020  :=  0 
Local l400      := .F.
 
 
// Cumplimentación del Registro D350 - Resumen diario de comprobante fiscal emitido por ECF - (Código: 2E, 13, 14, 15 y 16)
nPosD350 := 1
aAdd(aRegD350, {}) 
nPos := Len(aRegD350)  
aAdd (aRegD350[nPosD350], "D350"                    )       //01 - REG 
aAdd (aRegD350[nPosD350], "2E"                      )       //02 - COD_MOD 
aAdd (aRegD350[nPosD350], "BM MP20"                 )       //03 - ECF_MOD 
aAdd (aRegD350[nPosD350], "BE050975610005005601"    )       //04 - ECF_FAB 
aAdd (aRegD350[nPosD350], dDataBase                 )       //05 - DT_DOC  
aAdd (aRegD350[nPosD350], "010"                     )       //06 - CRO 
aAdd (aRegD350[nPosD350], "000056"                  )       //07 - CRZ 
aAdd (aRegD350[nPosD350], "000999"                  )       //08 - NUM_COO_FIN 
aAdd (aRegD350[nPosD350], 100                       )       //09 - GT_FIN  
aAdd (aRegD350[nPosD350], 100                       )       //10 - VL_BRT  
aAdd (aRegD350[nPosD350], "01"                      )       //11 - CST_PIS 
aAdd (aRegD350[nPosD350], 100                       )       //12 - VL_BC_PIS   
aAdd (aRegD350[nPosD350], 1.65                      )       //13 - ALIQ_PIS
aAdd (aRegD350[nPosD350], ""                        )       //14 - QUANT_BC_PIS
aAdd (aRegD350[nPosD350], ""                        )       //15 - ALIQ_PIS_QUANT  
aAdd (aRegD350[nPosD350], 1.65                      )       //16 - VL_PIS  
aAdd (aRegD350[nPosD350], "01"                      )       //17 - CST_COFINS  
aAdd (aRegD350[nPosD350], 100                       )       //18 - VL_BC_COFINS
aAdd (aRegD350[nPosD350], 7.60                      )       //19 - ALIQ_COFINS 
aAdd (aRegD350[nPosD350], ""                        )       //20 - QUANT_BC_COFINS 
aAdd (aRegD350[nPosD350], ""                        )       //21 - ALIQ_COFINS_QUANT   
aAdd (aRegD350[nPosD350], 7.60                      )       //22 - VL_COFINS
aAdd (aRegD350[nPosD350], "000101"                  )       //23 - COD. CONTA.  // *** En este campo debe informarse el Cód. de la Cuenta (Genera el registro 0500 con base en la CT1) o
                                                                                // Crear un array, con informaciones del plan de cuenta para generar 0500 con base en estas informaciones
                                                                                // aConta := {  "0500",dDataBase,"09","S",00001,"1234567","CUENTA CONTABLE", "",0}
                                                                                // aAdd (aRegD350[nPos], aConta )   //23 - COD_CTA                         
 
If l400        
    aAdd (aRegD350[nPos], "4311"                    )       //24 - Tab. Cód. Mod. Ing.         
    aAdd (aRegD350[nPos], "101"                     )       //25 - Cód. Mod. Ing.      
    aAdd (aRegD350[nPos], ""                        )       //26 - Grupo       
    aAdd (aRegD350[nPos], ""                        )       //27 - Fecha final        
EndIf  
 
 
// Cumplimentación del Registro D359 - Proceso referido
 
aAdd(aRegD359, {})
nPosD359 := 0
aAdd(aRegD359, {})
nPosD359 := Len(aRegD359)                                   // *** ATENCIÓN - La primera posición de este array debe ser la referencia del registro principal D350     
aAdd (aRegD359[nPosD359], Len(aRegD350)             )       // REFERENCIA REGISTRO PRINCIPAL D350 - NUMÉRICO                         
aAdd (aRegD359[nPosD359], "D359"                    )       //01 - REG 
aAdd (aRegD359[nPosD359], "11234567"                )       //02 - NUM_PROC        
aAdd (aRegD359[nPosD359], "9"                       )       //03 - IND_PROC
 
 
// Cumplimentación del Registro 1010 - Proceso referido – Acción judicial
 
aAdd (aReg1010, {})
nPos1010 := Len(aReg1010)      
aAdd (aReg1010[nPos1010], "1010"                   )        //01 - REG 
aAdd (aReg1010[nPos1010], "101"                    )        //02 - NUM_PROC
aAdd (aReg1010[nPos1010], "001"                    )        //03 - IND_SEC_JUD 
aAdd (aReg1010[nPos1010], "AB"                     )        //04 - IND_VARA
aAdd (aReg1010[nPos1010], "99"                     )        //05 - IND_NAT_ACAO
aAdd (aReg1010[nPos1010], "Teste "                 )        //06 - DESC_DEC_JUD
aAdd (aReg1010[nPos1010], dDataBase                )        //07 - DT_SENT_JUD            
 
 
// Cumplimentación del Registro 1020 - Proceso referido – Proceso administrativo
 
aAdd (aReg1020, {})
nPos1020 := Len(aReg1020)      
aAdd (aReg1020[nPos1020], "1020")                           //01 - REG 
aAdd (aReg1020[nPos1020], "012")                            //02 - NUM_PROC
aAdd (aReg1020[nPos1020], "99")                             //03 - IND_SEC_JUD 
aAdd (aReg1020[nPos1020], dDataBase)                        //04 - DT_SENT_JUD       
 
//DEVOLUCIÓN DEL PUNTO DE ENTRADA: 
// La devolución debe ser un Array[4] siendo:
// [1] - Array con movimientos D350
// [2] - Array con movimientos D359
// [3] - Array con movimientos 1010
// [4] - Array con movimientos 1020
 
Return {aRegD350,aRegD359,aReg1010,aReg1020} 


05. OTRAS INFORMACIONES

Sin más informaciones.