DS_COMPLEMENTO - Tipo de Complemento do Caixa
Tela de configuração: FNC001 — Parâmetros Financeiros Aba: Caixa Campo:
PARMFINANC.DS_COMPLEMENTOTipo: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
| Tela | Descrição | Impacto |
|---|---|---|
| FNC001 | Parâmetros Financeiros | Configuração direta do parâmetro |
| CCB001 | Consulta de Movimentos de Caixa | Filtro por complemento (LIKE) |
| CFC002 | Relatório de Extrato de Caixa | Filtro por complemento (LIKE) |
| CNF001 | Cadastro de Pessoa | Exibe complemento em relatórios de endereço |
| CNF012 | Emissão de NF | Complemento no endereço do destinatário |
| CNF014 | Emissão de CT-e | Complemento nos dados do embarcador/destinatário |
Campos envolvidos
| Campo | Tabela | Tipo | Observação |
|---|---|---|---|
DS_COMPLEMENTO | PARMFINANC | VARCHAR(240) | Parâmetro principal |
DS_COMPLEMENTO | MOVTOCAIXA | VARCHAR(240) | Armazena o complemento gerado |
DS_COMPLEMENTO | MOVTOCAIXACTB | VARCHAR(240) | Complemento na contabilização |
DS_COMPLEMENTO | MOVTOCONTABIL | VARCHAR(150) | Complemento no histórico contábil |
DS_COMPLEMENTO | PARMCOMPLCAIXA | VARCHAR(240) | Regras específicas por tipo de conta |
TP_COMPLEMENTO | PARMFINANC | CHAR(1) | Tipo de complemento: 'A' = Automático, 'T' = Tipo Conta |
DS_COMPLEMENTO | TIPOCONTA | VARCHAR(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 faz | Detalhe |
|---|---|
| Texto livre editável | Aceita qualquer string de até 240 caracteres |
Padrão %N | Expandido para o nome da pessoa no contexto da operação |
| Usado como fallback | Aplicado 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 oDS_COMPLEMENTOda tabelaTIPOCONTA(configurado em MFA010 — Parâmetros do Usuário ou manutenção de tipo de conta); - Se
TP_COMPLEMENTO <> 'T'→ tentaPARMCOMPLCAIXApor tipo de conta/documento; - Se nada foi encontrado → usa o
DS_COMPLEMENTOdePARMFINANC(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) — usaPARMCOMPLCAIXAcom fallback paraPARMFINANC.DS_COMPLEMENTO'T'(Tipo Conta) — usaTIPOCONTA.DS_COMPLEMENTOcom fallback paraPARMFINANC.DS_COMPLEMENTO
Simulação passo a passo (configuração padrão)
- Acesse a tela
FNC001(Parâmetros Financeiros). - Abra a aba
&Caixa. - Localize o campo "Tipo de Complemento" (
DS_COMPLEMENTO). - Digite o texto padrão desejado para os complementos de caixa (ex.:
%Npara usar apenas o nome da pessoa, ouPgto %N Doc %Dpara incluir nome e documento). - 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)
- Acesse a tela
FNC001(Parâmetros Financeiros). - Abra a aba
&Caixa. - Configure
DS_COMPLEMENTOcomo modelo genérico (ex.:Doc %D). - Configure
TP_COMPLEMENTOcomo'A'(selecionar "Automático" na tela). - Acesse a tela de tipo de conta (manutenção de
TIPOCONTA) e configureDS_COMPLEMENTOem cada tipo de conta desejado. - Realize uma baixa de caixa (ex.: via
CFC001ou 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 registroPARMFINANC) define de onde será buscado o complemento. SeTP_COMPLEMENTO = 'T', o sistema ignoraPARMCOMPLCAIXAe usa diretamenteTIPOCONTA.DS_COMPLEMENTO. Em ambos os casos, o campoDS_COMPLEMENTOdesta 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
| Rotina | Arquivo | Evidência |
|---|---|---|
TdmFNC001.tabPARMFINANCAfterInsert | source/FNC001/UdmFNC001.pas:390 | Default %N no AfterInsert |
iniciar | source/CCB001/UCCB001.pas:216 | Recebe como parâmetro de filtro |
TfrmCCB001.btnProcurarClick | source/CCB001/UCCB001.pas:456 | Filtro LIKE em MOVTOCAIXA.DS_COMPLEMENTO |
TfrmCFC002.btnProcurarClick | source/CFC002/UCFC002.pas:710 | Seleciona MOVTOCAIXA.DS_COMPLEMENTO |
MontaWhere | source/CFC002/UCFC002.pas:348 | Filtro LIKE por complemento no extrato |
Referências SQL diretas (uso do campo em scripts)
| Procedure/View | Arquivo | Uso |
|---|---|---|
RETORNA_COMPLEMENTO | Scripts/RETORNA_COMPLEMENTO.sql:58 | SELECT Coalesce(DS_COMPLEMENTO,'') FROM PARMFINANC — leitura do parâmetro |
CONTABILIZA_BAIXAIMPOSTO | Scripts/CONTABILIZA_BAIXAIMPOSTO.sql:66 | Inserção em MOVTOCONTABIL.DS_COMPLEMENTO |
CONTABILIZA_CUPOMFISCAL | Scripts/CONTABILIZA_CUPOMFISCAL.sql:147 | Inserção em MOVTOCONTABIL.DS_COMPLEMENTO |
CONTABILIZA_ESTOQUE | Scripts/CONTABILIZA_ESTOQUE.sql:15 | Variável V_DS_COMPLEMENTO |
CONTABILIZA_IMPOSTONOTACTB | Scripts/CONTABILIZA_IMPOSTONOTACTB.sql:24 | Variável V_DS_COMPLEMENTO DOM_VARCHAR240 |
CONTABILIZA_REPARCELAMENTO | Scripts/CONTABILIZA_REPARCELAMENTO.sql:179 | Inserção de DS_COMPLEMENTO em histórico |
CONTABILIZA_TAXABOLETO | Scripts/CONTABILIZA_TAXABOLETO.sql:17 | Variável V_DS_COMPLEMENTO |
CONTABILIZA_VENDOR | Scripts/CONTABILIZA_VENDOR.sql:97 | Inserção em MOVTOCONTABIL.DS_COMPLEMENTO |
GERA_MOVTOCONTABIL | Scripts/GERA_MOVTOCONTABIL.sql:16 | Entrada I_DS_COMPLEMENTO varchar(500) |
GERA_CONTASCTB | Scripts/GRAVA_CONTASCTB.sql:96 | `DS_COMPLEMENTO = 'Doc ' |
GRAVA_MOVTOCAIXA | Scripts/GRAVA_MOVTOCAIXA.sql:222 | JOIN PARMFINANC — contexto do complemento |
GRAVA_MOVTOPROCESSO | Scripts/GRAVA_MOVTOPROCESSO.sql:276 | FROM PARMFINANC — contexto |
GERA_SPEDCONTABIL | Scripts/GERA_SPEDCONTABIL.sql:71 | Variável V_DS_COMPLEMENTO varchar(240) |
GERA_SPEDECF | Scripts/GERA_SPEDECF.sql:35 | Variável V_DS_COMPLEMENTO varchar(240) |
GERA_SPEDFCONT | Scripts/GERA_SPEDFCONT.sql:41 | Variável V_DS_COMPLEMENTO varchar(240) |
GERA_MANADCONTABIL | Scripts/GERA_MANADCONTABIL.sql:54 | Variável V_DS_COMPLEMENTO varchar(240) |
GRAVA_DEPRECIACAO | Scripts/GRAVA_DEPRECIACAO.sql:145 | Inserção de DS_COMPLEMENTO |
GRAVA_COMISSAOCONTAS | Scripts/GRAVA_COMISSAOCONTAS.sql:26 | Variável V_DS_COMPLEMENTO varchar(240) |
REPROCESSA_COMPLEMENTOS | Scripts/REPROCESSA_COMPLEMENTOS.sql:48 | FROM PARMFINANC — contexto |
REPROCESSA_COMPLEMENTOSPROCESSO | Scripts/REPROCESSA_COMPLEMENTOSPROCESSO.sql:42 | FROM PARMFINANC — contexto |
Candidatas por uso da tabela PARMFINANC
Estas procedures leem
PARMFINANCmas não foram encontradas com referência literal ao campoDS_COMPLEMENTOnos 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ário | Fonte do complemento | Fallback |
|---|---|---|
TP_COMPLEMENTO = 'A' + regra em PARMCOMPLCAIXA | PARMCOMPLCAIXA.DS_COMPLEMENTO | PARMFINANC.DS_COMPLEMENTO |
TP_COMPLEMENTO = 'A' + sem regra específica | — | PARMFINANC.DS_COMPLEMENTO |
TP_COMPLEMENTO = 'T' + TIPOCONTA configurado | TIPOCONTA.DS_COMPLEMENTO | PARMFINANC.DS_COMPLEMENTO |
TP_COMPLEMENTO = 'T' + TIPOCONTA sem complemento | — | PARMFINANC.DS_COMPLEMENTO |
Lacunas de investigação
- 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 emRETORNA_COMPLEMENTOou em rotinas chamadas por ela (RETORNA_PARMCOMPLEMENTOCAIXA,RETORNA_COMPLEMENTOPROCESSO_MX), que não foram integralmente inspectadas nesta rodada. - Tela de
PARMCOMPLCAIXA: Não há evidência direta de qual tela configura a tabelaPARMCOMPLCAIXA(regras específicas por tipo de conta). Recomenda-se buscar referências emsource/para identificar a tela de manutenção. - Validação de tamanho: O campo é
DOM_VARCHAR240(240 caracteres). Não foi encontrada validação explícita de truncamento na telaFNC001.