Pular para o conteúdo principal

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 field CD_EMPRESA, datasource dmMFA004.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 fazDetalhe
Vincula parâmetro a uma empresaCada registro em PARMCOMPRA identifica uma empresa — CD_EMPRESA é a PK
Contexto de sessãoO valor é preenchido automaticamente com a empresa da sessão do usuário
Editável na inclusãoNovos registros podem receber código de empresa conforme contexto
Bloqueado na ediçãoDurante visualização/alteração, o campo não é editável (reflete a PK selecionada)
ObrigatórioNOT NULL — não pode ficar vazio

Telas impactadas​

TelaDescrição
MFA004Tela principal de Parâmetros de Compra — carrega dados por CD_EMPRESA
ADM002Tela de empresas — pode usar CD_EMPRESA para navegação entre parâmetros

Campos envolvidos​

CampoTabelaDescrição
CD_EMPRESAPARMCOMPRACódigo da empresa (PK)
CD_MOEDAPARMCOMPRAMoeda vinculada (FK opcional)
Demais camposPARMCOMPRATodos os demais parâmetros dependem do contexto da empresa

Comportamento do campo​

Seleção e contexto de empresa​

Simulação passo a passo​

  1. Acesse MFA004 — Parâmetros de Compra.
  2. O sistema carrega automaticamente os parâmetros da empresa ativa na sessão.
  3. Observe o código da empresa exibido no campo — ele identifica qual conjunto de parâmetros está sendo editado.
  4. 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).
  5. 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 tabela PARMCOMPRA.

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 tabela EMPRESA.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoObservação
tabUSUARIOEMPRESACD_EMPRESAValidatesource/ADM001/UdmADM001.pas:78Validação de empresa no contexto de usuário × empresa
TdmADM001.tabUSUARIOEMPRESABeforePostsource/ADM001/UdmADM001.pas:174Verifica empresa vazia antes de gravar
TdmADM001.tabUSUARIOCD_EMPRPADRAOValidatesource/ADM001/UdmADM001.pas:210Valida empresa padrão do usuário via SQL
TdmADM001.tabUSUARIOEMPRESACD_EMPRESAValidatesource/ADM001/UdmADM001.pas:219Validação pós-seleção de empresa
TdmADM001.tabUSUARIOEMPRESAAfterPostsource/ADM001/UdmADM001.pas:242Copia empresa selecionada para campo padrão
editCD_EMPRESAKeyDownsource/ADM001/UfrmADM001.pas:156Lookup de empresa via teclado
TfrmADM001.ANovoExecutesource/ADM001/UfrmADM001.pas:261Foco no campo de empresa no novo registro
TfrmADM001.editCD_EMPRESAKeyDownsource/ADM001/UfrmADM001.pas:503Handler de lookup do campo empresa
TfrmADM001.btnADM004Clicksource/ADM001/UfrmADM001.pas:760Passa CD_EMPRESA como parâmetro para MFA004
TfrmADM001.btnADM005Clicksource/ADM001/UfrmADM001.pas:779Passa CD_EMPRESA como parâmetro para MFA005
TfrmADM001.btnADM012Clicksource/ADM001/UfrmADM001.pas:801Passa CD_EMPRESA da sessão para ADM012
TfrmADM001.btnTFA007Clicksource/ADM001/UfrmADM001.pas:878Passa CD_EMPRESA para TFA007
TfrmADM001.btnTFA008Clicksource/ADM001/UfrmADM001.pas:841Passa 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/ViewArquivoObservação
GERA_PEDIDOCOTACAOPECAScripts/GERA_PEDIDOCOTACAOPECA.sql:68Usa PARMCOMPRA no JOIN — validar se referencia CD_EMPRESA diretamente

Nota: Não foi encontrada referência direta a CD_EMPRESA dentro de scripts específicos da MFA004. O impacto das procedures listadas ocorre de forma indireta — elas utilizam parâmetros vinculados a outras tabelas que possuem CD_EMPRESA como chave ou filtro.

Tabela de banco de dados​

PARMCOMPRA — Estrutura resumida​

CampoTipoNot NullObservação
CD_EMPRESAINTEGERSimPK — Código da empresa
CD_MOEDAINTEGERNãoFK para MOEDA
ST_APROVASOLVARCHAR(1)SimFlag de aprovação de solicitação
ST_APROVAPEDVARCHAR(1)SimFlag de aprovação de pedido
CD_LAYSOLICVARCHAR(6)NãoLayout de solicitação
CD_LAYCOTACAOVARCHAR(6)NãoLayout de cotação
CD_LAYNEGOCVARCHAR(6)NãoLayout de negócio
DT_REGISTROTIMESTAMPSimData de registro (preenchimento automático)
NR_DIASCOMPRAINTEGERNãoDias de compra
IDTIPOCONTATOINTEGERNãoFK para TIPOCONTATO
ST_FORNECEDORVARCHAR(1)SimFlag fornecedor (default N)
SN_COTACAOVARCHAR(10)NãoCotação
ST_BLOQUEIOVARCHAR(1)SimFlag de bloqueio (default N)
ST_BLOQUEIOPEDVARCHAR(1)SimFlag de bloqueio pedido (default N)
ST_ENVIAPEDIDOEMAILVARCHAR(1)SimEnvia pedido por email (default S)
ST_REABRESOLICITACAOVARCHAR(1)SimReabre solicitação (default N)
ST_TRANSFCOTAVARCHAR(1)SimTransferência de cotação (default N)

Restrições​

RestriçãoTipoDetalhes
PK_PARMCOMPRAPrimary Key(CD_EMPRESA)
RPARMCOMPRA_EMPRESAForeign KeyCD_EMPRESA → EMPRESA(CD_EMPRESA)
RPARMCOMPRA_MOEDAForeign KeyCD_MOEDA → MOEDA(CD_MOEDA)
FK_PARMCOMPRA_TIPOCONTATOForeign KeyIDTIPOCONTATO → TIPOCONTATO(ID)

Resumo​

AspectoDetalhe
FunçãoIdentifica a empresa dona dos parâmetros de compra
NaturezaCampo contexto — não é uma "escolha" de comportamento, mas sim a chave do registro
VisibilidadeSempre visível e carregado na MFA004
Regra de negócioUm registro por empresa; não há opção de mesclar parâmetros entre empresas