Addon - Mensagens DANFE
01. Visão Geral
1. Visão Geral
Dentro do processo de transmissão da nota de entrada (Compas) ou de saída (Faturamento) devido a diversas características da operação, seja necessário regis-trar mensagens para o produto (informação adicional), cliente ou fiscal.
Como essas mensagens podem ser recorrentes dentro das operações da empresa, podem ocorrer diveras situações para estas mensagens que dependem mais do setor fiscal do que do faturamento, o addon permite criar uma padronização para utilização de forma autônoma dessas mensagens.
As regras de mensagens construidas no addon, permitem que dentro do processo do transmissão das notas (entrada/saída), complemente o arquivo XML que será enviado para a SEFAZ com as mensagens que entraram em conformidade dentro de alguma regra que está vinculada a uma TES.
Exemplos típicos que podem ser parametrizados
- Reducao de base de calculo prevista no item 15 do Anexo VI do RICMS/2017
- Isencao prevista no item 118 do Anexo V do RICMS/2017
- Suspensao prevista na Subsecao II da Secao II, do Capitulo I do Anexo VIII do RICMS/2017
- ATENCAO: CONFIRA A MERCADORIA NA PRESENCA DO MOTORISTA, NAO ACEITAMOS DEVOLUCOES/RECLAMACOES POSTERIORES
- ATO CONCESSORIO DRAWBACK 20220001081"
Este poacote de automação tem por objetivo disponibilizar configurações/regras que envolvem TES x Mensagens.
Principais vantagens do produto:
- Configurações de mensagens para operações de compra/devolução
- Configurações de mensagens para operações de venda/devolução
02. Menu
2. Menu
| Menu | Sub Menu | Nome da Rotina | Programa | Módulo | Tipo | Tabelas |
|---|---|---|---|---|---|---|
| Atualizações | * ESPECIFICOS | Mensagens DANFE | C010A01 | Faturamento | 03 (Função de Usuário) | SZ0 |
03. Rotinas personalizadas específicas do Pacote
3. Rotinas personalizadas específicas do Pacote
Funções personalizadas contidas no pacote:
| Rotina | Descrição |
|---|---|
| C010A01 | Rotina para Cadastro das Regras de Mensagens DANFE |
| X010A01 | Rotina centralizadora de funções genéricas do pacote. |
| UPD010A | Programa compatibilizador do Dicionário de Dados para aplicação do pacote |
04. Pontos de Entradas Disponiveis para Desenvolvimento
4. Pontos de entrada Disponível no ADD-ON
| Nome | Descrição | Programa Fonte | Sixtaxe | Exemplo |
|---|---|---|---|---|
| X010A01 | Ponto de Entrada narotina NFESEFAZ antes damontagem e envio do XML da NFe ao Sefaz. Utilizado para efetuar a chamada das regras de validação das mensagens cadastradas do pacote. | X010A01 | aRetorno := U_X010A01("NFESEFAZ") |
ADVPL
X010A01
|
05. Tabelas (SX2)
5. Tabelas (SX2)
5. Tabelas (SX2)
| Prefixo | Descrição | Ac. Filial | Ac. Unidade | Ac. Empresa |
|---|---|---|---|---|
| SZ0 | CADASTRO DE MENSAGENS NFESEFAZ/DANFE | Exclusivo | Exclusivo | Exclusivo |
06. Campos (SX3)
6. Campos (SX3)
Campo Z0_CODIGO
| Tipo | C | Ordem | 02 | Tamanho | 6 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Visualizar | Obrigatório | S | Browse | S | ||
| Título | Codigo | ||||||||
| Descrição | Codigo da Mensagem | ||||||||
Help
Codigo sequencial identificador de uma regra de mensagem.
Configurações adicionais
| F3 | - |
|---|---|
| Modo Edição | - |
| Val. Usuário | |
| Lista Opções | - |
| Inicializador | GETSX8NUM(_010T01,_010T01COD) |
| Ini. Browse | - |
Campo Z0_OPER
| Tipo | C | Ordem | 03 | Tamanho | 1 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | S | Browse | S | ||
| Título | Operacao | ||||||||
| Descrição | Operacao da Nota | ||||||||
Help
Defina a operação da nota a qual se aplicará a regra.
Configurações adicionais
| F3 | - |
|---|---|
| Modo Edição | - |
| Val. Usuário | - |
| Lista Opções | S=Saida;E=Entrada |
| Inicializador | - |
| Ini. Browse | - |
Campo Z0_ORDEM
| Tipo | C | Ordem | 04 | Tamanho | 3 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | S | Browse | S | ||
| Título | Ordem | ||||||||
| Descrição | Sequencia das mensagens | ||||||||
Help
Defina a ordem sequencial para as mensagens.
Configurações adicionais
| F3 | - |
|---|---|
| Modo Edição | ALTERA |
| Val. Usuário | - |
| Lista Opções | - |
| Inicializador | SUBSTR(M->&_010T01COD,4,3) |
| Ini. Browse | - |
Campo Z0_TIPO
| Tipo | C | Ordem | 05 | Tamanho | 1 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | - | Browse | - | ||
| Título | Tipo Mens. | ||||||||
| Descrição | Tipo de Mensagem | ||||||||
Help
Defina qual retorno se aplicará a regra de mensagem: informações adicionais do produto; mensagem fiscal; mensagem de cliente
Configurações adicionais
| F3 | - |
|---|---|
| Modo Edição | - |
| Val. Usuário | - |
| Lista Opções | C=Cliente;F=Fiscal;P=Produto |
| Inicializador | - |
| Ini. Browse | - |
Campo Z0_INFCOMP
| Tipo | C | Ordem | 06 | Tamanho | 6 | Decimal | 0 | Formato | - |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | N | Browse | - | ||
| Título | Inf.Complem. | ||||||||
| Descrição | Inf.Complementar | ||||||||
Help
Informações complementares
Configurações adicionais
| F3 | CCE |
|---|---|
| Modo Edição | - |
| Val. Usuário | ExistCPO(“CCE”) |
| Lista Opções | - |
| Inicializador | - |
| Ini. Browse | - |
Campo Z0_MSG
| Tipo | C | Ordem | 07 | Tamanho | 200 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | S | Browse | S | ||
| Título | Mensagem | ||||||||
| Descrição | Mensagem de retorno | ||||||||
Help
Informe o texto ou a composição da mensagem que será retornada, utilizando sintaxe ADVPL.
Configurações adicionais
| F3 | - |
|---|---|
| Modo Edição | Empty(M->&_010T01FRM) |
| Val. Usuário | - |
| Lista Opções | - |
| Inicializador | - |
| Ini. Browse | - |
Campo Z0_GRUPO
| Tipo | C | Ordem | 10 | Tamanho | 4 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | N | Browse | S | ||
| Título | Grupo | ||||||||
| Descrição | Grupo de Produtos | ||||||||
Help
Informe o código do Grupo que se aplicará a mensagem (opcional)
Configurações adicionais
| F3 | SBM |
|---|---|
| Modo Edição | - |
| Val. Usuário | Vazio().OR.ExistCpo("SBM") |
| Lista Opções | - |
| Inicializador | - |
| Ini. Browse | - |
Campo Z0_CLIENT
| Tipo | C | Ordem | 11 | Tamanho | 9 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | N | Browse | S | ||
| Título | Cliente | ||||||||
| Descrição | Codigo do Cliente | ||||||||
Help
Informe o código do Cliente que se aplicará a mensagem (opcional)
Configurações adicionais
| F3 | SA1 |
|---|---|
| Modo Edição | M->&_010T01OPE == "S" |
| Val. Usuário | Vazio().OR.ExistCpo("SA1") |
| Lista Opções | - |
| Inicializador | - |
| Ini. Browse | - |
Campo Z0_FORNEC
| Tipo | C | Ordem | 12 | Tamanho | 9 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | N | Browse | S | ||
| Título | Fornecedor | ||||||||
| Descrição | Codigo do Fornecedor/td> | ||||||||
Help
Informe o código do Fornecedor que se aplicará a mensagem (opcional)
Configurações adicionais
| F3 | SA2 |
|---|---|
| Modo Edição | M->&_010T01OPE == "E" |
| Val. Usuário | Vazio().OR.ExistCpo("SA2") |
| Lista Opções | N=Nivel; U=Usuario; D=Documento |
| Inicializador | - |
| Ini. Browse | - |
Campo Z0_LOJA
| Tipo | C | Ordem | 14 | Tamanho | 2 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | N | Browse | S | ||
| Título | Estado | ||||||||
| Descrição | Unidade da Federacao | ||||||||
Help
Informe o Estado do Cliente/Fornecedor que se aplicará a mensagem (opcional)
Configurações adicionais
| F3 | 12 |
|---|---|
| Modo Edição | - |
| Val. Usuário | Vazio().OR.ExistCpo("SX5","12"+M->&_010T01UF) |
| Lista Opções | - |
| Inicializador | - |
| Ini. Browse | - |
Campo Z0_UF
| Tipo | C | Ordem | 14 | Tamanho | 2 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | N | Browse | S | ||
| Título | Estado | ||||||||
| Descrição | Unidade da Federacao | ||||||||
Help
Unidade da Federacao
Configurações adicionais
| F3 | 12 |
|---|---|
| Modo Edição | - |
| Val. Usuário | Vazio().OR.ExistCpo("SX5","12"+M->&_010T01UF) |
| Lista Opções | - |
| Inicializador | - |
| Ini. Browse | - |
Campo Z0_TES
| Tipo | C | Ordem | 15 | Tamanho | 3 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | N | Browse | S | ||
| Título | TES | ||||||||
| Descrição | Tipo de Entrada / Saida | ||||||||
Help
Informe o TES do item que se aplicará a mensagem (opcional)
Configurações adicionais
| F3 | SF4 |
|---|---|
| Modo Edição | - |
| Val. Usuário | Vazio().OR.ExistCpo("SF4") |
| Lista Opções | - |
| Inicializador | - |
| Ini. Browse | - |
Campo Z0_EXPRES
| Tipo | C | Ordem | 16 | Tamanho | 3 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | N | Browse | S | ||
| Título | Expressao | ||||||||
| Descrição | Expressao condicional | ||||||||
Help
Informe uma expressão condicional para que a mensagem seja retornada (opcional), utilizando sintaxe ADVPL. Deve retornar .T./.F.
Configurações adicionais
| F3 | - |
|---|---|
| Modo Edição | - |
| Val. Usuário | - |
| Lista Opções | - |
| Inicializador | - |
| Ini. Browse | - |
Campo Z0_STATUS
| Tipo | C | Ordem | 17 | Tamanho | 1 | Decimal | 0 | Formato | @! |
|---|---|---|---|---|---|---|---|---|---|
| Contexto | Real | Propriedade | Alterar | Obrigatório | N | Browse | S | ||
| Título | Status da Regra | ||||||||
| Descrição | Status da Regra | ||||||||
Help
Status da Regra
Configurações adicionais
| F3 | - |
|---|---|
| Modo Edição | - |
| Val. Usuário | - |
| Lista Opções | 1=Ativo;2=Inativo |
| Inicializador | "1" |
| Ini. Browse | - |
07. Parâmetros (SX6)
7. Parâmetros (SX6)
| Nome | Tipo | Descrição | Conteúdo |
|---|---|---|---|
| MV_X010T01 | Caracter | Tabela macro-substituição utilizada. Informar qual tabela foi definida na aplicação do ADD-ON. | SZ0 |
| MV_X010000 | Lógico | Ativa utilizacao do Template Mensagens NFESEFAZ. | .T. |
| MV_X010001 | Caracter | Caractere padrao para tratar a quebra de linha a ser tratado nos fontes DANFEII.PRW / DANFEIII.PRW. | # |
08. Gatilhos (SX7)
8. Gatilhos (SX7)
| Campo | Sequencia | Contra Dom. | Tipo | Regra | Posiciona | Condicao |
|---|---|---|---|---|---|---|
| Z0_INFCOMP | 001 | Z0_MSG | 1 = Primário | '"'+ALLTRIM(CCE->CCE_DESCR)+'"' | S | xFilial("CCE")+M->Z0_INFCOMP |
| Z0_TIPO | 001 | Z0_INFCOMP | 1 = Primário | "" | N | M->Z0_TIPO <> "F" |
09. Índices (SIX)
9. Índices (SIX)
| Indice | Ordem | Chave | Descrição | NickName |
|---|---|---|---|---|
| SZ0 | 1 | Z0_FILIAL+Z0_OPER+Z0_TIPO+Z0_ORDEM | - | - |
| SZ0 | 2 | Z0_FILIAL+Z0_CODIGO | - | - |
10. Consulta Padrão (SXB)
10. Consulta Padrão (SXB)
Não se Aplica
11. Manual de operação
11. Manual de operação
1. Cadastro
Regras Mensagens DANFE
- Módulo: Faturamento
- Atualizações ->Cadastros ->* Mensagens DANFE
Efetue o cadastro das mensagens e suas regras e condições para impressão no DANFE / XML.

