CD_EMPRESA - Empresa da Tabela de Preço
Tela de configuração: MFA006 - Parâmetros de Tabela de Preço
Tabela:PARMTABPRECO.CD_EMPRESA
Tipo:DOM_INTEGER(INTEGER)
Componente:edtCD_EMPRESA(TDBEdit)
Obrigatório: Não (permite NULL)
Descrição
Campo opcional que vincula a regra de preço a uma empresa específica. Quando preenchido, a tabela de preço só será aplicada para a empresa informada. Quando vazio (NULL), a regra se aplica a todas as empresas.
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_EMPRESA | PARMTABPRECO | DOM_INTEGER | Código da empresa (FK para EMPRESA) |
NM_EMPRESA | EMPRESA | VARCHAR | Nome da empresa (exibido no campo auxiliar edtNM_EMPRESA) |
Opções disponíveis
O campo aceita dois estados:
- Vazio (
NULL): a regra de preço se aplica a todas as empresas. - Código válido de empresa: a regra de preço se aplica apenas àquela empresa.
Preenchimento com código de empresa
| O que faz | Detalhe |
|---|---|
| Vincula a regra a uma empresa específica | Editável, opcional, sem validação automática no OnExit |
Pesquisa com <F9> | Abre lista de empresas cadastradas (Select NM_EMPRESA, CD_EMPRESA From EMPRESA) |
Simulação passo a passo
- Acesse MFA006 (Parâmetros de Tabela de Preço).
- Clique em Novo ou selecione um registro existente para edição.
- Preencha os demais campos da regra de preço (Tabela de Preço, Condição de Pagamento, etc.).
- No campo Empresa (
edtCD_EMPRESA):- Opção A — digitação direta: digite o código da empresa (ex:
1). - Opção B — pesquisa: pressione
<F9>, a janela "Selecione a Empresa" será exibida com as colunas Descrição e Código. Encontre a empresa desejada e pressione OK.
- Opção A — digitação direta: digite o código da empresa (ex:
- O campo auxiliar
edtNM_EMPRESAserá preenchido automaticamente com o nome da empresa. - Clique em Salvar.
Resultado esperado: O registro é salvo com CD_EMPRESA igual ao código informado. Nas rotinas de busca de preço (RETORNA_PRECOITEM, RETORNA_TABPRECO), a regra será considerada apenas para pedidos/notas daquela empresa.
Deixar vazio (todas as empresas)
| O que faz | Detalhe |
|---|---|
| Aplica a regra globalmente, sem restrição de empresa | O campo fica vazio (NULL) no banco de dados |
Simulação passo a passo
- Acesse MFA006 (Parâmetros de Tabela de Preço).
- Clique em Novo.
- Preencha os campos obrigatórios da regra (Tabela de Preço, etc.).
- No campo Empresa, não preencha nada — deixe-o vazio.
- Clique em Salvar.
Resultado esperado: O registro é salvo com CD_EMPRESA = NULL. A regra de preço será aplicada independentemente da empresa do pedido ou nota fiscal.
Excecao / Importante: O campo
CD_EMPRESAintegra a combinação de filtros validada pela rotinaConsultaRegistro, que verifica duplicidade considerando todos os campos preenchidos (incluindoCD_TABPRECO,CD_PESSOA,CD_CONDPAGTO,CD_ITEM,CD_EMPRESA, etc.). Se já existir um registro com a mesma combinação, o sistema navegará para ele em vez de permitir duplicata.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
TfrmMFA006.edtCD_EMPRESAKeyDown | source/MFA006/UMFA006.pas | 596 | Abre pesquisa de empresas ao pressionar <F9> |
ConsultaRegistro | source/MFA006/UMFA006.pas | 244 | Inclui CD_EMPRESA no filtro de verificação de duplicidade |
Scripts SQL com referência direta ao campo
Nenhuma referência direta ao campo CD_EMPRESA da tabela PARMTABPRECO foi encontrada em scripts SQL. As referências globais a CD_EMPRESA em outros scripts dizem respeito a tabelas distintas (EMPRESA, PEDIDO, NOTA, etc.).
Candidatas por uso da tabela
Estas procedures/views acessam a tabela PARMTABPRECO mas não citam o campo CD_EMPRESA diretamente. Validar antes de afirmar impacto funcional direto sobre o campo.
| Procedure/View | Arquivo | Linha | Evidência |
|---|---|---|---|
RETORNA_PRECOITEM | Scripts/RETORNA_PRECOITEM.sql | 104 | FROM PARMTABPRECO P |
RETORNA_TABPRECO | Scripts/RETORNA_TABPRECO.sql | 51 | FROM PARMTABPRECO P |
VERIFICA_BLOQUEIO | Scripts/VERIFICA_BLOQUEIO.sql | 1115 | FROM PARMTABPRECO P |
VIEW_TFA006 | Scripts/VIEW_TFA006.sql | 84 | INNER JOIN PARMTABPRECO PT |
GERA_COMISSAOTABPRECO | Scripts/GERA_COMISSAOTABPRECO.sql | 84 | from PARMTABPRECO |
TRGAD_PARMTABPRECO | Scripts/TRGAD_PARMTABPRECO.sql | 5 | Trigger AFTER DELETE na tabela |
CALCULA_MAQUINA | Scripts/CALCULA_MAQUINA.sql | 81 | FROM PARMTABPRECO P |
CALCULA_MAQUINAFICHA | Scripts/CALCULA_MAQUINAFICHA.sql | 79 | FROM PARMTABPRECO P |
INSERE_ITEMPEDIDO_SERVCANALETA | Scripts/INSERE_ITEMPEDIDO_SERVCANALETA.sql | 58 | FROM PARMTABPRECO P |
Observações
- O campo é alimentado exclusivamente por pesquisa (
<F9>), que consulta a tabelaEMPRESAe retornaCD_EMPRESAcomo código eNM_EMPRESAcomo descrição. - O campo
edtNM_EMPRESAao lado é apenas visual — o valor persistido é o inteiro emCD_EMPRESA. - Não há restrição de FK declarada no DDL entre
PARMTABPRECO.CD_EMPRESAeEMPRESA.CD_EMPRESA, mas a pesquisa garante que apenas códigos válidos sejam selecionados. - A tabela
PARMTABPRECOusaNR_SEQUENCIAcomo chave primária;CD_EMPRESAé um campo de filtro, não parte da PK.