Pular para o conteúdo principal

DS_COMPLEMENTO - Complemento por Tipo de Conta

Tela de configuração: TFC007 — Parâmetros de Complemento do Caixa Tabela: PARMCOMPLCAIXA.DS_COMPLEMENTO Tipo: DOM_VARCHAR240 NOT NULL Componente: edtDS_COMPLEMENTO (edit, texto livre) Valor padrão: Nenhum (preenchimento obrigatório ao cadastrar um registro)

Descrição​

Define o modelo de texto (complemento) que será automaticamente preenchido no campo "Complemento" dos movimentos de caixa. O texto pode conter macros (placeholders) que são substituídas em tempo de execução por dados reais do processo financeiro (nome da pessoa, número do documento, datas, etc.).

Cada registro em PARMCOMPLCAIXA combina até 4 filtros — Tipo de Conta, Tipo de Documento, Tipo de Baixa e Tipo de Processo — para determinar qual complemento aplicar. A procedure RETORNA_PARMCOMPLEMENTOCAIXA busca a combinação mais específica primeiro e, se não encontrar, vai relaxando filtros progressivamente até a combinação mais genérica (todos os filtros nulos).

Campos Envolvidos​

CampoTabelaTipoDescrição
DS_COMPLEMENTOPARMCOMPLCAIXADOM_VARCHAR240Texto-modelo com macros de substituição
ST_BLOQUEIOPARMCOMPLCAIXADOM_CHAR1Controla se o complemento pode ser editado pelo usuário no caixa (S = bloqueado, N = editável)
CD_TIPOCONTAPARMCOMPLCAIXADOM_INTEGERFiltro: tipo de conta (FK para TIPOCONTA)
TP_DOCUMENTOPARMCOMPLCAIXADOM_VARCHAR2Filtro: tipo de documento (ex: AV, NF, FT)
TP_BAIXAPARMCOMPLCAIXADOM_CHAR1Filtro: tipo de baixa (B=banco, X=caixa, T=cartão, I=incobrável)
TP_PROCESSOPARMCOMPLCAIXADOM_CHAR1Filtro: tipo de processo (P=pagamento, R=recebimento)

Macros Disponíveis​

O texto informado em DS_COMPLEMENTO aceita as seguintes macros, substituídas automaticamente pelas procedures RETORNA_COMPLEMENTO e RETORNA_PARMCOMPLEMENTOCAIXA:

MacroSubstituída porExemplo
%NNome da pessoa (cliente/fornecedor)"João da Silva"
%HDescrição do histórico contábil"Venda de mercadoria"
%DNúmero do documento / parcela"1234/1"
%NFNúmero da nota fiscal"5532"
%NCNúmero do documento (contas)"1234"
%SNSérie da nota fiscal"1"
%NPNúmero da parcela"1"
%NTTotal de parcelas"3"
%DLDia do lançamento"15"
%MLMês do lançamento"06"
%ALAno do lançamento"2025"
%DVDia do vencimento"20"
%MVMês do vencimento"07"
%AVAno do vencimento"2025"
%OCObservação da conta"Referente ao contrato 99"
%VCValor da conta (com contexto)—
%TCTipo de conta (com contexto)—
%BCBanco/conta corrente (com contexto)—
%AGAgência (com contexto)—

Lógica de Resolução (Hierarquia de Filtros)​

A procedure RETORNA_PARMCOMPLEMENTOCAIXA faz uma busca em cascata, do mais específico para o mais genérico:

  1. 4 filtros preenchidos — CD_TIPOCONTA + TP_DOCUMENTO + TP_BAIXA + TP_PROCESSO
  2. 3 filtros preenchidos — Relaxa CD_TIPOCONTA, depois TP_DOCUMENTO, depois TP_BAIXA, depois TP_PROCESSO
  3. 2 filtros preenchidos — Todas as combinações possíveis de 2 filtros
  4. 1 filtro preenchido — Apenas um dos 4 filtros, os demais nulos
  5. 0 filtros preenchidos — Registro "genérico" com todos os filtros nulos (fallback global)

