Pular para o conteúdo principal

CD_EMPRESA — Código da Empresa

Tela de configuração: MFI012 — Cadastro/Depreciação de Bens
Localização: aba Dados do Bem (e outros contextos da tela)
Tabela: BENS
Valor padrão: sessao.empresa.cd_empresa (empresa da sessão do usuário)

Telas impactadas​

TelaUso
MFI012Cadastro de bem — filtro e campo principal
MFC024Rateio de Despesa por Bens (quando conta existe em PARMDESPESABEM)
MNF001Emissão de Nota Fiscal (consulta parâmetros de despesa)
MCB002Consulta contábil referente a bens
MFC002Movimentos financeiros vinculados a bens
MFC003Movimentos financeiros vinculados a bens
MFC020Movimentos financeiros vinculados a bens

Campos envolvidos​

CampoTabelaTipoObrigatórioChave
CD_EMPRESABENSINTEGERSim (validação BeforePost)Sim (parte da PK)

Nota: O campo CD_EMPRESA também existe em outras tabelas manipuladas pela MFI012 (IMPOSTOBENS, CENARIOBEM, TRANSFERENCIABENS, PARMDESPESABEM), mas neste documento nos referimos ao campo da tabela BENS (aba Dados do Bem), que é o contexto documentado pelo inventário (dsBENS).

Contexto principal — Cadastro do Bem​

O que fazDetalhe
Identifica a empresa proprietária do bemInformado manualmente ou pelo atalho <F9>
Valor padrãoPreenchido automaticamente com sessao.empresa.cd_empresa na inclusão
EditabilidadeEditável na inclusão; bloqueado na edição (ReadOnly = True)
ObrigatórioSim — erro "É obrigatório informar a empresa!" no BeforePost da tabela BENS
Busca (<F9>)Abre pesquisa na tabela EMPRESA; só funciona se o campo não estiver readonly
PropagaçãoO valor é replicado para campos derivados como CD_EMPRNFE, CD_EMPRDEPREC

Simulação passo a passo​

  1. Acesse MFI012 — Cadastro/Depreciação de Bens.
  2. Clique em Incluir (novo registro).
  3. Observe que o campo Empresa já vem preenchido com o código da empresa da sua sessão.
  4. Para selecionar outra empresa, clique no campo e pressione <F9>.
  5. Na janela de busca, selecione a empresa desejada e confirme.
  6. O código da empresa é atribuído ao registro do bem.
  7. Preencha os demais campos obrigatórios (Data de Aquisição, Descrição, Tipo de Implantação, Pessoa da NF, etc.).
  8. Salve o registro.

Resultado esperado: O bem é cadastrado vinculado à empresa informada. O campo fica travado para edição após a gravação. O mesmo código de empresa é replicado automaticamente para os campos CD_EMPRNFE (empresa da NF) e CD_EMPRDEPREC (empresa de depreciação).

Exceção / Importante: Na edição de um bem já gravado, o campo CD_EMPRESA fica bloqueado (ReadOnly). Para mudar a empresa de depreciação posteriormente, use o campo CD_EMPRDEPREC na aba "Parâmetros de Depreciação", desde que o bem não possua depreciação gerada — caso contrário, o sistema exibe: "O bem já possui depreciação gerada. Verifique!".

Regras de validação identificadas​

RegraOrigemComportamento
Campo obrigatório no BeforePosttabBENSBeforePost (UdmMFI012.pas:559)Se CD_EMPRESA vazio → erro "É obrigatório informar a empresa!" e foco no campo edtCD_EMPRESA
Validação de empresa do bem paitabBENSCD_BEMPAIValidateImpede vincular bem pai de empresa diferente — erro "O Bem não está cadastrado ou pertence a outra empresa!"
Replicação automática na inclusãotabBENSBeforeInsert (UdmMFI012.pas:703)CD_EMPRESA recebe sessao.empresa.cd_empresa ao iniciar um novo registro
<F9> só funciona se editáveledtCD_EMPRESAKeyDown (UMFI012.pas:3109)Checa not(tabBENSCD_EMPRESA.ReadOnly) antes de permitir a busca

Uso em queries SQL na tela​

O campo CD_EMPRESA é utilizado como filtro em diversas consultas internas da MFI012, incluindo:

  • Depreciações existentes: WHERE D.CD_EMPRESA = :CD_EMPRESA
  • Transferências de bens: WHERE TB.CD_EMPBEM = :CD_EMPBEM
  • Cento de custo do bem, impostos, cenários: todas filtradas por empresa
  • Stored procedure RECALCULA_DEPRECIACAO(':CD_EMPRESA', ...) ao recalcular depreciação

Procedures impactadas​

Rotinas Delphi com referência direta ao campo na MFI012​

RotinaArquivoLinhaEvidência
tabBENSCD_EMPRESAValidatesource/MFI012/UdmMFI012.pas431 / 1174Validação do campo empresa no dataset BENS
tabBENSBeforePostsource/MFI012/UdmMFI012.pas559Valida CD_EMPRESA não vazio, exibe foco no campo
tabBENSBeforeInsertsource/MFI012/UdmMFI012.pas703Define CD_EMPRESA := sessao.empresa.cd_empresa
edtCD_EMPRESAKeyDownsource/MFI012/UMFI012.pas3104Lookup <F9> na tabela EMPRESA
Propagação CD_EMPRDEPRECsource/MFI012/UMFI012.pas895CD_EMPRDEPREC := CD_EMPRESA

Tabelas secundárias alimentadas por CD_EMPRESA do bem​

TabelaUso
IMPOSTOBENSRecebe CD_EMPRESA do bem principal na inclusão
CENARIOBEMRecebe CD_EMPRESA do bem principal na inclusão
TRANSFERENCIABENSRecebe CD_EMPRESA como CD_EMPBEM na inclusão
PARMDESPESABEMUtilizada para definir rateio de despesa por bem

Scripts SQL — Candidatos por uso da tabela​

Nenhuma referência direta ao campo CD_EMPRESA específico na tabela BENS foi encontrada em Scripts/. Existem dezenas de procedures genéricas que recebem CD_EMPRESA como parâmetro (ex: ATUALIZA_CONTACONTABIL, ARRUMA_MASCARACONTA, AJUSTA_SALDOCC_ZERAMENTO), mas são procedimentos de manutenção geral do ERP, não específicos ao contexto de bens da MFI012.