SPED CONTRIBUIÇÕES - CRIAÇÃO DO PONTO DE ENTRADA SPDF120
Linha de Produto: | Microsiga Protheus |
Segmento: | Servicos |
Módulo: | SIGAFIS - Livros Fiscais |
Função: | FISA001 |
Situação/Requisito: | Solicitação de implementação de ponto de entrada para geração do registro F120 do sped contribuições |
Solução/Implementação: | Criação do ponto de entrada SPDF120 |
Chamados relacionados: | TUGTA1 |
Versão Expedida: | Informe o requisito relacionado. |
Ponto de Entrada
Descrição: | Registro F120 Sped Contribuições | ||||||||
Localização: | FISA001 | ||||||||
Eventos: | SPDF120 | ||||||||
Programa Fonte: | FISA001 | ||||||||
Função: | A001F120 | ||||||||
Retorno: |
|
Exemplo:
#include 'totvs.ch'
user Function SPDF120()
Local aStru := {}
Local aRet := {}
Local cArqAtiv := "ATI"
Local cArqATI := ""
Local dDatade := PARAMIXB[1] //Parametro passado na chamado do PE - DataDe (Wizard)
Local dDataate := PARAMIXB[2] //Parametro passado na chamado do PE - DataAte (Wizard)
AADD(aStru,{"BEM" ,"C" ,TamSx3("N4_CBASE")[1],0})
AADD(aStru,{"ITEM" ,"C" ,TamSx3("N4_ITEM")[1],0})
AADD(aStru,{"DESCRI" ,"C" ,TamSx3("N1_DESCRIC")[1],0})
AADD(aStru,{"BASE" ,"N" ,013,2})
AADD(aStru,{"VRET" ,"N" ,013,2})
AADD(aStru,{"DTAPR" ,"D" ,008,0})
AADD(aStru,{"NATBCCRED" ,"C" ,002,0})
AADD(aStru,{"INDBEMIMOB" ,"C" ,002,0})
AADD(aStru,{"INDORIGCRD" ,"C" ,001,0})
AADD(aStru,{"INDUTILBEM" ,"C" ,001,0})
AADD(aStru,{"CSTPIS" ,"C" ,002,0})
AADD(aStru,{"VLRBCEXC" ,"N" ,018,2})
AADD(aStru,{"VLRBCPIS" ,"N" ,018,2})
AADD(aStru,{"ALIQPIS" ,"N" ,008,4})
AADD(aStru,{"VLRPIS" ,"N" ,018,2})
AADD(aStru,{"CSTCOFINS" ,"C" ,002,0})
AADD(aStru,{"VLRBCCOFIN" ,"N" ,018,2})
AADD(aStru,{"ALIQCOFINS" ,"N" ,008,4})
AADD(aStru,{"VLRCOFINS" ,"N" ,018,2})
AADD(aStru,{"CODCONTA" ,"C" ,TamSx3("N3_CCONTAB")[1],0})
AADD(aStru,{"CODCCUSTO" ,"C" ,TamSx3("N3_CCUSTO")[1],0})
AADD(aStru,{"DESCBEMIMO" ,"C" ,250,0})
AADD(aStru,{"NOTAFISCAL" ,"C" ,Len(SN1->N1_NFISCAL),0})
AADD(aStru,{"SERIE" ,"C" ,Len(SN1->N1_NSERIE),0})
AADD(aStru,{"FORNECEDOR" ,"C" ,Len(SN1->N1_FORNEC),0})
AADD(aStru,{"LOJA" ,"C" ,Len(SN1->N1_LOJA ),0})
AADD(aStru,{"NUMPRO" ,"C" ,10,0})
AADD(aStru,{"INDPRO" ,"C" ,1,0})
cArqATI := CriaTrab(aStru)
dbUseArea(.T.,__LocalDriver,cArqATI,cArqAtiv)
IndRegua(cArqAtiv,cArqATI,"BEM+ITEM+DTOS(DTAPR)")
AADD(aRet,{cArqATI,cArqAtiv}) //Array de duas posições que será retornado para função A001F120 do FISA001
RecLock(cArqAtiv,.T.)
(cArqAtiv)->BEM := "MEU_BEM"
(cArqAtiv)->ITEM := "MEU_ITEM"
(cArqAtiv)->DESCRI := "MINHA DESCRIÇÃO"
(cArqAtiv)->DTAPR := dDatade
(cArqAtiv)->NATBCCRED := "01"
(cArqAtiv)->INDBEMIMOB := "15"
(cArqAtiv)->INDORIGCRD := "90"
(cArqAtiv)->INDUTILBEM := "02"
(cArqAtiv)->CSTPIS := "01"
(cArqAtiv)->ALIQPIS := 0.65
(cArqAtiv)->CSTCOFINS := "01"
(cArqAtiv)->ALIQCOFINS := 3
(cArqAtiv)->CODCONTA := "123"
(cArqAtiv)->CODCCUSTO := "123"
(cArqAtiv)->DESCBEMIMO := "DESC_BEM"
(cArqAtiv)->BASE := 1000
(cArqAtiv)->VRET := 18
(cArqAtiv)->VLRBCEXC := 0
(cArqAtiv)->VLRBCPIS := 1000
(cArqAtiv)->VLRPIS := 30
(cArqAtiv)->VLRBCCOFIN := 1000
(cArqAtiv)->VLRCOFINS := 65
(cArqAtiv)->NOTAFISCAL := "000000001"
(cArqAtiv)->SERIE := "1"
(cArqAtiv)->FORNECEDOR := "SP"
(cArqAtiv)->LOJA := "01"
(cArqAtiv)->NUMPRO := "001"
(cArqAtiv)->INDPRO := "01"
MsUnLock()
Return(aRet)