Em cada passo, retorna o FIRST 1 registro encontrado.

Telas Impactadas​

TelaImpacto
Tela de Caixa (jCaixa)Ao registrar um movimento, o sistema chama RETORNA_COMPLEMENTO que consulta PARMCOMPLCAIXA para preencher automaticamente o campo DS_COMPLEMENTO do movimento
Extrato de Caixa (LCX001)O complemento resolvido aparece na coluna DS_COMPLEMENTO do extrato
Consulta Financeira (CFC002)O complemento é exibido nos resultados de consulta de movimentos de caixa
Relatórios Contábeis (CCB001)O complemento é utilizado como filtro e exibição em relatórios contábeis

Opções Disponíveis​

DS_COMPLEMENTO é um campo de texto livre — não possui opções pré-definidas. A configuração é feita por registro, combinando os filtros da tabela PARMCOMPLCAIXA.

Exemplo 1 — Complemento genérico para recebimento​

O que fazDetalhe
Define um texto-modelo global para recebimentosTodos os filtros nulos exceto TP_PROCESSO = R

Simulação passo a passo​

  1. Acesse a tela TFC007 — Parâmetros de Complemento do Caixa.
  2. Clique em Incluir para criar um novo registro.
  3. No campo Tipo de Processo, selecione R (Recebimento).
  4. Deixe os campos Tipo de Conta, Tipo de Documento e Tipo de Baixa vazios (nulos).
  5. No campo Complemento, digite: Recto %N - Doc %D.
  6. No campo Bloqueio, selecione S para impedir edição pelo usuário no caixa.
  7. Clique em Salvar.

Resultado esperado: Ao receber um pagamento no caixa para a pessoa "Maria Oliveira" com documento 500/parcela 1, o complemento será preenchido automaticamente como "Recto Maria Oliveira - Doc 500/1", e o campo ficará bloqueado para edição.


Exemplo 2 — Complemento específico para recebimento em banco de um tipo de conta​

O que fazDetalhe
Define complemento específico para um tipo de conta + baixa bancária + recebimentoCD_TIPOCONTA + TP_BAIXA = B + TP_PROCESSO = R

Simulação passo a passo​

  1. Acesse a tela TFC007 — Parâmetros de Complemento do Caixa.
  2. Clique em Incluir para criar um novo registro.
  3. No campo Tipo de Conta, selecione o tipo de conta desejado (ex: "Duplicata").
  4. No campo Tipo de Baixa, selecione B (Banco).
  5. No campo Tipo de Processo, selecione R (Recebimento).
  6. Deixe o campo Tipo de Documento vazio.
  7. No campo Complemento, digite: Recto Banco %N - NF %NF - Venc %DV/%MV/%AV.
  8. Clique em Salvar.

Resultado esperado: Ao receber uma duplicata via banco para "João Santos" com NF 1200 e vencimento 15/08/2025, o complemento será "Recto Banco João Santos - NF 1200 - Venc 15/08/2025". Este registro tem prioridade sobre configurações mais genéricas.


Exemplo 3 — Complemento com bloqueio desligado (editável)​

O que fazDetalhe
Sugere um complemento mas permite edição manualST_BLOQUEIO = N

Simulação passo a passo​

  1. Acesse a tela TFC007 — Parâmetros de Complemento do Caixa.
  2. Clique em Incluir para criar um novo registro.
  3. Deixe todos os filtros vazios para criar um registro genérico (fallback).
  4. No campo Complemento, digite: %H - %N.
  5. No campo Bloqueio, selecione N.
  6. Clique em Salvar.

Resultado esperado: Ao registrar qualquer movimento de caixa sem configuração mais específica, o complemento será preenchido com "Venda de mercadoria - Maria Oliveira", mas o operador poderá editar livremente o texto antes de confirmar.

Exceção / Importante: Quando ST_BLOQUEIO = S (bloqueado), o campo edtDS_COMPLEMENTO na tela do Caixa é definido como ReadOnly = True, impedindo alteração. Quando ST_BLOQUEIO = N, o campo permanece editável. Esse controle é feito em UdmCaixa.pas conforme retorno da procedure RETORNA_COMPLEMENTO.

