CD_EMPRESA — Parâmetro de Empresa (Comportamento)
Tela de configuração: MFA004 — Parâmetros de Compra
Tabela:PARMCOMPRA.CD_EMPRESA
Tipo:INTEGER NOT NULL(chave primária)
Valor padrão: Preenchido automaticamente pela sessão do sistema
Componente:DBEdit1(data fieldCD_EMPRESA, datasourcedmMFA004.dsoCadastro)
Visão geral
O campo CD_EMPRESA na tela MFA004 identifica a qual empresa pertencem os parâmetros de compra exibidos. Ele funciona como campo contextual — todo registro em PARMCOMPRA pertence a exatamente uma empresa (chave primária), e a tela carrega os dados filtrando por esse código.
| O que faz | Detalhe |
|---|---|
| Vincula parâmetro a uma empresa | Cada registro em PARMCOMPRA identifica uma empresa — CD_EMPRESA é a PK |
| Contexto de sessão | O valor é preenchido automaticamente com a empresa da sessão do usuário |
| Editável na inclusão | Novos registros podem receber código de empresa conforme contexto |
| Bloqueado na edição | Durante visualização/alteração, o campo não é editável (reflete a PK selecionada) |
| Obrigatório | NOT NULL — não pode ficar vazio |
Telas impactadas
| Tela | Descrição |
|---|---|
MFA004 | Tela principal de Parâmetros de Compra — carrega dados por CD_EMPRESA |
ADM002 | Tela de empresas — pode usar CD_EMPRESA para navegação entre parâmetros |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_EMPRESA | PARMCOMPRA | Código da empresa (PK) |
CD_MOEDA | PARMCOMPRA | Moeda vinculada (FK opcional) |
| Demais campos | PARMCOMPRA | Todos os demais parâmetros dependem do contexto da empresa |
Comportamento do campo
Seleção e contexto de empresa
Simulação passo a passo
- Acesse MFA004 — Parâmetros de Compra.
- O sistema carrega automaticamente os parâmetros da empresa ativa na sessão.
- Observe o código da empresa exibido no campo — ele identifica qual conjunto de parâmetros está sendo editado.
- Para visualizar/alterar parâmetros de outra empresa, selecione a empresa desejada na navegação superior (ou via filtro de empresa, se disponível na sessão).
- Resultado esperado: Os parâmetros exibidos na tela (
ST_APROVASOL,ST_BLOQUEIO,CD_LAYSOLIC, etc.) passam a refletir a configuração da empresa selecionada.
Importante: O campo
CD_EMPRESAé a chave primária do registro. Isso significa que não podem existir dois registros de parâmetros com o mesmo código de empresa na tabelaPARMCOMPRA.
Importante: O vínculo com a tabela
EMPRESAé garantido via FK (RPARMCOMPRA_EMPRESA), ou seja, só é possível informar um código de empresa que exista na tabelaEMPRESA.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Observação |
|---|---|---|
tabUSUARIOEMPRESACD_EMPRESAValidate | source/ADM001/UdmADM001.pas:78 | Validação de empresa no contexto de usuário × empresa |
TdmADM001.tabUSUARIOEMPRESABeforePost | source/ADM001/UdmADM001.pas:174 | Verifica empresa vazia antes de gravar |
TdmADM001.tabUSUARIOCD_EMPRPADRAOValidate | source/ADM001/UdmADM001.pas:210 | Valida empresa padrão do usuário via SQL |
TdmADM001.tabUSUARIOEMPRESACD_EMPRESAValidate | source/ADM001/UdmADM001.pas:219 | Validação pós-seleção de empresa |
TdmADM001.tabUSUARIOEMPRESAAfterPost | source/ADM001/UdmADM001.pas:242 | Copia empresa selecionada para campo padrão |
editCD_EMPRESAKeyDown | source/ADM001/UfrmADM001.pas:156 | Lookup de empresa via teclado |
TfrmADM001.ANovoExecute | source/ADM001/UfrmADM001.pas:261 | Foco no campo de empresa no novo registro |
TfrmADM001.editCD_EMPRESAKeyDown | source/ADM001/UfrmADM001.pas:503 | Handler de lookup do campo empresa |
TfrmADM001.btnADM004Click | source/ADM001/UfrmADM001.pas:760 | Passa CD_EMPRESA como parâmetro para MFA004 |
TfrmADM001.btnADM005Click | source/ADM001/UfrmADM001.pas:779 | Passa CD_EMPRESA como parâmetro para MFA005 |
TfrmADM001.btnADM012Click | source/ADM001/UfrmADM001.pas:801 | Passa CD_EMPRESA da sessão para ADM012 |
TfrmADM001.btnTFA007Click | source/ADM001/UfrmADM001.pas:878 | Passa CD_EMPRESA para TFA007 |
TfrmADM001.btnTFA008Click | source/ADM001/UfrmADM001.pas:841 | Passa CD_EMPRESA para TFA008 |
Referências SQL diretas ao campo
O campo CD_EMPRESA é amplamente referenciado em scripts do banco de dados (mais de 30 procedures/functions o utilizam como parâmetro I_CD_EMPRESA). As listagens completas estão na seção de evidências compiladas.
Candidatas por uso da tabela PARMCOMPRA
| Procedure/View | Arquivo | Observação |
|---|---|---|
GERA_PEDIDOCOTACAOPECA | Scripts/GERA_PEDIDOCOTACAOPECA.sql:68 | Usa PARMCOMPRA no JOIN — validar se referencia CD_EMPRESA diretamente |
Nota: Não foi encontrada referência direta a
CD_EMPRESAdentro de scripts específicos daMFA004. O impacto das procedures listadas ocorre de forma indireta — elas utilizam parâmetros vinculados a outras tabelas que possuemCD_EMPRESAcomo chave ou filtro.
Tabela de banco de dados
PARMCOMPRA — Estrutura resumida
| Campo | Tipo | Not Null | Observação |
|---|---|---|---|
| CD_EMPRESA | INTEGER | Sim | PK — Código da empresa |
| CD_MOEDA | INTEGER | Não | FK para MOEDA |
| ST_APROVASOL | VARCHAR(1) | Sim | Flag de aprovação de solicitação |
| ST_APROVAPED | VARCHAR(1) | Sim | Flag de aprovação de pedido |
| CD_LAYSOLIC | VARCHAR(6) | Não | Layout de solicitação |
| CD_LAYCOTACAO | VARCHAR(6) | Não | Layout de cotação |
| CD_LAYNEGOC | VARCHAR(6) | Não | Layout de negócio |
| DT_REGISTRO | TIMESTAMP | Sim | Data de registro (preenchimento automático) |
| NR_DIASCOMPRA | INTEGER | Não | Dias de compra |
| IDTIPOCONTATO | INTEGER | Não | FK para TIPOCONTATO |
| ST_FORNECEDOR | VARCHAR(1) | Sim | Flag fornecedor (default N) |
| SN_COTACAO | VARCHAR(10) | Não | Cotação |
| ST_BLOQUEIO | VARCHAR(1) | Sim | Flag de bloqueio (default N) |
| ST_BLOQUEIOPED | VARCHAR(1) | Sim | Flag de bloqueio pedido (default N) |
| ST_ENVIAPEDIDOEMAIL | VARCHAR(1) | Sim | Envia pedido por email (default S) |
| ST_REABRESOLICITACAO | VARCHAR(1) | Sim | Reabre solicitação (default N) |
| ST_TRANSFCOTA | VARCHAR(1) | Sim | Transferência de cotação (default N) |
Restrições
| Restrição | Tipo | Detalhes |
|---|---|---|
PK_PARMCOMPRA | Primary Key | (CD_EMPRESA) |
RPARMCOMPRA_EMPRESA | Foreign Key | CD_EMPRESA → EMPRESA(CD_EMPRESA) |
RPARMCOMPRA_MOEDA | Foreign Key | CD_MOEDA → MOEDA(CD_MOEDA) |
FK_PARMCOMPRA_TIPOCONTATO | Foreign Key | IDTIPOCONTATO → TIPOCONTATO(ID) |
Resumo
| Aspecto | Detalhe |
|---|---|
| Função | Identifica a empresa dona dos parâmetros de compra |
| Natureza | Campo contexto — não é uma "escolha" de comportamento, mas sim a chave do registro |
| Visibilidade | Sempre visível e carregado na MFA004 |
| Regra de negócio | Um registro por empresa; não há opção de mesclar parâmetros entre empresas |