Pular para o conteúdo principal

CD_EMPRESA — Identificador da Empresa

Tela de configuração: MFA001 — Parâmetros de Faturamento Tabela: PARMFATUR.CD_EMPRESA Tipo: DOM_INTEGER NOT NULL Papel no sistema: Chave primária da tabela PARMFATUR

Descrição​

CD_EMPRESA não é um parâmetro com opções configuráveis. É o campo de chave primária que identifica a qual empresa pertence o conjunto de parâmetros de faturamento. Cada registro em PARMFATUR corresponde a uma única empresa do sistema.

O valor é preenchido automaticamente pelo sistema no momento da inserção, utilizando a empresa ativa na sessão do usuário:

// UdmMFA001.pas:436 — tabPARMFATURAfterInsert
tabPARMFATURCD_EMPRESA.AsInteger := sessao.empresa.cd_empresa;

Comportamento​

O que fazDetalhe
PreenchimentoAutomático ao criar novo registro, com base na empresa da sessão
Edição manualNão — o valor é atribuído pelo sistema
Permite duplicidadeNão — é chave primária (NOT NULL, valor único)
RelacionamentoReferencia EMPRESA.CD_EMPRESA

Regras​

  1. Chave primária: Cada empresa possui exatamente um registro em PARMFATUR. Não é possível cadastrar dois conjuntos de parâmetros para a mesma empresa.
  2. Preenchimento automático: Ao clicar "Novo" na tela MFA001, o campo CD_EMPRESA recebe automaticamente o código da empresa logada (sessao.empresa.cd_empresa).
  3. Propagação para sub-tabelas: Quando o usuário inclui subgrupos em SUBGRUPOPARMFATUR, o CD_EMPRESA é copiado do registro pai:
    // UdmMFA001.pas:2092 — tabSUBGRUPOPARMFATURBeforePost
    tabSUBGRUPOPARMFATURCD_EMPRESA.AsString := tabPARMFATURCD_EMPRESA.AsString;
  4. Validação de duplicidade em subgrupos: A procedure tabSUBGRUPOPARMFATURCD_SUBGRUPOValidate usa CD_EMPRESA para garantir que não haja subgrupo duplicado na mesma empresa.

Simulação passo a passo​

Criação de novos parâmetros de faturamento​

  1. Acesse a tela MFA001 — Parâmetros de Faturamento.
  2. Clique no botão Novo.
  3. O sistema preenche automaticamente CD_EMPRESA com a empresa da sessão atual.
  4. Configure os demais parâmetros conforme necessário (tabela de preço, bloqueios, etc.).
  5. Clique em Salvar.

Resultado esperado: Um novo registro em PARMFATUR é criado, vinculado à empresa logada. Todos os parâmetros de faturamento dessa empresa passam a responder a essa configuração.

Telas impactadas​

Tela / RotinaImpacto
MFA001 — Parâmetros de FaturamentoTela de cadastro — campo é preenchido automaticamente na inserção
Todas as rotinas que leem PARMFATURUtilizam CD_EMPRESA como filtro para localizar os parâmetros da empresa correta

Campos envolvidos​

CampoTabelaDescrição
CD_EMPRESAPARMFATURChave primária — código da empresa
CD_EMPRESASUBGRUPOPARMFATURChave primária composta — herda de PARMFATUR
CD_EMPRESAEMPRESATabela mãe — cadastro de empresas

Procedures impactadas​

Rotinas Delphi com referência direta ao campo em PARMFATUR​

RotinaArquivoLinhaEvidência
TdmMFA001.tabPARMFATURAfterInsertsource/MFA001/UdmMFA001.pas436Preenche automaticamente com sessao.empresa.cd_empresa
TdmMFA001.tabSUBGRUPOPARMFATURBeforePostsource/MFA001/UdmMFA001.pas2092Propaga para SUBGRUPOPARMFATUR
TdmMFA001.tabSUBGRUPOPARMFATURCD_SUBGRUPOValidatesource/MFA001/UdmMFA001.pas2106Usa CD_EMPRESA na validação de duplicidade

Referências SQL diretas ao campo PARMFATUR.CD_EMPRESA​

Sem referência direta ao campo PARMFATUR.CD_EMPRESA isolada em Scripts/. O campo aparece como parâmetro de entrada (I_CD_EMPRESA) em dezenas de procedures, mas sempre como filtro genérico, não como referência à coluna de PARMFATUR.

Candidatas por uso da tabela PARMFATUR​

As procedures abaixo fazem JOIN com PARMFATUR utilizando CD_EMPRESA como chave de ligação, mas não referenciam o campo como parâmetro configurável:

Procedure/ViewArquivoLinha
BUSCAPRECORECAPScripts/BUSCAPRECORECAP.sql80
CALCULA_CENTRORESULTScripts/CALCULA_CENTRORESULT.sql169
CALCULA_CENTRORESULTITEMScripts/CALCULA_CENTRORESULTITEM.sql112
CALCULA_COMISSAOScripts/CALCULA_COMISSAO.sql73
CALCULA_COMISSAO_V2Scripts/CALCULA_COMISSAO_V2.sql66
CALCULA_JUROVENDAScripts/CALCULA_JUROVENDA.sql35
CANCELA_MESTRAScripts/CANCELA_MESTRA.sql62
CANCELA_NOTAFISCALScripts/CANCELA_NOTAFISCAL.sql287
CONFIRMA_ORDEMSERVICOScripts/CONFIRMA_ORDEMSERVICO.sql109
CONFIRMA_ORDEMSERVICOMETALScripts/CONFIRMA_ORDEMSERVICOMETAL.sql71
CONSOME_LOTEMATERIAPRIMAScripts/CONSOME_LOTEMATERIAPRIMA.sql18
CREDITOPERIODICO_AI0Scripts/CREDITOPERIODICO_AI0.sql18
CREDITOPERIODICOGRUPO_AI0Scripts/CREDITOPERIODICOGRUPO_AI0.sql18
EXPORTACAO_ALLABORScripts/EXPORTACAO_ALLABOR.sql531
EXPORTACAO_DOMINIOCADASTROSScripts/EXPORTACAO_DOMINIOCADASTROS.sql180
EXPORTACAO_DOMINIOCUPOMScripts/EXPORTACAO_DOMINIOCUPOM.sql99
EXPORTACAO_SOVISScripts/EXPORTACAO_SOVIS.sql830
FECHA_CONTRATOLEITEScripts/FECHA_CONTRATOLEITE.sql399

Notas adicionais​

  • Para cadastrar parâmetros de faturamento de outra empresa, o usuário precisa alternar a empresa ativa na sessão (tela de login ou seletor de empresa) antes de abrir a tela MFA001.
  • O relacionamento com a tabela EMPRESA garante que apenas empresas válidas e cadastradas podem ter configuração em PARMFATUR.