Pular para o conteúdo principal

CD_LOCALORIGEM - Local de Origem

Tela de configuração: MEQ001 - Parâmetros de Estoque / Produção Componente na tela: edtLocalOrigem Tabela: PARMESTOQUE.CD_LOCALORIGEM Tipo: DOM_INTEGER Valor padrão: sem valor definido (campo fica vazio até que o usuário informe)

Define o local de estoque de origem padrão utilizado nas operações de produção da empresa. Quando uma ordem de produção é gerada ou confirmada, o sistema busca neste parâmetro o local de onde os materiais-prima (borrachas, componentes, etc.) devem ser retirados para consumo.

O campo faz parte de um par: sempre trabalha junto com CD_TPLOCALORIGEM (Tipo de Local de Origem). Ambos compõem a foreign key RPARMESTOQUE_LOCALORIGEM que referencia LOCALESTOQUE (CD_LOCAL, CD_TIPOLOCAL).


Campos envolvidos​

CampoTabelaTipoDescrição
CD_LOCALORIGEMPARMESTOQUEDOM_INTEGERCódigo do local de estoque de origem
CD_TPLOCALORIGEMPARMESTOQUEDOM_INTEGERTipo do local de origem (obrigatório antes de informar o local)
DS_LOCALORIGEMPARMESTOQUEdisplay onlyDescrição do local, preenchida automaticamente pela validação
CD_LOCALLOCALESTOQUEreferênciaCódigo do local na tabela de locais de estoque
CD_TIPOLOCALLOCALESTOQUEreferênciaTipo do local na tabela de locais de estoque

Telas impactadas​

TelaUso do parâmetro
MEQ052 (Movimentação de Estoque)Ao validar item ou código de barras, o sistema lê CD_LOCALORIGEM e CD_LOCALDESTINO de PARMESTOQUE para pré-preencher os campos de local de origem e destino do movimento. Se ambos estiverem vazios, exibe erro: "É Necessário Parametrizar os Locais de Origem e Destino na [MEQ001]!"
MEQ006, MEQ011, MEQ026 (Fichas de Produção)A consulta de matéria-prima (Busca_MateriaPrima) seleciona CD_LOCALORIGEM e CD_TIPOLOCALORIGEM para identificar de onde retirar os componentes
MEQ020 (Ordem de Produção - Recapadora)Na geração da ordem, usa COALESCE(LP.CD_LOCAL, COALESCE(LP.CD_LOCALORIG, COALESCE(IP.CD_LOCALORIGEM, ILC.CD_LOCAL))) — prioriza local do lote, senão usa o da ficha, senão o parâmetro
MEQ031 (Captura de Peso)Usa COALESCE(IPG.CD_LOCALORIGEM, IP.CD_LOCALORIGEM) para determinar local de consumo do material
MEQ032 (Geração de Produção)Mesma lógica de COALESCE do MEQ031 para determinar local de origem
MEQ070 (Produção / Separado)Transfere itens de etapa usando CD_LOCALORIGEM como destino da transferência; reprocessa materiais consumidos consultando IP.CD_LOCALORIGEM
MFA001 (Parâmetros de Faturamento)Possui campo CD_LOCALORIGEM próprio na tabela PARMFATUR, independente deste parâmetro

Opções disponíveis​

Este parâmetro é um campo numérico editável (código do local de estoque). Não possui lista de opções fixas — o valor depende dos locais cadastrados em TEQ003 - Locais de Estoque.

Valor informado — Local válido selecionado​

O que fazDetalhe
EditávelSim, via digitação direta ou pesquisa com <F9>
ExigeCD_TPLOCALORIGEM preenchido anteriormente
RestriçãoO código deve existir na tabela LOCALESTOQUE; caso contrário, exibe erro: "O Local não está Cadastrado [TEQ003]!"
Exigência adicionalO tipo de local (CD_TPLOCALORIGEM) é obrigatório; sem ele, a pesquisa <F9> nem abre: "É Obrigatório informar o Tipo de Local para Listar os Locais."

Simulação passo a passo​

  1. Acesse MEQ001 (Parâmetros de Estoque).
  2. No campo Tipo Local Origem (CD_TPLOCALORIGEM), informe o tipo do local, por exemplo 1 ou pesquise com <F9>.
  3. Clique no campo Local Origem (CD_LOCALORIGEM) ou pressione <F9>.
  4. Na janela de pesquisa "Selecione o Local", o sistema exibe apenas locais do tipo informado no passo anterior.
  5. Selecione o local desejado (ex: local 5 — "Almoxarifado Central").
  6. O campo CD_LOCALORIGEM recebe o código 5 e o campo DS_LOCALORIGEM é preenchido automaticamente com "Almoxarifado Central".
  7. Salve o registro.

