Pular para o conteúdo principal

DS_COMPLEMENTO - Tipo de Complemento do Caixa

Tela de configuração: FNC001 — Parâmetros Financeiros Aba: Caixa Campo: PARMFINANC.DS_COMPLEMENTO Tipo: VARCHAR(240) / DOM_VARCHAR240 (NOT NULL) Valor padrão: %N

Descrição​

O parâmetro DS_COMPLEMENTO define o texto padrão de complemento que será utilizado nos lançamentos de caixa e nos históricos contábeis gerados automaticamente pelo ERP.

O valor armazenado funciona como um modelo de texto (template) que é expandido com variáveis do contexto da operação (nome da pessoa, documento, parcelas, etc.) durante o processo de contabilização e baixa de títulos.

Quando não existem regras mais específicas configuradas na tabela PARMCOMPLCAIXA, o sistema utiliza este texto como fallback padrão.

A procedure central RETORNA_COMPLEMENTO lê este valor de PARMFINANC e o aplica como complemento em diversos cenários: baixa de contas, retificação de processo, lançamento avulso, baixa por cartão/pix/boleto, entre outros.

Telas impactadas​

TelaDescriçãoImpacto
FNC001Parâmetros FinanceirosConfiguração direta do parâmetro
CCB001Consulta de Movimentos de CaixaFiltro por complemento (LIKE)
CFC002Relatório de Extrato de CaixaFiltro por complemento (LIKE)
CNF001Cadastro de PessoaExibe complemento em relatórios de endereço
CNF012Emissão de NFComplemento no endereço do destinatário
CNF014Emissão de CT-eComplemento nos dados do embarcador/destinatário

Campos envolvidos​

CampoTabelaTipoObservação
DS_COMPLEMENTOPARMFINANCVARCHAR(240)Parâmetro principal
DS_COMPLEMENTOMOVTOCAIXAVARCHAR(240)Armazena o complemento gerado
DS_COMPLEMENTOMOVTOCAIXACTBVARCHAR(240)Complemento na contabilização
DS_COMPLEMENTOMOVTOCONTABILVARCHAR(150)Complemento no histórico contábil
DS_COMPLEMENTOPARMCOMPLCAIXAVARCHAR(240)Regras específicas por tipo de conta
TP_COMPLEMENTOPARMFINANCCHAR(1)Tipo de complemento: 'A' = Automático, 'T' = Tipo Conta
DS_COMPLEMENTOTIPOCONTAVARCHAR(240)Complemento alternativo quando TP_COMPLEMENTO = 'T'

Opções disponíveis​

Este parâmetro é um campo de texto livre (edit), sem enum fixo. O valor é usado como modelo/template que contém variáveis no formato %X (ex.: %N, %D, %V) que são expandidas em tempo de execução.

O que fazDetalhe
Texto livre editávelAceita qualquer string de até 240 caracteres
Padrão %NExpandido para o nome da pessoa no contexto da operação
Usado como fallbackAplicado quando não há regra específica em PARMCOMPLCAIXA ou TIPOCONTA

A expansão das variáveis é controlada pela procedure RETORNA_COMPLEMENTO (arquivo RETORNA_COMPLEMENTO.sql). A lógica geral é:

  • Se TP_COMPLEMENTO = 'T' → usa o DS_COMPLEMENTO da tabela TIPOCONTA (configurado em MFA010 — Parâmetros do Usuário ou manutenção de tipo de conta);
  • Se TP_COMPLEMENTO <> 'T' → tenta PARMCOMPLCAIXA por tipo de conta/documento;
  • Se nada foi encontrado → usa o DS_COMPLEMENTO de PARMFINANC (este parâmetro).

O controle de qual fonte é usada fica no parâmetro TP_COMPLEMENTO (configurado em FNC001 — aba Caixa, campo "Tipo de Complemento"). Valores possíveis:

  • 'A' (Automático/Padrão) — usa PARMCOMPLCAIXA com fallback para PARMFINANC.DS_COMPLEMENTO
  • 'T' (Tipo Conta) — usa TIPOCONTA.DS_COMPLEMENTO com fallback para PARMFINANC.DS_COMPLEMENTO

