ST_PRODUCAOLOCAL — Busca Automática de Local de Faturamento
Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Parâmetros → Aba Opção 1 Tabela:
PARMESTOQUE.ST_PRODUCAOLOCALComponente:cmbST_PRODUCAOLOCAL(TwwDBComboBox) Tipo:CHAR(1)Valor padrão no banco:S(Sim) Valor padrão ao inserir registro via tela:N(Não)
Resumo
Controla se, ao informar uma matéria-prima em telas de produção, o sistema deve buscar automaticamente o local de estoque associado ao item que possua ST_FATURAMENTO = 'S' na tabela ITEMLOCAL. Quando habilitado, preenche automaticamente os campos CD_TIPOLOCAL e CD_LOCAL da linha da matéria-prima.
Telas impactadas
| Tela | Nome | Arquivo | Linha do check |
|---|---|---|---|
| MEQ011 | Abertura de Ordem de Produção | UdmMEQ011.pas | 809 |
| MEQ012 | Manutenção de Ordem de Produção | UdmMEQ012.pas | 1076 |
| MEQ017 | Fechamento de Ordem de Produção | UdmMEQ017.pas | 691 |
| MEQ026 | Romaneio de Produção | UdmMEQ026.pas | 749 |
| MEQ027 | Consulta de Ordem de Produção | UdmMEQ027.pas | 707 |
| MEQ065 | Lote de Produção | UdmMEQ065.pas | 641 |
| MEQ068 | Cadastro de Ordem de Produção | UdmMEQ068.pas | 804 |
Campos envolvidos
| Campo | Descrição |
|---|---|
ITEMLOCAL.ST_FATURAMENTO | Flag do local de estoque do item — 'S' indica que o local é de faturamento |
ITEMLOCAL.CD_TIPOLOCAL | Tipo do local retornado pela busca automática |
ITEMLOCAL.CD_LOCAL | Código do local retornado pela busca automática |
ITEMPROD.CD_MATERIAPRIMA | Código da matéria-prima que dispara a validação |
Opções disponíveis
S — Sim (Busca Automática do Local de Faturamento)
| O que faz | Detalhe |
|---|---|
Preenche automaticamente CD_TIPOLOCAL e CD_LOCAL | Ao informar a matéria-prima, consulta ITEMLOCAL onde ST_FATURAMENTO = 'S' e CD_ITEM = matéria-prima informada |
| Busca o primeiro local com faturamento | Usa FIRST 1 na query — se houver mais de um local com faturamento, pega o primeiro retornado |
| Editável após preenchimento | O usuário pode alterar o local sugerido manualmente |
| Condição: item sem ficha técnica | Nas telas MEQ011 e MEQ026, só executa se ST_FICHA <> 'S' |
Simulação passo a passo
- Acesse MEQ001 → aba Opção 1.
- No campo Produção Local, selecione S — Sim.
- Salve o registro.
- Abra uma ordem de produção (ex.: MEQ011 — Abertura de OP).
- Adicione uma matéria-prima cujo cadastro possua local de estoque com
ST_FATURAMENTO = 'S'. - Informe o código da matéria-prima e confirme.
- Observe que os campos Tipo Local e Local foram preenchidos automaticamente.
Resultado esperado: Os campos CD_TIPOLOCAL e CD_LOCAL da linha da matéria-prima são preenchidos com o primeiro local de faturamento cadastrado para o item na ITEMLOCAL.
Excecao / Importante: Nas telas MEQ011 e MEQ026, se o produto tiver
ST_FICHA = 'S', a busca automática não é executada, independentemente deste parâmetro. O fluxo segue direto para a lógica de contagem de locais.
N — Não (Sem Busca Automática)
| O que faz | Detalhe |
|---|---|
| Não busca local automaticamente | Os campos CD_TIPOLOCAL e CD_LOCAL permanecem vazios após informar a matéria-prima |
| Fluxo padrão de local | O sistema segue para a lógica de contagem de locais do item (COUNT(CD_LOCAL)) |
| Preenchimento manual | Se o item tiver múltiplos locais, o sistema abre a lista para seleção; se tiver apenas um, preenche automaticamente |
Simulação passo a passo
- Acesse MEQ001 → aba Opção 1.
- No campo Produção Local, selecione N — Não.
- Salve o registro.
- Abra uma ordem de produção (ex.: MEQ011 — Abertura de OP).
- Adicione uma matéria-prima cujo cadastro possua local de estoque com
ST_FATURAMENTO = 'S'. - Informe o código da matéria-prima e confirme.
- Observe que os campos Tipo Local e Local não foram preenchidos automaticamente.
Resultado esperado: Os campos CD_TIPOLOCAL e CD_LOCAL permanecem vazios inicialmente. Se o item tiver apenas um local cadastrado, o sistema preenche automaticamente pela lógica de contagem. Se tiver múltiplos locais, abre a lista para o usuário escolher.
Excecao / Importante: Mesmo com
N, o fluxo de contagem de locais ainda executa. A diferença é que não há busca prévia por local de faturamento (ST_FATURAMENTO = 'S').
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Contexto |
|---|---|---|---|
TdmMEQ001.tabPARMESTOQUEAfterInsert | UdmMEQ001.pas | 275 | Define valor padrão 'N' ao inserir registro |
Busca_Parametros | UdmMEQ011.pas | 260 | Carrega parâmetro na variável iST_PRODUCAOLOCAL |
TdmMEQ011.tabPRODUTOCD_MATERIAPRIMAValidate | UdmMEQ011.pas | 809 | Check if iST_PRODUCAOLOCAL = 'S' → busca local |
Busca_Parametros | UdmMEQ012.pas | 230 | Carrega parâmetro |
TdmMEQ012.tabPRODUTOCD_MATERIAPRIMAValidate | UdmMEQ012.pas | 1076 | Check → busca local |
Busca_Parametros | UdmMEQ017.pas | 151 | Carrega parâmetro |
TdmMEQ017.tabPRODUTOCD_MATERIAPRIMAValidate | UdmMEQ017.pas | 691 | Check → busca local |
Busca_Parametros | UdmMEQ026.pas | 265 | Carrega parâmetro |
TdmMEQ026.tabPRODUTOCD_MATERIAPRIMAValidate | UdmMEQ026.pas | 749 | Check → busca local |
Busca_Parametros | UdmMEQ027.pas | 152 | Carrega parâmetro |
TdmMEQ027.tabPRODUTOCD_MATERIAPRIMAValidate | UdmMEQ027.pas | 707 | Check → busca local |
Busca_Parametros | UdmMEQ065.pas | 157 | Carrega parâmetro |
TdmMEQ065.tabPRODUTOCD_MATERIAPRIMAValidate | UdmMEQ065.pas | 641 | Check → busca local |
Busca_Parametros | UdmMEQ068.pas | 189 | Carrega parâmetro |
TdmMEQ068.tabPRODUTOCD_MATERIAPRIMAValidate | UdmMEQ068.pas | 804 | Check → busca local |
TdmMEQ068.tabPRODUTOCD_ITEMValidate | UdmMEQ068.pas | 1120 | Check → busca local |
Referências SQL diretas ao campo
Nenhuma procedure SQL na pasta Scripts/ referencia o campo ST_PRODUCAOLOCAL diretamente. O campo é consultado apenas em tempo de execução via queries montadas no código Delphi (Busca_Parametros).
Candidatas por uso da tabela PARMESTOQUE
As seguintes procedures fazem referência à tabela PARMESTOQUE mas não citam ST_PRODUCAOLOCAL diretamente. Não há impacto funcional confirmado:
AJUSTA_ORDEMPRODPEDANTECIPADO, ALTERACAO_BANDA, ATUALIZA_CONSUMOMEDIO, CANCELA_ESTOQUE, GERA_ESTOQUE, GERA_ORDEMPRODUCAO, GERA_PRODLOTEPRODUCAO, entre outras.
Regra Geral de Comportamento
O padrão de execução é idêntico nas 7 telas impactadas:
- Na validação do código da matéria-prima (
tabPRODUTOCD_MATERIAPRIMAValidate), o sistema verificaiST_PRODUCAOLOCAL = 'S'. - Se Sim: executa
SELECT FIRST 1 CD_TIPOLOCAL, CD_LOCAL FROM ITEMLOCAL WHERE ST_FATURAMENTO = 'S' AND CD_ITEM = :codMatPrima. - Se encontrou resultado, preenche
CD_TIPOLOCALeCD_LOCALautomaticamente. - Se Não ou se não encontrou resultado: segue para o fluxo padrão de contagem de locais do item.