01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|
Segmento: | Serviços |
Módulo: | Fiscal |
Programa: | SPEDFISCAL |
02. VISÃO GERAL
Este ponto de entrada possibilita a alteração dos seguintes campos do registro C100 do SPED IPI/ICMS:
- 13 - IND_PGTO (Indicador do tipo de pagamento);
- 17 - IND_FRT (Indicador do tipo de frete) e/ou
- 03 - IND_EMIT (Indicador do emitente do documento fiscal).
03. ESPECIFICAÇÃO
Parâmetros do ponto de entrada
Nome | Tipo | Descrição | Obrigatório |
---|
PARAMIXB | Array of Record | [1] = Alias da tabela temporária de processamento do SPED [2] = Array contendo dados do documento final [3] = Array contendo dados para gravação do registro C100 do Sped Fiscal. | X |
Retorno
Nome | Tipo | Descrição |
---|
aRet | Array | Array com as informações aRet [01] = Indicação de pagamento aRet [02] = Indicador do tipo do frete aRet [03] = Indicador do emitente do documento fiscal |
04. EXEMPLO DE UTILIZAÇÃO
Exemplo 1: Alterando apenas os campos 13 - IND_PGTO e 17 - IND_FRT
#Include "Protheus.ch"
#Include "TopConn.ch"
User Function SPDFIS05()
Local cAlias := ParamixB[1]
Local aDoc := ParamixB[2]
Local aC100 := ParamixB[3]
Local cIndpagto := ""
Local cIndfrt := ""
//conteudo do array do documento fiscal
//01-docto fiscal
//02-serie nf
//03-cliente/fornecedor
//04-codigo loja
//05-data docto
//06-data emissao
//07-data cancelamento
//08-formulario proprio
//09-CFOP
//10-vazio
//11-aliquota ICMS
//12-numero PDV
//13-base ICMS
//14-aliquota ICMS
//15-valor ICMS
//16-valor isento ICMS
//17-outros ICMS
//18-ICMS retido ST
//19-conta contabil
//20-tipo lancto
//21-tipo frete
//22-filial
//23-estado
//24-observacao
//25-chave NFE
//26-tipo emissao
//27-prefixo
//28-duplicata
//29-cupom fiscal
//30-transportadora
//31-peso bruto
//32-peso liquido
//33-veiculo 1
//34-veiculo 2
//35-veiculo 3
//36-optante pelo simples nacional
//37-regime Paraiba
//38-NF original
//39-serie nf original
If (cAlias)->FT_NFISCAL == "000000001"
cIndpagto := "0"
cIndfrt := "0"
Endif
Return {cIndpagto,cIndfrt}
Exemplo 2: Alterando apenas o campo 03 - IND_EMIT
#Include "Protheus.ch"
#Include "TopConn.ch"
User Function SPDFIS05()
//Local cAlias := ParamixB[1]
Local aDoc := ParamixB[2]
Local aC100 := ParamixB[3]
Local aRet := {}
Local nPos := Len(aC100)
aAdd(aRet, aC100[nPos][13]) //mantém-se o valor já informado para o campo 13-IND_PGTO
aAdd(aRet, aC100[nPos][17]) //mantém-se o valor já informado para o campo 17-IND_FRT
If aC100[nPos][6] == "08" .And.; // 06 - COD_SIT
aDoc[3] == "SP0001" .And.; // Cliente
aDoc[4] == "01" .And.; // Loja
AllTrim(aDoc[9]) == "5101" // CFOP
aAdd(aRet, "1") //altera o valor que será apresentado no campo 03-IND_EMIT
Endif
Return aRet
Não há.