Simulação passo a passo (configuração padrão)​

  1. Acesse a tela FNC001 (Parâmetros Financeiros).
  2. Abra a aba &Caixa.
  3. Localize o campo "Tipo de Complemento" (DS_COMPLEMENTO).
  4. Digite o texto padrão desejado para os complementos de caixa (ex.: %N para usar apenas o nome da pessoa, ou Pgto %N Doc %D para incluir nome e documento).
  5. Salve o registro.

Resultado esperado: Os lançamentos de caixa e contabilizações subsequentes passarão a utilizar o texto configurado como complemento padrão, com as variáveis %X expandidas no momento da operação.

Simulação passo a passo (com regra específica por tipo de conta)​

  1. Acesse a tela FNC001 (Parâmetros Financeiros).
  2. Abra a aba &Caixa.
  3. Configure DS_COMPLEMENTO como modelo genérico (ex.: Doc %D).
  4. Configure TP_COMPLEMENTO como 'A' (selecionar "Automático" na tela).
  5. Acesse a tela de tipo de conta (manutenção de TIPOCONTA) e configure DS_COMPLEMENTO em cada tipo de conta desejado.
  6. Realize uma baixa de caixa (ex.: via CFC001 ou similar).

Resultado esperado: O sistema busca primeiro o complemento em PARMCOMPLCAIXA (regra específica); se não encontrar, usa TIPOCONTA.DS_COMPLEMENTO quando TP_COMPLEMENTO = 'T'; se ainda não encontrar, usa o DS_COMPLEMENTO de PARMFINANC como fallback final.

Exceção / Importante: O parâmetro TP_COMPLEMENTO (mesma tela, mesmo registro PARMFINANC) define de onde será buscado o complemento. Se TP_COMPLEMENTO = 'T', o sistema ignora PARMCOMPLCAIXA e usa diretamente TIPOCONTA.DS_COMPLEMENTO. Em ambos os casos, o campo DS_COMPLEMENTO desta tela (PARMFINANC) funciona como último fallback.

Importante: O valor %N é o padrão de fábrica. Ele será expandido para o nome da pessoa envolvida na operação. Se o campo estiver vazio (não deve ocorrer, pois é NOT NULL), o complemento será texto vazio.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoEvidência
TdmFNC001.tabPARMFINANCAfterInsertsource/FNC001/UdmFNC001.pas:390Default %N no AfterInsert
iniciarsource/CCB001/UCCB001.pas:216Recebe como parâmetro de filtro
TfrmCCB001.btnProcurarClicksource/CCB001/UCCB001.pas:456Filtro LIKE em MOVTOCAIXA.DS_COMPLEMENTO
TfrmCFC002.btnProcurarClicksource/CFC002/UCFC002.pas:710Seleciona MOVTOCAIXA.DS_COMPLEMENTO
MontaWheresource/CFC002/UCFC002.pas:348Filtro LIKE por complemento no extrato

Referências SQL diretas (uso do campo em scripts)​

