Histórico da Página
GFEA1184 - Possibilita a inclusão de
novas condiçõesregras para definição do tipo de documento de frete na importação do CT-e
Características do Requisito
Linha de Produto: | Protheus |
Segmento: | Supply Chain - Logística |
Módulo: | SIGAGFE |
Ponto de Entrada - GFEA1184
Descrição: | Recebe o objeto conteúdo parcial do XML do CT-e que está sendo importado, a partir da tag <Cte>, inclusive todos os nós e informações descendentes. A partir deste conteúdo, pode-se criar regras para determinação do Tipo do Documento de Frete. | ||||||||||||
Localização: | Será executado na importação do CT-e, na função que realiza a atribuição do Tipo do Documento de Frete, antes das regras do fonte padrão. | ||||||||||||
Programa Fonte: | GFEA118 - Importação de CT-e | ||||||||||||
Parâmetros: |
| ||||||||||||
Retorno: |
|
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
User Function GFEA1184()
Local _cTPDF := "1"
Local _oCte := PARAMIXB[1]
Local _cTpCte := U_XmlValid(_oCte,{"_INFCTE","_IDE"},"_TPCTE")
Local _cTpServ := U_XmlValid(_oCte,{"_INFCTE","_IDE"},"_TPSERV")
Local _cXCaracAd := ""
Local _lRet := .F.
If XmlChildEx(_oCte:_INFCTE,"_COMPL") != Nil .And. XmlChildEx(_oCte:_INFCTE:_COMPL,"_XCARACAD") != Nil
_cXCaracAd := U_XmlValid(_oCte,{"_INFCTE","_COMPL"},"_XCARACAD")
EndIf
If _cTpCte == '1' .And. _cTpServ == '0' .And. Upper(_cXCaracAd) $ 'PALETIZACAO'
_cTPDF := '7'
_lRet := .T.
EndIf
Return {_lRet, _cTPDF}
User Function XmlValid(oTEMP,aNode,cTag)
Local nCont
Private oXML := oTEMP
//Navega dentro do objeto XML usando a variavel aNode como base, retornando o conteudo do TEXT
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)
cReturn := &("oXML:"+cTag+':TEXT')
Return cReturn
EndIf
Next nCont
FreeObj(oXML)
Return {.F., ''} |