01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Logística |
Módulo: | SIGATMS - Gestão de Transportes |
02. DESCRIÇÃO
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.
Importante
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)
03. EXEMPLO DE UTILIZAÇÃO
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
04. DEMAIS INFORMAÇÕES
Não há.
05. ASSUNTOS RELACIONADOS
Não há.