Resultado esperado: O local de origem fica definido como padrão para todas as operações de produção da empresa. Quando ordens de produção forem geradas (via GERA_ORDEMPRODUCAO, GERA_PRODACABAMENTO, etc.), o sistema usará este local para retirar os materiais-prima, a menos que a ficha de produção do item defina um local próprio (ITEMPRODUCAO.CD_LOCALORIGEM).


Valor vazio — Nenhum local definido​

O que fazDetalhe
EditávelO campo aceita valor vazio
ImpactoMovimentações de estoque em MEQ052 exigem este parâmetro e exibem erro se estiver vazio
ProduçãoScripts de geração de ordem usam COALESCE(IP.CD_LOCALORIGEM, ILC.CD_LOCAL) — se o parâmetro estiver vazio e a ficha também, o sistema busca um local alternativo

Simulação passo a passo​

  1. Acesse MEQ001 (Parâmetros de Estoque).
  2. Deixe o campo Local Origem vazio.
  3. Salve o registro.
  4. Acesse MEQ052 (Movimentação de Estoque) e tente informar um item ou código de barras.

Resultado esperado: O sistema exibe a mensagem "É Necessário Parametrizar os Locais de Origem e Destino na [MEQ001]!" e não permite prosseguir com a movimentação.

Excecao / Importante: Nas rotinas de produção (geração de ordens), o sistema aplica COALESCE em cascata — primeiro verifica o local do lote de produção, depois o local da ficha de produção (ITEMPRODUCAO.CD_LOCALORIGEM), e por último recorre ao parâmetro. Portanto, se cada ficha de produção tiver seu próprio local configurado, o parâmetro da MEQ001 funciona apenas como fallback.


Regra geral de relacionamento​

O par CD_LOCALORIGEM + CD_TPLOCALORIGEM forma a foreign key RPARMESTOQUE_LOCALORIGEM:

PARMESTOQUE (CD_LOCALORIGEM, CD_TPLOCALORIGEM) → LOCALESTOQUE (CD_LOCAL, CD_TIPOLOCAL)

A chave estrangeira é definida com ON UPDATE CASCADE, ou seja, se o código do local mudar na tabela LOCALESTOQUE, a referência em PARMESTOQUE é atualizada automaticamente.

O parâmetro atua como local de origem padrão global da empresa para operações de estoque e produção. Quando uma ficha técnica (ITEMPRODUCAO) define seu próprio CD_LOCALORIGEM, a ficha tem prioridade sobre o parâmetro global.


Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoContexto
TfrmMEQ001.edtLocalOrigemKeyDownUMEQ001.pas:1635Pesquisa <F9> que filtra locais por CD_TPLOCALORIGEM e atribui CD_LOCALORIGEM
TdmMEQ001.tabPARMESTOQUECD_LOCALORIGEMValidateUdmMEQ001.pas:1258Validação: exige CD_TPLOCALORIGEM preenchido, consulta LOCALESTOQUE e preenche DS_LOCALORIGEM
TdmMEQ052.tabMOVESTOQUECD_ITEMValidateUdmMEQ052.pas:185Lê CD_LOCALORIGEM de PARMESTOQUE para pré-preencher local do movimento de estoque
TdmMEQ052.tabMOVESTOQUECD_CODIGOBARRAValidateUdmMEQ052.pas:355Mesma lógica do validate acima, para entrada por código de barras
Busca_MateriaPrima (MEQ006)UMEQ006.pas:296Seleciona CD_LOCALORIGEM na consulta de matéria-prima
Busca_MateriaPrima (MEQ011)UMEQ011.pas:281Seleciona CD_LOCALORIGEM na consulta de matéria-prima
TdmMEQ011.CarregaItensFichaUdmMEQ011.pas:1236Consulta ficha de produção incluindo CD_LOCALORIGEM
Ordemproducao (MEQ020)UMEQ020.pas:263Usa COALESCE(LP.CD_LOCAL, LP.CD_LOCALORIG, IP.CD_LOCALORIGEM, ILC.CD_LOCAL)
Busca_MateriaPrima (MEQ026)UMEQ026.pas:432Seleciona CD_LOCALORIGEM na consulta
TfrmMEQ031.btnCapturarPesoClickUMEQ031.pas:782Usa COALESCE(IPG.CD_LOCALORIGEM, IP.CD_LOCALORIGEM)
GeraProducao (MEQ032)UMEQ032.pas:971Usa COALESCE(IPG.CD_LOCALORIGEM, IP.CD_LOCALORIGEM)
TfrmMEQ044.btnORDEMPRODClickUMEQ044.pas:1001Inclui CD_LOCALORIGEM no INSERT da ordem de produção
TdmMEQ054.CarregaFichaProducaoUdmMEQ054.pas:943Seleciona CD_LOCALORIGEM na ficha
TfrmMEQ070.TransfereItemEtapaUMEQ070.pas:3215Usa CD_LOCALORIGEM como destino da transferência
TdmMEQ070.reprocessaMateriaisConsumidosUdmMEQ070.pas:1836Consulta CD_LOCALORIGEM para reprocessamento
Ordemproducao (CEQ015)UCEQ015.pas:229Usa COALESCE(IP.CD_LOCALORIGEM, ILC.CD_LOCAL)
ExecLayout (LFP001)ULFP001.pas:68Passa CD_LOCALORIGEM para RETORNA_SALDOESTOQUE
ExecLayout (LFP003)ULFP003.pas:66Passa CD_LOCALORIGEM para RETORNA_SALDOESTOQUE

