CD_EMPRESA — Identificador da Empresa
Tela de configuração: MFA001 — Parâmetros de Faturamento Tabela:
PARMFATUR.CD_EMPRESATipo:DOM_INTEGER NOT NULLPapel no sistema: Chave primária da tabelaPARMFATUR
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 faz | Detalhe |
|---|---|
| Preenchimento | Automático ao criar novo registro, com base na empresa da sessão |
| Edição manual | Não — o valor é atribuído pelo sistema |
| Permite duplicidade | Não — é chave primária (NOT NULL, valor único) |
| Relacionamento | Referencia EMPRESA.CD_EMPRESA |
Regras
- 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. - Preenchimento automático: Ao clicar "Novo" na tela MFA001, o campo
CD_EMPRESArecebe automaticamente o código da empresa logada (sessao.empresa.cd_empresa). - Propagação para sub-tabelas: Quando o usuário inclui subgrupos em
SUBGRUPOPARMFATUR, oCD_EMPRESAé copiado do registro pai:// UdmMFA001.pas:2092 — tabSUBGRUPOPARMFATURBeforePosttabSUBGRUPOPARMFATURCD_EMPRESA.AsString := tabPARMFATURCD_EMPRESA.AsString; - Validação de duplicidade em subgrupos: A procedure
tabSUBGRUPOPARMFATURCD_SUBGRUPOValidateusaCD_EMPRESApara garantir que não haja subgrupo duplicado na mesma empresa.
Simulação passo a passo
Criação de novos parâmetros de faturamento
- Acesse a tela MFA001 — Parâmetros de Faturamento.
- Clique no botão Novo.
- O sistema preenche automaticamente
CD_EMPRESAcom a empresa da sessão atual. - Configure os demais parâmetros conforme necessário (tabela de preço, bloqueios, etc.).
- 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 / Rotina | Impacto |
|---|---|
| MFA001 — Parâmetros de Faturamento | Tela de cadastro — campo é preenchido automaticamente na inserção |
Todas as rotinas que leem PARMFATUR | Utilizam CD_EMPRESA como filtro para localizar os parâmetros da empresa correta |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_EMPRESA | PARMFATUR | Chave primária — código da empresa |
CD_EMPRESA | SUBGRUPOPARMFATUR | Chave primária composta — herda de PARMFATUR |
CD_EMPRESA | EMPRESA | Tabela mãe — cadastro de empresas |
Procedures impactadas
Rotinas Delphi com referência direta ao campo em PARMFATUR
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
TdmMFA001.tabPARMFATURAfterInsert | source/MFA001/UdmMFA001.pas | 436 | Preenche automaticamente com sessao.empresa.cd_empresa |
TdmMFA001.tabSUBGRUPOPARMFATURBeforePost | source/MFA001/UdmMFA001.pas | 2092 | Propaga para SUBGRUPOPARMFATUR |
TdmMFA001.tabSUBGRUPOPARMFATURCD_SUBGRUPOValidate | source/MFA001/UdmMFA001.pas | 2106 | Usa 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/View | Arquivo | Linha |
|---|---|---|
BUSCAPRECORECAP | Scripts/BUSCAPRECORECAP.sql | 80 |
CALCULA_CENTRORESULT | Scripts/CALCULA_CENTRORESULT.sql | 169 |
CALCULA_CENTRORESULTITEM | Scripts/CALCULA_CENTRORESULTITEM.sql | 112 |
CALCULA_COMISSAO | Scripts/CALCULA_COMISSAO.sql | 73 |
CALCULA_COMISSAO_V2 | Scripts/CALCULA_COMISSAO_V2.sql | 66 |
CALCULA_JUROVENDA | Scripts/CALCULA_JUROVENDA.sql | 35 |
CANCELA_MESTRA | Scripts/CANCELA_MESTRA.sql | 62 |
CANCELA_NOTAFISCAL | Scripts/CANCELA_NOTAFISCAL.sql | 287 |
CONFIRMA_ORDEMSERVICO | Scripts/CONFIRMA_ORDEMSERVICO.sql | 109 |
CONFIRMA_ORDEMSERVICOMETAL | Scripts/CONFIRMA_ORDEMSERVICOMETAL.sql | 71 |
CONSOME_LOTEMATERIAPRIMA | Scripts/CONSOME_LOTEMATERIAPRIMA.sql | 18 |
CREDITOPERIODICO_AI0 | Scripts/CREDITOPERIODICO_AI0.sql | 18 |
CREDITOPERIODICOGRUPO_AI0 | Scripts/CREDITOPERIODICOGRUPO_AI0.sql | 18 |
EXPORTACAO_ALLABOR | Scripts/EXPORTACAO_ALLABOR.sql | 531 |
EXPORTACAO_DOMINIOCADASTROS | Scripts/EXPORTACAO_DOMINIOCADASTROS.sql | 180 |
EXPORTACAO_DOMINIOCUPOM | Scripts/EXPORTACAO_DOMINIOCUPOM.sql | 99 |
EXPORTACAO_SOVIS | Scripts/EXPORTACAO_SOVIS.sql | 830 |
FECHA_CONTRATOLEITE | Scripts/FECHA_CONTRATOLEITE.sql | 399 |
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
EMPRESAgarante que apenas empresas válidas e cadastradas podem ter configuração emPARMFATUR.