Histórico da Página
01. DADOS GERAIS
| Linha de Produto: | Microsiga Protheus® |
|---|---|
| Segmento: | Backoficce |
| Módulo: | Fiscal |
02. DESCRIÇÃO
Ponto de Entrada utilizado para geração do Registro A110 e/ou Registro C110 de forma alternativa as regras existentes no parâmetro MV_SPDIFC, automaticamente será gerado um registro 0450 referente ao código de Informação Complementar utilizado e para a geração do TXT_COMPL do 0450 será considerado o conteúdo do campo CEECCE_ utilizado
| Aviso | ||
|---|---|---|
| ||
Para composição do campo 03-TXT_COMPL, tanto para o registro A110 quanto para o registro C110, é utilizada a configuração do parâmetro MV_SPDIFC conforme abaixo: 0 – Utiliza conteúdo do campo Texto Complementar (CCE_DESCR) correspondente (mesmo texto do campo 03 do registro 0450). 1 – Utiliza conteúdo do campo Desc. Compl. (CDT_DCCOMP) do registro de Informações Complementares (texto variável) ou do campo Desc. Compl. (CDC_DCCOMP) caso o campo CDT_DCCOMP não esteja preenchido. 2 – Utiliza conteúdo do campo preenchido no cabeçalho da nota fiscal (para entrada F1_MENNOTA; para saída F2_MENNOTA). |
03. ESPECIFICAÇÃO
Parâmetros do ponto de entrada
Nome | Tipo | Descrição |
|---|---|---|
| PARAMIXB | Array of Record | Array com os dados de processamento com elementos [2] - FT_SERIE [3] - FT_CLIEFOR [4] - FT_LOJA [5] - FT_ENTRADA [6] - Indica se a operação é de Entrada (1) ou Saída (2) |
Retorno
Nome | Tipo | Descrição |
|---|---|---|
| Array of Record | Posição 1 - Código da Informação Complementar Posição 2 - Descritivo da Informação Complementar Posição 3 - Registro a ser processado A110 / C110 |
| Aviso | ||
|---|---|---|
| ||
Caso não informado a posição 3 de retorno, será considerado o C110 por padrão. |
04. EXEMPLO DE UTILIZAÇÃO
O exemplo abaixo é exemplificativo para preenchimento do Registro A110 - Informações de Complemento das Notas Fiscais de Serviço e Registro C110 - Informações de Complemento das Notas Fiscais (Modelo 01, 1B, 04 e 55).
...
| Bloco de código | ||||||
|---|---|---|---|---|---|---|
| ||||||
#Include "Totvs.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] //Entrada (1) /Saída (2)
Local cChave := ""
Local nX := 0
Local aRetorno := {} // Retorno do Ponto de Entrada
Local aAreaSFT := SFT->(GetArea())
SFT->(dbSetOrder(2))
If cEntSai == "E"1" //1 = Entrada
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
If IsInCallStack("SPEDFISCAL") // Para o SPED Fiscal retorna apenas 2 posições no array:
aAdd(aRetorno,{ "00A110000001",; //02 - COD_INF
"INFORMACOES COMPLEMENTARES - PE - Docto Fiscal " + SFT->FT_NFISCAL ,;}) //03 - TXT_COMPL
Else //EFD Contribuições, retorna com 3 posições
aAdd(aRetorno,{ "00A110",; //02 - COD_INF
"INFORMACOES COMPLEMENTARES - PE - Docto Fiscal " + SFT->FT_NFISCAL ,; //03 - TXT_COMPL
"A110"}) // Registro a ser processado
Endif
Elseif nX == 2
If IsInCallStack("SPEDFISCAL") // Para o SPED Fiscal retorna apenas 2 posições no array:
aAdd(aRetorno,{ "00C110000001",; //02 - COD_INF
"INFORMACOES COMPLEMENTARES - PE - Docto Fiscal " + SFT->FT_NFISCAL }) //03 - TXT_COMPL
Else //EFD Contribuições, retorna com 3 posições
aAdd(aRetorno,{ "00C110",; //02 - COD_INF
"INFORMACOES COMPLEMENTARES - PE - Docto Fiscal " + SFT->FT_NFISCAL ,; //03 - TXT_COMPL
"C110"}) // Registro a ser processado
Endif
Endif
Next nX
Endif
RestArea(aAreaSFT)
Return aRetorno |
05. DEMAIS INFORMAÇÕES
- Não há.
06. ASSUNTOS RELACIONADOS
...