Procedure/ViewArquivoUso
RETORNA_COMPLEMENTOScripts/RETORNA_COMPLEMENTO.sql:58SELECT Coalesce(DS_COMPLEMENTO,'') FROM PARMFINANC — leitura do parâmetro
CONTABILIZA_BAIXAIMPOSTOScripts/CONTABILIZA_BAIXAIMPOSTO.sql:66Inserção em MOVTOCONTABIL.DS_COMPLEMENTO
CONTABILIZA_CUPOMFISCALScripts/CONTABILIZA_CUPOMFISCAL.sql:147Inserção em MOVTOCONTABIL.DS_COMPLEMENTO
CONTABILIZA_ESTOQUEScripts/CONTABILIZA_ESTOQUE.sql:15Variável V_DS_COMPLEMENTO
CONTABILIZA_IMPOSTONOTACTBScripts/CONTABILIZA_IMPOSTONOTACTB.sql:24Variável V_DS_COMPLEMENTO DOM_VARCHAR240
CONTABILIZA_REPARCELAMENTOScripts/CONTABILIZA_REPARCELAMENTO.sql:179Inserção de DS_COMPLEMENTO em histórico
CONTABILIZA_TAXABOLETOScripts/CONTABILIZA_TAXABOLETO.sql:17Variável V_DS_COMPLEMENTO
CONTABILIZA_VENDORScripts/CONTABILIZA_VENDOR.sql:97Inserção em MOVTOCONTABIL.DS_COMPLEMENTO
GERA_MOVTOCONTABILScripts/GERA_MOVTOCONTABIL.sql:16Entrada I_DS_COMPLEMENTO varchar(500)
GERA_CONTASCTBScripts/GRAVA_CONTASCTB.sql:96`DS_COMPLEMENTO = 'Doc '
GRAVA_MOVTOCAIXAScripts/GRAVA_MOVTOCAIXA.sql:222JOIN PARMFINANC — contexto do complemento
GRAVA_MOVTOPROCESSOScripts/GRAVA_MOVTOPROCESSO.sql:276FROM PARMFINANC — contexto
GERA_SPEDCONTABILScripts/GERA_SPEDCONTABIL.sql:71Variável V_DS_COMPLEMENTO varchar(240)
GERA_SPEDECFScripts/GERA_SPEDECF.sql:35Variável V_DS_COMPLEMENTO varchar(240)
GERA_SPEDFCONTScripts/GERA_SPEDFCONT.sql:41Variável V_DS_COMPLEMENTO varchar(240)
GERA_MANADCONTABILScripts/GERA_MANADCONTABIL.sql:54Variável V_DS_COMPLEMENTO varchar(240)
GRAVA_DEPRECIACAOScripts/GRAVA_DEPRECIACAO.sql:145Inserção de DS_COMPLEMENTO
GRAVA_COMISSAOCONTASScripts/GRAVA_COMISSAOCONTAS.sql:26Variável V_DS_COMPLEMENTO varchar(240)
REPROCESSA_COMPLEMENTOSScripts/REPROCESSA_COMPLEMENTOS.sql:48FROM PARMFINANC — contexto
REPROCESSA_COMPLEMENTOSPROCESSOScripts/REPROCESSA_COMPLEMENTOSPROCESSO.sql:42FROM PARMFINANC — contexto

Candidatas por uso da tabela PARMFINANC​

Estas procedures leem PARMFINANC mas não foram encontradas com referência literal ao campo DS_COMPLEMENTO nos scripts.

CALCULA_CAPITAL, CALCULA_JURO, CALCULA_JUROMORA, CANCELA_CONTAS, CONTROLE_CAIXA, ESTORNA_MOVTOCAIXA, GERA_DUPLICATAS, GRAVA_CHEQUECARTAO, GRAVA_CONTAS, GRAVA_MOVTOCAIXAINDIVIDUAL, GRAVA_PROCESSOSMART, PROCESSA_FATURA, PROCESSA_REPARCELAMENTO, RECALCULA_SALDOCAIXACONTA.

Tabela comparativa resumida​

CenárioFonte do complementoFallback
TP_COMPLEMENTO = 'A' + regra em PARMCOMPLCAIXAPARMCOMPLCAIXA.DS_COMPLEMENTOPARMFINANC.DS_COMPLEMENTO
TP_COMPLEMENTO = 'A' + sem regra específica—PARMFINANC.DS_COMPLEMENTO
TP_COMPLEMENTO = 'T' + TIPOCONTA configuradoTIPOCONTA.DS_COMPLEMENTOPARMFINANC.DS_COMPLEMENTO
TP_COMPLEMENTO = 'T' + TIPOCONTA sem complemento—PARMFINANC.DS_COMPLEMENTO

Lacunas de investigação​

  1. Expansão de variáveis (%N, %D, etc.): O dicionário de variáveis suportadas (ex.: %N = Nome, %D = Documento, %V = Valor) não foi encontrado explicitamente no código-fonte analisado. A expansão ocorre em RETORNA_COMPLEMENTO ou em rotinas chamadas por ela (RETORNA_PARMCOMPLEMENTOCAIXA, RETORNA_COMPLEMENTOPROCESSO_MX), que não foram integralmente inspectadas nesta rodada.
  2. Tela de PARMCOMPLCAIXA: Não há evidência direta de qual tela configura a tabela PARMCOMPLCAIXA (regras específicas por tipo de conta). Recomenda-se buscar referências em source/ para identificar a tela de manutenção.
  3. Validação de tamanho: O campo é DOM_VARCHAR240 (240 caracteres). Não foi encontrada validação explícita de truncamento na tela FNC001.