Seu correto preenchimento é de suma importância, abaixo os campos que devem ser observados
Código: Numeração sequencial automática.
Operação da Nota: informe para qual operação de nota a mensagem se aplicará:
- E=Entrada
- S=Saída
Tipo de Mensagem: informe o tipo de mensagem que está sendo definida:
- 1-Descrição do Produto: mensagem complementar que saíra na descrição do produto/item no DANFE e na tag
do XML. - 2-Mensagem Fiscal: mensagem Fiscal que sairá nos dados adicionais no DANFE (informações complementares) e na tag
do XML. - 3-Mensagem Cliente: mensagem de Cliente que sairá nos dados adicionais no DANFE (informações complementares) e na tag
do XML.
Ordem: ordem/sequencia para impressão da mensagem, campo disponibilizado na alteração do cadastro.
Fórmula: informe o código da fórmula que definirá a composição da mensagem, caso já tenha cadastrado, obrigatório SE não informar o campo Mensagem abaixo.
Mensagem: informe a composição da mensagem em sintaxe ADVPL, obrigatório caso não informe o campo Fórmula acima.
Produto: opcional, informe um código de produto caso a mensagem deva ser considerada apenas para tal produto na nota.
Grupo de Produto: opcional, informe um código de grupo caso a mensagem deva ser considerada apenas para produtos de tal grupo na nota.
Cliente/Fornecedor/Loja: opcional, informe um código de Cliente ou Fornecedor, conforme o tipo da operação (Entrada/Saída), caso a mensagem deva ser considerada apenas para estes códigos na nota.
Estado: opcional, informe um código de Estado/UF caso a mensagem deva ser considerada apenas para cliente/fornecedor de tal código.
TES: opcional, informe um código de TES caso a mensagem deva ser considerada apenas para tal código nos itens da nota.
Expressão: opcional, informe uma expressão condicional para impressão da mensagem, em sintaxe ADVPL, deve retornar .T. / .F.
Status: informe se o cadastro da regra de mensagem está Ativo ou Inativo, onde somente as mensagens ativas serão impressas.
Finalidade: informe uma breve descrição da finalidade da mensagem.
2. PROCESSO
- Efetuar o faturamento do pedido e geração da nota fiscal.
- Efetuar a transmissão da nota eletrônica SEFAZ.
- Efetuar a impressão do DANFE.