Regra de Fallback​

Se nenhum registro em PARMCOMPLCAIXA atender aos filtros, o sistema utiliza como fallback:

  1. O campo DS_COMPLEMENTO da tabela TIPOCONTA (complemento configurado no próprio tipo de conta).
  2. O campo DS_COMPLEMENTO da tabela PARMFINANC (complemento padrão dos parâmetros financeiros), configurado em DS_COMPLEMENTO (configurado em PARMFINANC, tabela de parâmetros financeiros).
  3. Um texto montado automaticamente com o prefixo do tipo de operação (ex: "Pagto Banco", "Recto Caixa", "Baixa Duplicata Incobrável").

Nota: O parâmetro TP_COMPLEMENTO (configurado em PARMFINANC, tabela de parâmetros financeiros) influencia qual dessas fontes é utilizada: quando TP_COMPLEMENTO = 'T', o sistema busca o complemento de cada tipo de conta individualmente; quando TP_COMPLEMENTO = 'A', utiliza o complemento de PARMFINANC como fallback.

Procedures Impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
TdmCaixa (movimento)source/jCaixa/UdmCaixa.pasChama RETORNA_COMPLEMENTO ao registrar movimentos de caixa; controla bloqueio do campo
TdmFNC001.tabPARMFINANCAfterInsertsource/FNC001/UdmFNC001.pasInicializa DS_COMPLEMENTO de PARMFINANC com valor padrão '%N'

Procedures SQL com referência direta à tabela PARMCOMPLCAIXA​

ProcedureArquivoDescrição
RETORNA_PARMCOMPLEMENTOCAIXAScripts/RETORNA_PARMCOMPLEMENTOCAIXA.sqlBusca o complemento em PARMCOMPLCAIXA com resolução em cascata (mais específico → mais genérico)
RETORNA_COMPLEMENTOScripts/RETORNA_COMPLEMENTO.sqlProcedure principal que chama RETORNA_PARMCOMPLEMENTOCAIXA, aplica macros e monta o texto final
RETORNA_COMPLEMENTOPROCESSO_MXScripts/RETORNA_COMPLEMENTOPROCESSO_MX.sqlResolve tipo de conta, baixa e chama RETORNA_PARMCOMPLEMENTOCAIXA para cada movimento do processo
EXTRATO_CAIXAScripts/EXTRATO_CAIXA.sqlUtiliza DS_COMPLEMENTO de MOVTOCAIXA (resultado da resolução) na exibição do extrato

Candidatas por uso da tabela (referência indireta)​

ProcedureArquivoObservação
GERA_INTEGRACAOScripts/GERA_INTEGRACAO.sqlDeclara I_DS_COMPLEMENTO VARCHAR(240) — pode receber o complemento resolvido
GERA_MOVTOCONTABILScripts/GERA_MOVTOCONTABIL.sqlDeclara I_DS_COMPLEMENTO VARCHAR(500) — usa complemento na geração contábil
GERA_SPEDCONTABILScripts/GERA_SPEDFCONT.sqlDeclara V_DS_COMPLEMENTO — usa complemento em exportações fiscais

Tabela Comparativa Resumida​

SituaçãoFiltros PreenchidosPrioridade
Complemento ultra-específico4 filtros (Tipo de Conta + Documento + Baixa + Processo)1ª (mais alta)
Complemento parcial (3 filtros)Qualquer combinação de 32ª
Complemento parcial (2 filtros)Qualquer combinação de 23ª
Complemento parcial (1 filtro)Qualquer combinação de 14ª
Complemento genérico (fallback local)Nenhum filtro5ª
Complemento do Tipo de Conta (TIPOCONTA.DS_COMPLEMENTO)—6ª
Complemento do Financeiro (PARMFINANC.DS_COMPLEMENTO)—7ª
Texto automático (prefixo de operação)—8ª (último recurso)