Formatação do Template de Retorno¶
Com o objetivo de disponibilizar todas as informações necessárias para um bom fluxo de informações ao usuário, o REINFPack utiliza uma implementação de template para retorno personalizado com base nos produtos Edocs Inventti existentes.
Abaixo encontra-se uma tabela dos campos disponíveis para consulta, uma tabela com os comandos disponíveis para utilização e uma lista de exemplos a serem tomados como base para a implantação dos templates de retorno.
Para realizar a edição do template, acesse Configurações > Empresas Emissoras, selecione o grupo de empresa correspondente e clique no botão de edição na barra de botões superior ou inferior.
Campos disponíveis¶
Os seguintes campos podem ser acessados a partir do template:
Alias | Descrição |
---|---|
RegistroTransmissao | Objeto com as informações da transmissão realizada |
XmlResposta | Objeto referente ao xml recebido com as informações de retorno da EFD |
XmlEnviado | Objeto referente ao xml enviado para a EFD pelo cliente |
Informações disponíveis no RegistroTransmissao¶
Os seguintes campos podem ser acessados a partir do objeto RegistroTransmissao:
Alias | Descrição | Retorno |
---|---|---|
Emissor | CNPJ base do registro | String (ex.: 99878923) |
SituacaoTransmissao | Situação do registro | Inteiro 0 - Indeterminado 1 - Pendente 2 - Sucesso 3 - Erro 4 - Inválido 5 - Em processamento |
DataHoraProcessamento | Data do processamento pela EFD | Data (formatável) |
ResultadoOperacao | Descritivo do resultado da operação | String |
NumerosRecibo | Descritivo com os números de recibo dos registros de evento retornados pela EFD, enviados nesta transmissão | String |
RegistrosEvento | Lista dos registros de evento contidos na transmissão enviada | Lista de RegistroEvento |
Informações disponíveis no RegistroEvento¶
Os seguintes campos podem ser acessados a partir do objeto RegistroTransmissao (contido no campo RegistrosEvento de um RegistroTransmissao):
Alias | Descrição | Retorno |
---|---|---|
OperacaoCliente | Identificador único do evento para o cliente | String (ex.: “R2010.AAA.123”) |
TipoRegistroReinf | O tipo de evento enviado | Inteiro (ex.: 2010) |
PeriodoApuracao | O período de apuração vigente para o evento | String (ex.: “2018-09”) |
CaminhoArquivo | Caminho do arquivo que gerou o evento (no caso de integração via arquivo) | String (ex.: “Evento_2010_ABC”) |
NumeroRecibo | Número de recibo retornado pela EFD para o evento enviado | String (ex.: “11123-2099-1809-11123”) |
DataCriacao | Data da criação do evento dentro do REINFPack | Data (formatável) |
DataModificacao | Data de modificação do evento dentro do REINFPack | Data (formatável) |
Comandos disponíveis¶
Os comandos abaixo são adendos aos comandos já utilizados nos Edocs Inventti visando a manipulação de XMLs. Todos os comando já utilizados nos templates dos outros Edocs estão disponíveis.
Comando | Descrição | Exemplo |
---|---|---|
ObterValorXml | Obtém o valor da tag XML informada. | XMLResposta | ObterValorXml “//Reinf/evtInfoContribuinte/indRetif” |
ObterAtributoXml | Obtém o valor do atributo informado na tag XML informada. | XMLEnviado | ObterAtributoXml “//Reinf/evtInfoCPRB”, “id” |
QuantidadeTagXml | Obtém a quantidade de tags com o caminho informado. Este comando é utilizado para iterar sobre uma lista de elementos do XML (exemplos abaixo). |
XMLResposta | QuantidadeTagXml “//infoEvt/RTom” |
TagXmlNaPosicao | Obtém a tag informada na posição informada (no caso de uma lista de tags repetíveis). É possível utilizar este comando passando um parâmetro para o caminho ou dois para obter tanto o caminho quanto um filho da tag na posição informada. Este comando é utilizado para iterar sobre uma lista de elementos no XML (exemplos abaixo). |
XMLResposta | TagXmlNaPosicao “//infoEvt/RTom[1]” XMLResposta | TagXmlNaPosicao “//infoEvt/RTom[1]”, “/vlrBruto” |
Exemplos¶
Listagem do OperacaoCliente dos eventos
1 2 3 4 5 | Situação da Transmissão: {{ registroTransmissao.SituacaoTransmissao }}
Eventos da Transmissão:
{% for evento in registroTransmissao.RegistrosEvento %}
{{ evento.OperacaoCliente }}
{% endfor %}
|
Obtenção do id do evento enviado
1 | ID do evento: {{ XmlEnviado | ObterAtributoXml "//evtInfoCPRB", "id" }}
|
Iteração de elementos
1 2 3 4 5 6 7 8 | Elementos "RTom"
{% capture quantidadeRTom %} {{ XmlResposta | QuantidadeTagXml: "//infoTotalContrib/RTom" }} {% endcapture %}
Quantidade de Tags: {{ quantidadeRTom }}
{% for index in (1..quantidadeRTom) %}
{% capture caminhoRTomAtual %} {{ "//infoTotalContrib/RTom" | TagXmlNaPosicao: index, "/infoCRTom/VlrCRTom" }} {% endcapture %}
Caminho do RTom Atual: {{ caminhoRTomAtual }}
VlrCRTom: {{ XmlResposta | ObterValorXml: caminhoRTomAtual }}
{% endfor %}
|