Page tree

Ponto-de-Entrada: SPDPISIC - Informações Complementares - Registro C110

Abrangências:Microsiga Protheus 11 - 12
Versões:Microsiga Protheus 11 - 12
Compatível Países:Brasil
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Idiomas:Português (Brasil)


Descrição:

Ponto de Entrada utilizado para gerar o registro C110 de forma alternativa à tabela CDT (Complementos Fiscais).Automaticamente será gerado um registro 0450 referente ao código de Informação Complementar utilizado.


Programa Fonte
SPEDFISCAL.PRW


Sintaxe
SPDPISIC - Informações Complementares - Registro C110 ( [ PARAMIXB[1] ], [ PARAMIXB[2] ], [ PARAMIXB[3] ], [ PARAMIXB[4] ], [ PARAMIXB[5] ], [ PARAMIXB[6] ] ) -> aRetorno


Importante

Ao gerar o registro C110, será realizada a seguinte análise:

-Primeiramente, avalia-se o PE está implementado;

-Caso esteja, e o retorno não for vazio, considera seu retorno;

-Caso o retorno do PE seja vazio, analisa a tabela CDT;

-Caso o PE não esteja implementado, analisa diretamente a tabela CDT.

 

Parâmetros:



Nome

Tipo

Descrição

Default

Obrigatório

Referência

PARAMIXB[1]

Caracter

FT_NFISCAL










PARAMIXB[2]

Array of Record

FT_SERIE










PARAMIXB[3]

Array of Record

FT_CLIEFOR










PARAMIXB[4]

Array of Record

FT_LOJA










PARAMIXB[5]

Array of Record

FT_ENTRADA










PARAMIXB[6]

Array of Record

Indica se operação é de entrada ou saída.











Retorno
                aRetorno

    (array_of_record)
  • Retorna, em cada dimensão do array, um registro C110 a ser criado em referência a nota fiscal que está sendo processada



Exemplo

#INCLUDE "PROTHEUS.CH"
#INCLUDE "RWMAKE.CH"

User Function SPDPISIC()
Local cDoc := PARAMIXB[1] //FT_NFISCAL
Local cSerie := PARAMIXB[2] //FT_SERIE
Local cFornec := PARAMIXB[3] //FT_CLIEFOR
Local cLoja := PARAMIXB[4] //FT_LOJA
Local dEntr := PARAMIXB[5] //FT_ENTRADA
Local cEntSai := PARAMIXB[6] //Entr/Saida
Local cChave := ""
Local nX := 0
Local aRetorno := {}
Local aAreaSFT := SFT->(GetArea())

If cEntSai == "1"
cChave := xFilial("SFT")+"E"+DTOS(dEntr)+cSerie+cDoc+cFornec+cLoja
Else
cChave := xFilial("SFT")+"S"+DTOS(dEntr)+cSerie+cDoc+cFornec+cLoja
Endif

If SFT->(DbSeek(cChave))

For nX := 1 To 2

If nX == 1
aAdd(aRetorno,{ "000001",; //02 - COD_INF
"INFORMACOES COMPLEMENTARES"}) //03 - TXT_COMPL
Elseif nX == 2
aAdd(aRetorno,{ "000005",; //02 - COD_INF
"INFORMACOES COMPLEMENTARES 2"}) //03 - TXT_COMPL
Endif
Next nX
Endif


ALERT("1")

RestArea(aAreaSFT)
Return aRetorno


Variáveis



Nome

Tipo

Escopo

Pode Alterar

descrição




Array of Record

Global

Não



  • No labels