Pular para o conteúdo principal

CD_EMPRESA - Parâmetro de Empresa (OFI001)

Tela de configuração: OFI001 - Parâmetros da Oficina
Localização: Aba "Parâmetros"
Tabela: PARMOFICINA.CD_EMPRESA
Componente: edtCD_EMPRESA (campo editável)
Tipo: INTEGER (NOT NULL)
Valor padrão: Valor herdado de PARMUSUARIO.CD_EMPRESA na inicialização da tela

Telas impactadas​

TelaDescriçãoImpacto
OFI001Parâmetros da OficinaTela principal de configuração; campo exibido na aba "Parâmetros"
ADM001Cadastro de UsuáriosValidação e cópia de empresa entre módulos (tabPARMUSUARIOCD_EMPRESA)

Campos envolvidos​

CampoTabelaTipoObrigatoriedade
CD_EMPRESAPARMOFICINAINTEGERSim (PK)
CD_EMPRESAPARMUSUARIOINTEGERSim (parte da PK)

Opções disponíveis​

Este parâmetro não possui opções enumeradas. Trata-se de um campo numérico que identifica a empresa a qual os parâmetros de oficina se referem.

O que fazDetalhe
Identifica a empresaCampo chave primária que vincula todos os demais parâmetros da tabela PARMOFICINA a uma empresa específica
Sincroniza com PARMUSUARIONa abertura da tela, o valor de CD_EMPRESA de PARMOFICINA é copiado para PARMUSUARIO (via tabPARMUSUARIOCD_EMPRESA.AsInteger := tabPARMOFICINACD_EMPRESA.AsInteger)
Controla escopo de parâmetrosTodos os demais campos de PARMOFICINA (ex: TP_PRECOSERVICO, ST_OBRIGAKM, NR_DIASGARANTIA) são filtrados por essa empresa

Simulação passo a passo​

  1. Acesse a tela OFI001 — Parâmetros da Oficina.
  2. Observe a aba "Parâmetros".
  3. Localize o campo "Empresa" (CD_EMPRESA) — ele já estará preenchido com o código da empresa configurada no parâmetro do usuário.
  4. O campo é editável; para alterar, informe o código de uma empresa válida e salve.
  5. Salve o registro (<Ctrl+S> ou botão Salvar).

Resultado esperado: O registro de parâmetros de oficina fica vinculado à empresa informada. Todos os demais parâmetros da tela (preço de serviço, obrigatoriedade de KM, dias de garantia etc.) passam a vigorar para essa empresa.

Exceção / Importante:

  • CD_EMPRESA é chave primária da tabela PARMOFICINA. Não é possível ter dois registros de parâmetros para a mesma empresa.
  • O valor é sincronizado com PARMUSUARIO.CD_EMPRESA (configurado em ADM001 — Cadastro de Usuários). Se o parâmetro de usuário apontar para uma empresa diferente, a tela pode carregar o registro errado ou nenhum registro.
  • O campo não pode ser vazio (NOT NULL). Se não informado, o save falhará.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaEvidência
tabUSUARIOEMPRESACD_EMPRESAValidatesource/ADM001/UdmADM001.pas78Validação do campo CD_EMPRESA em USUARIOEMPRESA
TdmADM001.tabUSUARIOEMPRESABeforePostsource/ADM001/UdmADM001.pas174if (dmADM001.tabUSUARIOEMPRESACD_EMPRESA.AsString = '') — impede empresa vazia
TdmADM001.tabUSUARIOCD_EMPRPADRAOValidatesource/ADM001/UdmADM001.pas210Consulta usando E.CD_EMPRESA
TdmADM001.tabUSUARIOEMPRESACD_EMPRESAValidatesource/ADM001/UdmADM001.pas219Validação de empresa no módulo de usuário
TdmADM001.tabUSUARIOEMPRESAAfterPostsource/ADM001/UdmADM001.pas242tabUSUARIOCD_EMPRPADRAO.AsString := tabUSUARIOEMPRESACD_EMPRESA.AsString
editCD_EMPRESAKeyDownsource/ADM001/UfrmADM001.pas156Handler de teclado para campo de empresa
TfrmADM001.editCD_EMPRESAKeyDownsource/ADM001/UfrmADM001.pas503Handler de teclado (implementação)
TfrmADM001.editCD_EMPRPADRAOExitsource/ADM001/UfrmADM001.pas639Sincroniza CD_EMPRESA entre tabelas de parâmetro
TdmOFI001 (inicialização)source/OFI001/UdmOFI001.pas426tabPARMUSUARIOCD_EMPRESA.AsInteger := tabPARMOFICINACD_EMPRESA.AsInteger

