DS_MENSAGEM — Mensagem exibida nas Observações da Nota Fiscal
Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Parâmetros → Mensagens → Mensagem Nota Fiscal Tabela:
PARMFATUR.DS_MENSAGEMTipo: Texto livre (VARCHAR(240)) —TDBMemocomMaxLength = 240Valor padrão: vazio/NULL (não é preenchido noAfterInsertdo dataset — verUdmMFA001.paslinhas 434-509)
Telas impactadas
O parâmetro é lido (via procedure) pelas telas de emissão/impressão de Nota Fiscal. Não há tela de exibição direta do texto; ele é sempre concatenado no conteúdo final de NOTA.DS_OBSERVACAO/observações impressas.
| Módulo | Código | Papel |
|---|---|---|
| Parâmetros de Faturamento | MFA001 | Tela de cadastro/edição do texto (produtora) |
| Nota Fiscal Entrada | MNF001 | Consumidor indireto — chama RETORNA_OBSNOTA ao emitir/imprimir |
| Nota Fiscal Saída | MNF002 | Consumidor indireto — chama RETORNA_OBSNOTA ao emitir/imprimir |
| Acerto de Custo Prod. Acabados | CPD009 | Replica o valor de PARMFATUR em operações de acerto |
| Recriação de Parâmetros | RCA006 | Replica o valor de PARMFATUR em operações de recriação |
Observação: os módulos de emissão de NF-e/CT-e (
jFaturamento) e os módulos de Pedido (MPD002etc.) não leem este parâmetro diretamente. Todas as menções aDS_MENSAGEMnesses módulos referem-se a variáveis de saída de outras procedures (ex.:GERA_SEQUENCIA,CALCULA_VALORMOEDA,RETORNA_PRECOITEM) — são homônimos, não o campoPARMFATUR.DS_MENSAGEM.
Procedures impactadas
| Procedure | Arquivo | Papel |
|---|---|---|
RETORNA_OBSNOTA | Scripts/RETORNA_OBSNOTA.sql | USO PRINCIPAL. Lê PARMFATUR.DS_MENSAGEM e repassa para RETORNA_OBSNOTA_ATRIBUICOES como primeiro fragmento da observação da nota |
RETORNA_OBSNOTA_ATRIBUICOES | Scripts/RETORNA_OBSNOTA_ATRIBUICOES.sql | Recebe a mensagem no parâmetro I_DS_MENSAGEM e concatena no início de V_DS_OBSNOTA |
GERA_NOTAFISCAL | Scripts/GERA_NOTAFISCAL.sql | Lê PARMFATUR.DS_MENSAGEM para a variável I_DS_MENSAGEM (leitura sem uso subsequente — variável ociosa) |
GERA_ESTOQUE_NOTAFISCAL | Scripts/GERA_ESTOQUE_NOTAFISCAL.sql | Lê PARMFATUR.DS_MENSAGEM para a variável I_DS_MENSAGEM (leitura sem uso subsequente — variável ociosa) |
Campos envolvidos
| Campo | Descrição |
|---|---|
PARMFATUR.DS_MENSAGEM | Este parâmetro. Texto fixo (240 caracteres) exibido no início de toda Observação de Nota Fiscal emitida pela empresa |
PARMFATUR.DS_MSGPEDIDO | Mensagem padrão do Pedido (campo irmão, também em pagMENSAGEM) |
PARMFATUR.DS_MSGORCAMENTO | Mensagem padrão do Orçamento (campo irmão) |
PARMFATUR.DS_MSGCONTRATO | Mensagem padrão de Contrato (campo irmão) |
PARMFATUR.TP_OBSNOTA | Controla quais blocos entram na observação (P=Pedido, M=Mestra, D=Devolução, V=Vendedor, E=Entrega, etc.). A mensagem DS_MENSAGEM é incluída independentemente do conteúdo de TP_OBSNOTA |
NOTA.DS_OBSERVACAO | Campo destino onde a observação consolidada (já com DS_MENSAGEM como prefixo) é gravada/impressa |
Onde a mensagem aparece
A mensagem é sempre o primeiro conteúdo da observação completa da Nota Fiscal. Todos os demais blocos (redespacho, nota mestra, devolução, pedidos, vendedores, motorista, endereço de entrega, impostos, etc.) são concatenados depois dela.
1. Observação impressa na DANFE / Espelho da Nota
| Gatilho | Resultado |
|---|---|
| Impressão da DANFE de uma NF-e emitida em MNF002 | A mensagem aparece no bloco "Dados Adicionais / Informações Complementares" como primeira linha |
| Impressão de espelho de NF de Entrada em MNF001 | Idem |
Impressão em qualquer relatório (RNF*) que use NOTA.DS_OBSERVACAO consolidada via RETORNA_OBSNOTA | A mensagem aparece como prefixo |
Simulação passo a passo
- Acesse MFA001 → aba Mensagens → grupo Mensagem Nota Fiscal
- Digite no campo Mensagem (
memDS_MENSAGEM):Documento emitido conforme Lei 12.741/2012 - Salve os parâmetros (F6)
- Emita uma NF de Saída em MNF002 com qualquer produto
- Imprima a DANFE → primeira linha das Informações Complementares será exatamente
Documento emitido conforme Lei 12.741/2012.(com ponto final automático)
Resultado esperado: O texto do parâmetro surge no início da seção de observações/informações complementares de toda nota fiscal da empresa, independentemente de produto, cliente ou movimentação.
2. XML da NF-e (campo infCpl)
| Gatilho | Resultado |
|---|---|
Geração/assinatura da NF-e em jFaturamento/PNFe | NOTA.DS_OBSERVACAO (que inclui DS_MENSAGEM como prefixo) é transcrito para infAdic/infCpl do XML |
Resultado esperado: A mensagem é transmitida à SEFAZ dentro das Informações Complementares do XML e fica registrada no documento eletrônico oficial.
Atenção: como o texto vai para o XML autorizado, evite inserir informações mutáveis, confidenciais ou que possam ser interpretadas como base de cálculo fiscal. Use preferencialmente avisos legais estáticos.
3. Recibos e impressos de nota dependentes de NOTA.DS_OBSERVACAO
RETORNA_OBSNOTA é usado em múltiplos relatórios (RNF, LRC, LNF) para montar a observação consolidada. Qualquer layout que imprima essa observação herdará a mensagem no início.
Regras de formatação
| Regra | Detalhe |
|---|---|
| Tamanho máximo | VARCHAR(240) — tanto no domínio Firebird quanto no TDBMemo.MaxLength = 240 do UMFA001.dfm |
| Quebra de linha no editor | O componente é TDBMemo → aceita Enter durante a digitação na tela |
| Ponto final automático | RETORNA_OBSNOTA_ATRIBUICOES aplica TRIM(I_DS_MENSAGEM) || '. ' (adiciona . ao final mesmo que o usuário não digite) |
| Trim | A procedure aplica TRIM() ao conteúdo — espaços à esquerda/direita são removidos na concatenação |
| Valor vazio | Se o campo estiver NULL ou TRIM = '', a mensagem é ignorada (sem linha em branco na observação) |
| Macros/placeholders | Não há substituição de macros. O texto é literal — $DATA$, $EMPRESA$, etc. seriam impressos como estão |
| Encoding | Caracteres acentuados permitidos (VARCHAR segue charset do banco); utilize UTF-8/ISO conforme a instalação |
Interação com outros parâmetros
O parâmetro DS_MENSAGEM compartilha a aba Mensagens do MFA001 com outros textos padrão por tipo de documento:
| Parâmetro | Grupo na aba | Documento alvo |
|---|---|---|
DS_MENSAGEM | Mensagem Nota Fiscal | Nota Fiscal (NF-e, NF de saída, entrada — via RETORNA_OBSNOTA) |
DS_MSGPEDIDO | Mensagem Pedido | Pedido (MPD*) |
DS_MSGORCAMENTO | Mensagem Orçamento | Orçamento |
DS_MSGCONTRATO | Mensagem Contrato | Contrato |
Cada documento emissor usa seu próprio campo — a mensagem da NF não vaza para pedidos ou orçamentos e vice-versa.
Relação com TP_OBSNOTA
TP_OBSNOTA controla quais blocos opcionais (Redespacho, Mestra, Devolução, Pedidos, Vendedor, Motorista, Entrega, Impostos, etc.) são adicionados à observação. A mensagem DS_MENSAGEM, quando preenchida, é incluída sempre como prefixo — não depende de TP_OBSNOTA.
Referências no Código Fonte
Delphi (tela de cadastro — MFA001)
| Arquivo | Linha | Trecho |
|---|---|---|
source/MFA001/UMFA001.dfm | 11785-11818 | Aba pagMENSAGEM → grpMENSAGEM (Caption Mensagem Nota Fiscal) → memDS_MENSAGEM: TDBMemo com DataField = 'DS_MENSAGEM', MaxLength = 240 |
source/MFA001/UMFA001.pas | 46 | Declaração memDS_MENSAGEM: TDBMemo |
source/MFA001/UMFA001.pas | 1174 | Navegação por Enter: vai para memDS_MENSAGEM.SetFocus após edtCD_LAYVOLUME |
source/MFA001/UMFA001.pas | 1466 | memDS_MENSAGEM.SetFocus quando a aba pagMENSAGEM é ativada (ActivePageIndex = 3) |
source/MFA001/UdmMFA001.pas | 40 | Declaração tabPARMFATURDS_MENSAGEM: TStringField |
source/MFA001/UdmMFA001.pas | 434-509 | tabPARMFATURAfterInsert — não atribui valor default; campo fica NULL |
source/MFA001/UdmMFA001.dfm | 80, 2510, 2690, 2960 | SQL de SELECT/INSERT/UPDATE incluindo DS_MENSAGEM |
source/MFA001/UdmMFA001.dfm | 761-766 | TField persistente com DisplayLabel = 'Mensagem', Size = 240 |
SQL (uso efetivo do parâmetro)
| Arquivo | Linhas | Descrição |
|---|---|---|
Scripts/RETORNA_OBSNOTA.sql | 115-121 | SELECT P.DS_MENSAGEM ... FROM PARMFATUR P ... INTO :I_DS_MENSAGEM |
Scripts/RETORNA_OBSNOTA.sql | 1196 | Chama RETORNA_OBSNOTA_ATRIBUICOES(:I_DS_MENSAGEM, ...) |
Scripts/RETORNA_OBSNOTA_ATRIBUICOES.sql | 4 | Parâmetro de entrada I_DS_MENSAGEM varchar(240) |
Scripts/RETORNA_OBSNOTA_ATRIBUICOES.sql | 55-57 | IF ((I_DS_MENSAGEM is not null) AND (TRIM(I_DS_MENSAGEM) <> '')) THEN V_DS_OBSNOTA = V_DS_OBSNOTA||TRIM(I_DS_MENSAGEM)||'. '; — concatena como primeiro bloco |
Scripts/GERA_NOTAFISCAL.sql | 262-264 | Lê DS_MENSAGEM em I_DS_MENSAGEM (variável não reutilizada) |
Scripts/GERA_ESTOQUE_NOTAFISCAL.sql | 169-176 | Lê DS_MENSAGEM em I_DS_MENSAGEM (variável não reutilizada) |
Outras ocorrências em DFM (replicação de PARMFATUR)
| Arquivo | Linhas | Papel |
|---|---|---|
source/CPD009/UdmCPD009.dfm | 357, 436, 534 | SELECT/INSERT/UPDATE PARMFATUR incluindo DS_MENSAGEM na tela Acerto de Custo de Produtos Acabados |
source/RCA006/UdmRCA006.dfm | 3106, 3185, 3283 | SELECT/INSERT/UPDATE PARMFATUR incluindo DS_MENSAGEM na tela RCA006 |