Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Logística |
Módulo: | SIGATMS - Gestão de Transportes |
O Ponto de entrada localizado na função MdfeSf30 do rdmake MDFSEFAZ3. Através deste ponto é possível realizar manipulações nos dados do MDF-e, mensagens adicionais, antes da montagem do XML, no momento da transmissão do MDF-e.
Este ponto de entrada que permite alteração dos dados do XML do MDF-e antes que seja enviado ao TSS/TOTVS Colaboração.
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
aParam | Array of Record | cManif := PARAMIXB[1] |
Retorno:
Array com o conteúdo alterado.
Qualquer alteração do array como inclusão ou exclusão de tags, será transmitido à SEFAZ.
aRetXML (array_of_record)
Variáveis:
aXMLMDFe - Array contendo os dados do XML à ser enviado ao TSS para transmissão para a SEFAZ.
O retorno deve ser exatamente na ordem que será gerado o XML do MDF-e, pois no RDMAKE MDFSEFAZ3 é atribuído o retorno completo para as respectivas variáveis. A manipulação da string contida no array deve ser feita via busca das tags conhecidas utilizando a linguagem advpl, conforme necessidade e regra de negócio do cliente. Pode-se acrescentar ou retirar informações não geradas pelo programa padrão, incluindo ou excluindo itens ao array, desde que seja feito na ordem correta (seguindo o manual fornecido pela Sefaz) |
User Function TMSMDFESE() Local cManif := PARAMIXB[1] Local cSerie := PARAMIXB[2] Local aRetXML := PARAMIXB[3] Local nPos := 0 Local cString := "" //-- Exemplo de alteração do bloco com a tag <autXML> If (nPos:= aScan(aRetXML, {|x| '<autXML>' $ x})) > 0 cString := '<autXML>' cString += '<CNPJ>79282688000108</CNPJ>' //-- Cnpj de exemplo, gerado aleatoriamente para fins didáticos cString += '</autXML>' aRetXML[nPos] := AllTrim(cString) EndIf Return aRetXML |
Não há.
Não há.
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |