O que são os arquivos RTM
Os arquivos com extensão .rtm são responsáveis pelo layout/formato de impressão dos documentos fiscais e aplicam-se à maioria dos produtos. Embora a TecnoSpeed siga o padrão oficial do Manual de Orientação do Contribuinte (MOC), muitas vezes o cliente final da Software House precisa realizar pequenas edições na impressão desses documentos para atender a alguma necessidade ou solicitação de um dos atores interessados no documento.
Importante!
Nesse artigo estaremos utilizando como exemplo a edição do layout de impressão de NFe (DANFE), porém, para os demais documentos a forma de edição seguirá o mesmo padrão.
Objetivo da documentação
Esta documentação tem como objetivo apresentar e instruir de maneira mais didática como podemos criar um novo campo ou alterar um campo existente nos arquivos RTM. Um ponto de atenção é que nos arquivos RTM existem campos diretamente relacionados a cálculos e propriedades de ativação. Recomendamos que esses não sejam alterados, pois isso pode interferir negativamente nos valores da impressão. Dessa forma, em caso de necessidade de alteração, é recomendado que essa seja realizada por meio de solicitação de mudança para a TecnoSpeed.
Observação: Os casos utilizados nos exemplos neste artigo são fictícios e foram empregados apenas para ilustrar a prática do conteúdo. Antes de realizar alterações no formato de impressão de documentos fiscais, recomendamos consultar os manuais de leiaute e, possivelmente, a SEFAZ, a fim de evitar qualquer tipo de problema.
Conhecendo estruturas do Report Builder
Caso não tenha conhecimento prévio de como estar executando o Report Builder com nossos produtos, recomendamos as duas documentações abaixo:
Reporte Builder (Editando RTM's (NFe, NFCe e NFSe)
Agora vamos conhecer um pouco da estrutura que utilizaremos dentro do Report Builder.
- Label: Campo de texto fixo, adicionado por meio da opção 'Texto' .
- Shape: Estrutura geométrica em formato geralmente retangular utilizada para delimitar o tamanho dos campos com linhas, assim montar o layout do documento fiscal, adicionado por meio da opção 'Polígono' .
- DBText: Campo de texto variável, esse tipo de campo pode ser configurado para receber valores diretamente do XML, configurando as propriedades de 'Datafield' com a tag que desejamos, ele irá sempre buscar a informação que está na tag no XML para imprimir, adicionado por meio da opção 'Campo Texto' .
- Headers: São estruturas bases do arquivo .rtm, importante o conhecimento delas para estar realizando alterações, são representadas da seguinte forma : .
Recursos do Report Builder
- Propriedades: Cada tipo de campo do arquivo .rtm possui suas propriedades de acordo com sua função, elas possibilitam definir aparência do campo, dados que irá ser exibido, sua cor, e muito mais.
- Estrutura de Dados: Os arquivos .rtm de cada tipo de documento fiscal contém diversas estruturas de dados, são elas responsáveis por capturar, organizar e armazenar os dados do XML no arquivo RTM para impressão e/ou visualização. Os campos das estruturas de dados são utilizados nas propriedades do 'DBText' especificamente no parâmetro 'DataField' onde definimos qual valor tag ira no XML.
1 - Adicionando um campo de texto fixo
Caso prático: Adicionar um novo campo de texto fixo (label) 'NOME EMPRESA' próximo ao cabeçalho da DANFE.
- Selecionar o espaço onde será adicionado o campo, e certificar de que existe espaço suficiente para a informação, caso não houver, redimensionar os campos.
- Selecionar a opção 'Texto' e clicar no local do desenho do .rtm onde será posicionado o novo campo fixo, dessa forma, será criado um novo campo fixo (label).
- Localizar as propriedades de 'Text' do label criado, e alterar o parâmetro 'Caption' com o texto que que será disposto na DANFE, neste caso "NOME EMPRESA".
- Localizar as propriedades de 'Text' nos recursos de 'Font', e configurar o parâmetro 'height' com o tamanho da fonte que melhor aderir na impressão.
Basicamente todos os campos de texto fixo ou variáveis possui esses recursos de 'Font' para ajuste de tamanho.
2 - Alterando um campo de texto fixo
Caso prático: Alterar o campo 'FATURA' para 'FATURA/BOLETO'.
- Localizar o label que referencia a informação que será alterada. No caso da label que representa a informação fatura, um detalhe é que ela estava sobreposta por várias outras informações, sendo assim, foi necessário localizá-la por meio da tela de 'Estruturas do Relatório'.
- Localizar as propriedades de 'Text' do label e alterar o parâmetro 'Caption' com a nova informação a ser exibida, no caso, 'FATURA/BOLETO'.
3 - Adicionando um campo de texto dinâmico
Caso prático: Adicionar campo variável (DBText), e exibir a informação que vem direto do XML, a tag 'tpEmis' (tipo de emissão).
- Selecionar o espaço onde será adicionado o campo variável (DBtext), certificar de que existe espaço para a informação.
- Selecionar a opção 'Campo Texto' e clicar no local onde será incluído o campo no layout do .rtm, após clicar, será criado um novo campo com nome 'DBText'.
- Para configurar a informação que o campo irá receber, vamos localizar as propriedades de 'Data' do campo 'DBText' criado.
- Nas propriedades de data iremos configurar o parâmetro 'DataField' que receberá a informação de qual tag o campo 'DBText' receberá para impressão. Nesse caso configuramos o 'DataField' com o valor 'tpEmis' (tipo de emissão).
4 - Alterando campo de texto fixo e campo dinâmico já existente
Caso prático: Alterar as informações de 'FONE/FAX' para exibir o nome do País do destinatário da DANFE. Será realizada alteração do label (campo fixo) e também do DBText (campo variável).
- Selecionar o campo que será modificado para receber outras informações.
- Localizar o label do campo selecionado, ir até as propriedades no parâmetro 'Caption' e alterar o valor para o informação que representará os dados que o campo irá receber, no caso do exemplo 'PAÍS'.
- Feita alteração do campo fixo (label), agora vamos alterar o campo variável (DBText) para exibirmos na impressão a informação do XML, o país do destinatário. No exemplo do vídeo o (DBText) estava com um nome destinado a informação da tag do XML 'FoneDest', esse foi excluído e criado um novo (DBText), substituindo o anterior. Para excluir o campo basta selecionar ele no layout do RTM e pressionar o 'Delete' do teclado.
- Para criarmos um novo campo variável, vamos clicar na ferramenta Campo Texto e em seguida, clicar no espaço onde redefinimos o nome para 'PAÍS', o (DBText) será criado e será possível configurar para receber os dados do XML.
- Com nosso campo variável criado, vamos ajustar o tamanho do campo de acordo com tamanho dos dados que serão recebidos.
- Agora vamos selecionar o (DBText) criado, ir até as Propriedades >Data >DataField e vamos configurar o parâmetro DataField para receber a tag desejada do XML, no caso do exemplo, a tag 'xPais' representada na estrutura de dados como 'DestPais'.
- Após esses passos nosso campo que recebia os dados Fone/Fax do destinatário, agora receberá a informação do País do destinatário.
5 - Criando um novo campo com texto fixo e texto dinâmico
Caso prático: Adicionar a informação de e-mail destinatário junto ao grupo de informações de 'DESTINATARIO/REMETETE' sem alterar, ou remover nenhuma das informações já existentes.
-
Identificar qual será a 'header' que receberá o novo campo, aumentar o tamanho dele para que tenhamos espaço suficiente para redimensionar os campos existentes e depois adicionar o novo campo. No nosso caso aumentaremos o header 'cabeçalho' .
-
Para aumentar o tamanho do header, devemos primeiro identificar o final do header cabeçalho, arrastar o limitador para baixo gerando assim mais espaço.
-
Próximo passo é reorganizar os campos selecionando e arrastando todos mais para baixo até termos o espaço necessário para o novo campo.
- Pressionando CTRL e arrastando o marcador do mouse já será criando a seleção de todos os campos, dessa forma conseguimos reposicionar todos juntos.
-
Após realizar essas mudanças os campos vão estar em uma parte mais inferior no layout do RTM, e já será possível adicionar um novo campo onde será configurada a informação do e-mail destinatário.
- Agora que já temos o espaçamento necessário, iremos utilizar a opção Polígono (Shape) , Texto (Label) e Campo Texto (DBText) , para criarmos um novo campo na DANFE com a informação do e-mail destinatário.
-
O primeiro passo é criarmos o campo com a opção apresentada 'Polígono' (Shape) , para criar devemos selecionar a opção e clicar no local onde queremos criar o novo campo.
-
Após isso o campo será criado, iremos dimensionar ele com tamanho necessário arrastando as bordas, ou usando os atalhos SHIFT+SETA DE DIREÇÃO DO TECLADO ou CTRL+SETA DE DIREÇÃO DO TECLADO.
-
Com nosso Shape criado, vamos clicar com botão direito sobre ele, e configura-lo, clicando com o botão direito do mouse e escolhendo a opção enviar para trás , isso vai fazer com que o Shape não sobreponha as demais informações, outra configuração necessária no campo deve ser feita em suas propriedades, onde, deve estar da seguinte forma 'Appearance >Brush >Style = bsClear'. Essas configurações vão garantir que o nossa estrutura delimitadora Shape não sobreponha as informações de texto.
- Com nossa estrutura delimitadora Shape criada, vamos inserir o campo fixo (Label) selecionando a ferramenta 'Texto' e clicando dentro do Shape, este texto fixo funciona como se fosse o título do campo.
- Após inserir o Label, em suas propriedades de Text, no parâmetro 'Caption' vamos configurar para exibir o texto 'E-MAIL DESTINATARIO'.
-
O próximo passo será adicionar o campo variável (DBText) junto ao nosso Shape mais a Label que já criamos, o DBText será o responsável por capturar a informação do XML e exibir no campo que criamos com nome 'E-MAIL DESTINATARIO'.
-
Para adicionar o DBText basta selecionar ferramenta 'Campo Texto' e clicando dentro do Shape. Após isso, ajustamos o tamanho do campo para que comporte a informação que será recebida do XML.
- Com o campo ajustado vamos configurá-lo para receber a tag do XML com a informação que precisamos, podemos fazer isso por meio das propriedades de 'Data >DataField'.
- Alterar o parâmetro 'DataField' nas propriedades do campo DBText para receber a tag 'Destemail' que faz referência a tag 'email' no XML, ficando a configuração 'DataField : Destemail'.
- Seguindo esses passos e havendo a informação do e-mail no XML, o mesmo será exibido no layout modificado do RTM.
Documentação Técnica da SEFAZ
Comentários
0 comentário
Por favor, entre para comentar.