Scripts SQL com referência direta ao campo​

Procedure/ScriptArquivoContexto
GERA_ORDEMPRODUCAOGERA_ORDEMPRODUCAO.sql:174Seleciona CD_LOCALORIGEM da ficha para gerar ordem
GERA_ORDEMPRODUCAORECAPGERA_ORDEMPRODUCAORECAP.sql:740COALESCE(IP.CD_LOCALORIGEM, :V_IDLOCAL)
FECHA_ORDEMPRODUCAORECAPFECHA_ORDEMPRODUCAORECAP.sql:589COALESCE(IP.CD_LOCALORIGEM, :V_IDLOCAL)
CONFIRMA_ORDEMSERVICOCONFIRMA_ORDEMSERVICO.sql:505Agrupa por CD_LOCALORIGEM no fechamento
GERA_PRODLOTEPRODUCAOGERA_PRODLOTEPRODUCAO.sql:78COALESCE(LP.CD_LOCAL, LP.CD_LOCALORIG, IP.CD_LOCALORIGEM, IL.CD_LOCAL)
ATUALIZA_PRECOVENDAATUALIZA_PRECOVENDA.sql:316Passa CD_LOCALORIGEM para RETORNA_SALDOESTOQUE
RETORNA_SALDOESTOQUE(função)Usada em múltiplos scripts para calcular custo do estoque no local de origem
RETORNA_ITEMFICHAPRODUCAORETORNA_ITEMFICHAPRODUCAO.sql:50Retorna CD_LOCALORIGEM dos itens da ficha
RETORNA_CUSTOPRODUCAOMPRETORNA_CUSTOPRODUCAOMP.sql:42Usa CD_LOCALORIGEM para calcular custo da matéria-prima
GERA_PRODACABAMENTOGERA_PRODACABAMENTO.sql:205Seleciona CD_LOCALORIGEM no loop de materiais
GERA_PRODVULCANIZACAOGERA_PRODVULCANIZACAO.sql:233Seleciona CD_LOCALORIGEM no loop de materiais
GERA_PRODENVELOPAMENTOGERA_PRODENVELOPAMENTO.sql:210Seleciona CD_LOCALORIGEM no loop de materiais
GERA_PRODEXAMEFINALGERA_PRODEXAMEFINAL.sql:162Seleciona CD_LOCALORIGEM no loop de materiais
GERA_PRODMONTAGEMRECAPGERA_PRODMONTAGEMRECAP.sql:230Seleciona CD_LOCALORIGEM no loop de materiais
VERIFICA_LOCALITEMPRODRECAPVERIFICA_LOCALITEMPRODRECAP.sql:37Verifica CD_LOCALORIGEM do item de produção
VIEW_FICHAPRODUCAOVIEW_FICHAPRODUCAO.sql:84Exibe CD_LOCALORIGEM na view de ficha de produção
VIEW_CFA001VIEW_CFA001.sql:290Usa CD_LOCALORIGEM na composição de custo
GRAVA_LOTEPRODUCAOMPGRAVA_LOTEPRODUCAOMP.sql:97Grava CD_LOCALORIGEM no lote de produção
INSERE_PRODUTOSNOVOSGRADEINSERE_PRODUTOSNOVOSGRADE.sql:188Insere CD_LOCALORIGEM ao criar produtos novos na grade
MONTA_ORDEMPRODUCAOSERVICOMONTA_ORDEMPRODUCAOSERVICO.sql:212Inclui CD_LOCALORIGEM na montagem da ordem

Candidatas por uso da tabela​

As procedures abaixo acessam a tabela PARMESTOQUE mas não citam o campo CD_LOCALORIGEM diretamente. Não há impacto funcional direto identificado no código para este campo específico. Exemplos: GERA_ESTOQUE, CANCELA_ESTOQUE, RECALCULA_ESTOQUE, GERA_SPEDBLOCOL, entre outras.