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 XmlCte3 do rdmake CTESEFAZ3. Através deste ponto é possível realizar manipulações nos dados do Ct-e, mensagens adicionais, antes da montagem do XML, no momento da transmissão do CTe.
Este ponto de entrada que permite alteração dos dados do XML do CT-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 | cNota := 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:
aXMLCTE - 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 CT-e, pois no RDMAKE CTESEFAZ3 é 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 TMSCTESEF() Local cNota := 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á.