GFEA1186 - Possibilita alterar o tipo da tributação para empresas no regime do simples nacional

Características do Requisito

Linha de Produto:

Protheus

Segmento:

Supply Chain - Logística

Módulo:

SIGAGFE

Ponto de Entrada - GFEA1186

Descrição:

Tem por objetivo permitir alterar o tipo da tributação das transportadoras no regime Simples Nacional. 

Recebe o conteúdo parcial do XML, a partir da tag <CTe> e também o tipo de tributação do CT-e carregado pelo produto padrão.

Localização:

Será executado na importação do CT-e.

Programa Fonte:

GFEA118 - Importação de CT-e

Parâmetros:

NomeTipoDescriçãoObrigatório
PARAMIXB[1]ArrayObjeto parcial do XML, a partir da tag <CTe>.Sim
PARAMIXB[2]CaracterPosição 13 do array aGXG contendo o tipo de tributaçãoSim

Retorno:

NomeTipoDescriçãoObrigatório
lRetCaracter

Variável contendo o tipo de tributação do CT-e

Sim

 

User Function GFEA1186()
	Local cGXG_13   := PARAMIXB[1]
    Local oCte      := PARAMIXB[2]
	Local cXCaracAd := ""
	Local UFEmit    := If( oCte != "",U_XmlValid( oCte,{"_INFCTE","_EMIT","_ENDEREMIT"},"_UF",.F.), "")
    Local cTipTrib  := cGXG_13
	
	If XmlValid(oCTe , {"_INFCTE","_IMP","_ICMS","_ICMSSN"} , '' , .T. ) == 'ICMSSN'
        If UFEmit == "RS"
            cTipTrib := "2" //isento
        EndIf
    EndIf

Return cTipTrib

User Function XmlValid(oTEMP,aNode,cTag,lREALNAME)
	Local nCont
	Private oXML := oTEMP
	Default lREALNAME := .F.
	//Navega dentro do objeto XML usando a variavel aNode como base, retornando o conteudo do TEXT ou o
	For nCont := 1 to Len(aNode)
		If ValType( XmlChildEx( oXML,aNode[nCont]  ) ) == 'O'
			oXML :=  XmlChildEx( oXML,aNode[nCont]  )
		Else
			Return
		Endif
		If nCont == Len(aNode)
			If !lREALNAME
				cReturn := &("oXML:"+cTag+':TEXT')
				Return cReturn
			Else
				cReturn := &("oXML:REALNAME")
				Return cReturn
			Endif
		EndIf
	Next nCont
	FreeObj(oXML)
	FreeObj(xRet)
	FreeObj(xRet1)
Return ''