Referências SQL diretas ao campo​

Procedure/ViewArquivoLinhaEvidência
AJUSTA_CALCULOIMPOSTO_IND_TOTScripts/AJUSTA_CALCULOIMPOSTO_IND_TOT.sql4Parâmetro I_CD_EMPRESA integer
AJUSTA_NR_DOCUMENTO_SATScripts/AJUSTA_NR_DOCUMENTO_SAT.sql5CD_EMPRESA integer
AJUSTE_FORMACAOPRECOVENDAScripts/AJUSTE_FORMACAOPRECOVENDA.sql4I_CD_EMPRESA DOM_INTEGER
ATUALIZA_ABATIMENTODEVOLUCAOScripts/ATUALIZA_ABATIMENTODEVOLUCAO.sql4I_CD_EMPRESA integer
ATUALIZA_PRECOVENDAScripts/ATUALIZA_PRECOVENDA.sql4I_CD_EMPRESA INTEGER
ATUALIZA_PROMOCAOEZScripts/ATUALIZA_PROMOCAOEZ.sql4I_CD_EMPRESA DOM_INTEGER
+ dezenas de outrasScripts/—O campo CD_EMPRESA é amplamente usado como parâmetro de escopo em scripts de atualização do sistema

Candidatas por uso da tabela PARMOFICINA​

Estas procedures/views referenciam a tabela PARMOFICINA (e, em alguns casos, fazem join por CD_EMPRESA), mas a evidencia disponível não cita o campo literalmente em todas:

Procedure/ViewArquivoLinhaEvidência
PARCELA_FINANC_MNF017Scripts/PARCELA_FINANC_MNF017.sql59INNER JOIN PARMOFICINA O ON (O.CD_EMPRESA = S.CD_EMPRESA)
PARCELA_FINANCIAMENTOScripts/PARCELA_FINANCIAMENTO.sql77INNER JOIN PARMOFICINA O ON (O.CD_EMPRESA = S.CD_EMPRESA)
REABRE_OSScripts/REABRE_OS.sql90FROM PARMOFICINA P
RETORNA_MOTIVOBLOQUEIOScripts/RETORNA_MOTIVOBLOQUEIO.sql19from PARMOFICINA p
RETORNA_PRECOITEMScripts/RETORNA_PRECOITEM.sql68FROM PARMOFICINA O
VERIFICA_BLOQUEIOScripts/VERIFICA_BLOQUEIO.sql160FROM PARMOFICINA
VIEW_DOCUMENTOSBLOQUEADOSScripts/VIEW_DOCUMENTOSBLOQUEADOS.sql161LEFT JOIN PARMOFICINA PO ON (PO.CD_EMPRESA = E.CD_EMPRESA)
VIEW_ROF004Scripts/VIEW_ROF004.sql47FROM PARMOFICINA p
VIEW_ROF004BScripts/VIEW_ROF004B.sql130'INNER JOIN PARMOFICINA PO ON (PO.CD_EMPRESA = OS.CD_EMPRESA)'
VIEW_ROF008Scripts/VIEW_ROF008.sql41FROM PARMOFICINA P

Nota: Não foi encontrado impacto direto de subopções para este parâmetro — ele é um campo simples de identificação de empresa, sem comportamento condicional por valor.