CD_EMPRESA - Código da Empresa (Integração Financeira)
Tela de configuração: FNC001 - Parâmetros do Financeiro Localização: Aba Financeiro 1 → campo "Dados do Parâmetro" Tabela principal:
PARMFINANC.CD_EMPRESA(chave primária) Tabela destino:PARMINTEGRACAOFINANC.CD_EMPRESA(parte da PK:CD_EMPRESA,CD_INTEGRACAO) Tipo:DOM_INTEGER NOT NULLControle: Edit com busca (<F9>)
Telas impactadas
| Tela | Uso |
|---|---|
| FNC001 | Seleção da empresa cujos parâmetros financeiros serão configurados |
| ADM001 | Cadastro de usuários e liberação de empresas por usuário |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_EMPRESA | PARMFINANC | Código da empresa (PK) — campo editável pelo usuário |
NM_EMPRESA | PARMFINANC | Nome da empresa — preenchido automaticamente na validação |
CD_EMPRESA | PARMINTEGRACAOFINANC | Herdado de PARMFINANC.CD_EMPRESA (PK da integração) |
CD_EMPRESA | EXPURGOFINANC | Herdado de PARMFINANC.CD_EMPRESA |
CD_EMPRESA | CONTASBLOQFINANC | Herdado de PARMFINANC.CD_EMPRESA |
CD_EMPRESA | DEPSSMARTTIPOPESSOA | Herdado de PARMFINANC.CD_EMPRESA |
Comportamento
O campo CD_EMPRESA identifica a empresa para a qual estão sendo configurados os parâmetros do módulo financeiro. Ele não possui opções ou valores predefinidos — é um campo livre que aceita qualquer código de empresa válido e liberado para o usuário logado.
Validações ao informar o código
| O que faz | Detalhe |
|---|---|
| Verifica existência da empresa | Consulta EMPRESA + USUARIOEMPRESA para confirmar que o código existe e está liberado para o usuário |
| Impede duplicidade | Verifica se já existem parâmetros financeiros (PARMFINANC) cadastrados para a empresa informada |
| Preenche nome automaticamente | Após validação, carrega NM_EMPRESA no campo ao lado |
| Propaga para tabelas filhas | Ao criar registros em PARMINTEGRACAOFINANC, EXPURGOFINANC, CONTASBLOQFINANC e DEPSSMARTTIPOPESSOA, o CD_EMPRESA é copiado automaticamente |
| Filtra dados ao navegar | No AfterScroll de PARMFINANC, recalibra as queries de contas bloqueadas, integrações DepsSmart e tipos de conta/pessoa pelo CD_EMPRESA corrente |
Simulação passo a passo
- Acesse a tela FNC001 - Parâmetros do Financeiro.
- Posicione o cursor no campo Código da Empresa (cor de fundo salmão, editável em inclusão).
- Digite o número da empresa (ex.:
1) ou pressione<F9>para abrir a janela de busca de empresas. - Na busca, selecione a empresa desejada e confirme.
- Ao sair do campo, o sistema valida o código e preenche automaticamente o nome da empresa ao lado.
Resultado esperado: O campo exibe o código da empresa e o nome aparece ao lado; as abas de integração, expurgo e contas bloqueadas passam a exibir os dados vinculados a essa empresa.
Exceção / Importante:
- Se a empresa não estiver liberada para o usuário logado (tabela
USUARIOEMPRESA), o sistema exibe a mensagem: "Empresa não cadastrada ou não liberada para o usuario [XYZ]! [ADM001]". A liberação é feita em ADM001 — Cadastro de Usuários, aba empresas do usuário.- Se já existirem parâmetros financeiros cadastrados para a empresa, o sistema bloqueia com: "Empresa informada já está cadastrada!".
- O campo é bloqueado para edição quando o registro já está salvo (modo edição), só sendo editável em inclusão (verificado por
BloqueiaChavenoAfterScroll).
Propagação para tabelas filhas
O CD_EMPRESA informado em PARMFINANC é automaticamente atribuído nas seguintes situações:
| Tabela filha | Momento da propagação | Trecho relevante |
|---|---|---|
PARMINTEGRACAOFINANC | BeforePost e AfterInsert | tabPARMINTEGRACAOFINANCCD_EMPRESA.AsInteger := tabPARMFINANCCD_EMPRESA.AsInteger |
EXPURGOFINANC | BeforePost | tabEXPURGOFINANCCD_EMPRESA.AsInteger := tabPARMFINANCCD_EMPRESA.AsInteger |
CONTASBLOQFINANC | AfterScroll de PARMFINANC | ParamByName('CD_EMPRESA').AsInteger := tabPARMFINANCCD_EMPRESA.AsInteger |
DEPSSMARTTIPOPESSOA | BeforePost (se vazio) | tabDEPSSMARTTIPOPESSOACD_EMPRESA.AsString := tabPARMFINANCCD_EMPRESA.AsString |
PARMINTEGRACAODEPSSMART | AfterScroll de PARMFINANC | ParamByName('CD_EMPRESA').AsInteger := tabPARMFINANCCD_EMPRESA.AsInteger |
DEPSSMARTTIPOCONTA | AfterScroll de PARMFINANC | ParamByName('CD_EMPRESA').AsInteger := tabPARMFINANCCD_EMPRESA.AsInteger |
Uso em Views e Consultas
O CD_EMPRESA dos parâmetros financeiros é utilizado como parâmetro de filtro nas seguintes views:
VIEW_PARMSALDO— Consulta de saldo de parâmetros, recebeCD_EMPRESAcomo primeiro argumento.VIEW_PLANOCONTAS— Consulta de plano de contas, recebeCD_EMPRESApara filtrar contas da empresa.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Descrição |
|---|---|---|---|
tabPARMFINANCCD_EMPRESAValidate | UdmFNC001.pas | 361 | Valida existência da empresa, liberação para o usuário e duplicidade de parâmetros |
tabPARMFINANCAfterScroll | UdmFNC001.pas | 325 | Propaga CD_EMPRESA para tabelas filhas e recalibra queries |
tabPARMINTEGRACAOFINANCAfterInsert | UdmFNC001.pas | 1180 | Atribui CD_EMPRESA ao novo registro de integração |
tabPARMINTEGRACAOFINANCBeforePost | UdmFNC001.pas | 908 | Re-atribui CD_EMPRESA antes de salvar integração |
tabEXPURGOFINANCBeforePost | UdmFNC001.pas | 975 | Valida duplicidade de expurgo e atribui CD_EMPRESA |
tabDEPSSMARTTIPOPESSOABeforePost | UdmFNC001.pas | 1287 | Preenche CD_EMPRESA se estiver vazio |
edtCD_EMPRESAKeyDown | UFNC001.pas | 727 | Busca de empresa via <F9> |
Referências SQL diretas ao campo
Não foi encontrada referência direta ao campo CD_EMPRESA de PARMINTEGRACAOFINANC em procedures SQL. O campo é utilizado apenas no contexto da aplicação Delphi (FNC001) como chave de relacionamento.
Nota: Diversas stored procedures do sistema recebem
I_CD_EMPRESAcomo parâmetro de entrada (ex.:ATUALIZA_CONTACONTABIL,ATUALIZA_CREDITO,ATUALIZA_ESTATISTICAITEM, etc.), porém essas referem-se ao código da empresa em contexto geral, não especificamente ao campoPARMINTEGRACAOFINANC.CD_EMPRESA.