GFEA1184 - POSSIBILITA A INCLUSÃO DE REGRAS PARA DEFINIÇÃO DO TIPO DE DOCUMENTO DE FRETE NA IMPORTAÇÃO DO CT-e
Características do Requisito
Linha de Produto: | Microsiga Protheus |
Segmento: | Supply Chain - Logística |
Módulo: | SIGAGFE |
Ponto de Entrada - GFEA1184
Descrição: | Recebe o 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. | ||||||||||||
Programa Fonte: | GFEA118 - Importação de CT-e | ||||||||||||
Parâmetros: |
| ||||||||||||
Retorno: |
|
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 Local cReturn := '' Private oXML := oTEMP //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 Exit Endif If nCont == Len(aNode) cReturn := &("oXML:"+cTag+':TEXT') Exit EndIf Next nCont Return cReturn