Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Aviso
titleImportante

Para atender uma legislação específica do estado do Rio Grande do Sul - RS (IN 45/98,), onde é necessário gerar mais de 1 H020 parao mesmo H010, agrupando  agrupando as informações de acordo com o Código de Situação Tributária - CST. Esse Ponto de Entrada também foi adaptado, portanto é possível gerar mais de 1 H020. 

...

Nome

Tipo

Descrição


Array of Record

Retorna um Array com as informações dos campos para compor o registro H020.

Importante:

É necessário que já exista um registro H010.

04. EXEMPLO DE UTILIZAÇÃO

Código de exemplo gerando somente 1 H020 para cada H010.

Bloco de código
languagejava
themeMidnight
firstline1
titleSPED1601SPEDH020
linenumberstrue
collapsetrue
#include "totvs.ch"

User Function SPEDH020()
	Local aRet := {}
	Local nPos := 0
	Local cProduto := PARAMIXB[1]

	dbSelectArea("SB1")
	SB1->(dbSetOrder(1))


	If SB1->(MsSeek( xFilial("SB1") + cProduto))
		aAdd(aRet,{})
		nPos := Len(aRet)
		aAdd(aRet[nPos], "010"	) // CST ICMS
		aAdd(aRet[nPos], 10.00	) // Base de cálculo do ICMS (Unitário)
		aAdd(aRet[nPos],  1.80	) // Valor do ICMS (Unitário)
	EndIf

Return aRet


Código de exemplo gerando mais de 1 H020 para cada H010 (Estado do Rio Grande do Sul - RS).


Bloco de código
languagejava
themeMidnight
firstline1
titleSPEDH020
linenumberstrue
collapsetrue
#Include "PROTHEUS.CH"

User Function SPEDH020()
	Local aRet 		:= {}
	Local nPos		:= 0
	Local nI		:= 1
	Local cProduto 	:= PARAMIXB[1]
	Local cMotInv 	:= PARAMIXB[2]

	dbSelectArea("SB1")
	SB1->(dbSetOrder(1))

	For nI = 1 To 2 // Será enviado 2 H020 para cada H010, mudando o CST do primeiro para 010 e do segundo para 000
		If SB1->(MsSeek( xFilial("SB1") + cProduto))
			Aadd(aRet,{})
			nPos := Len(aRet)
			Aadd(aRet[nPos], IIF(nI == 1,"010","000")) 	// CST ICMS
			Aadd(aRet[nPos], 100.00) 					// Base de cálculo do ICMS (Unitário)
			Aadd(aRet[nPos], 18.00)  					// VAlor do ICMS (Unitário)			

			If cMotInv == "01" // Deve possuir esse código para garantir que não será gerado mais de 1 H020 para o Motivo = 01 - No Final do Período, pois causa problemas no validador da GIA-RS
				Exit 
			EndIf
		EndIF
	Next

Return aRet




05. DEMAIS INFORMAÇÕES

...