Pular para o conteúdo principal

MEQ012 — Fechamento de Ordem de Produção (enriquecimento)

Menu: Produção/Industrialização > Movimentações > Fechamento de Ordem de Produção

Objetivo​

A tela MEQ012 permite consultar uma Ordem de Produção (ou Lote de Produção) aberta pela MEQ011 e executar seu fechamento, dando entrada no produto acabado e saída das matérias-primas via procedure GERA_ORDEMPRODUCAO. Também permite ajustar dados da ordem antes de fechar (quantidade, componentes, locais de armazenagem, lotes/grade/serial), cancelar ordens ou lotes inteiros, adicionar produtos acabados a um lote e registrar tarefas/análises de controle de qualidade da produção.

Fluxo principal​

  1. Informar Empresa e Nº de Ordem, Nº de Lote ou Nº de Pedido para localizar a(s) ordem(ns) de produção em aberto. (Grupo 'Consulta Ordem') — source/MEQ012/UdmMEQ012.pas:1136-1212 (TdmMEQ012.tabEmpresaNR_ORDEMPRODUCAOValidate)
  2. Conferir/ajustar dados do cabeçalho da ordem (datas, quantidade produzida, rendimento, local de armazenagem do produto acabado). (Grupo 'Dados da Ordem de Produção') — source/MEQ012/UdmMEQ012.pas:569-635 (TdmMEQ012.tabPRODUCAOBeforePost)
  3. Conferir/ajustar os produtos componentes (matérias-primas), quantidades, locais e eventual item substituído. (Grupo 'Produtos Componentes') — source/MEQ012/UdmMEQ012.pas:637-706 (TdmMEQ012.tabPRODUTOBeforePost)
  4. Se houver lote/semente ou grade, distribuir a quantidade nos lotes (botão Alterar Lote) ou na grade (F10). (Botão 'Alterar Lote Produto' / grade (F10)) — source/MEQ012/UMEQ012.pas:2256-2310 (TfrmMEQ012.btnLoteClick)
  5. Se o parâmetro de análise final estiver ativo, preencher os resultados das análises em 'Dados Análise'. (Botão 'Dados Análise') — source/MEQ012/UMEQ012.pas:444-508 (TfrmMEQ012.btnDadosAnaliseClick)
  6. O sistema executa GERA_ORDEMPRODUCAO (baixa/entrada de estoque), grava tarefas/lotes/seriais e confirma a transação, exibindo mensagem de sucesso. (Processamento interno) — source/MEQ012/UMEQ012.pas:1544-1577 (TfrmMEQ012.btnFecharClick)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
CD_ITEM (Produto da ordem)Sempre, ao salvar o cabeçalho da ordem.É Obrigatório Informar o Produto da Produção!source/MEQ012/UdmMEQ012.pas:606-610 (TdmMEQ012.tabPRODUCAOBeforePost)
NR_VERSAO (Versão da Ficha de Produção)Sempre, ao salvar o cabeçalho.É Obrigatório Informar a Versão da Ficha de Produção!source/MEQ012/UdmMEQ012.pas:612-616 (TdmMEQ012.tabPRODUCAOBeforePost)
CD_TIPOLOCAL / CD_LOCAL (cabeçalho)Sempre, ao salvar o cabeçalho.É Obrigatório Informar o Tipo de Local do Produto da Ficha de Produção! / o Local de Armazenagem do Produto da Ficha de Produção!source/MEQ012/UdmMEQ012.pas:618-628 (TdmMEQ012.tabPRODUCAOBeforePost)
DT_INICIOPRODUCAO / QT_PRODUZIDA (cabeçalho)Sempre, ao salvar o cabeçalho.É Obrigatório Informar a Data de Início da Produção! / a Quantidade da Produção!source/MEQ012/UdmMEQ012.pas:599-634 (TdmMEQ012.tabPRODUCAOBeforePost)
CD_MATERIAPRIMA (componente)Sempre, ao salvar uma linha de componente.É Obrigatório Informar o Produto Componente da Produção!source/MEQ012/UdmMEQ012.pas:643-647 (TdmMEQ012.tabPRODUTOBeforePost)
QT_ITEM ou PS_ITEM (Quantidade ou Peso do componente)QT_ITEM obrigatório se TP_UNIDADE='Q'; PS_ITEM obrigatório se TP_UNIDADE='P' e houver unidade alternativa.É Obrigatório Informar a Quantidade do Produto! / o Peso do Produto!source/MEQ012/UdmMEQ012.pas:649-659 (TdmMEQ012.tabPRODUTOBeforePost)
CD_TIPOLOCAL / CD_LOCAL (componente)Obrigatório quando TP_DESPESA do componente for 'M' (movimenta estoque).É Obrigatório Informar o Tipo de Local do Produto! / o Local de Armazenagem do Produto!source/MEQ012/UdmMEQ012.pas:661-674 (TdmMEQ012.tabPRODUTOBeforePost)
QT_SUBSTITUIDOObrigatório e deve ser maior que zero quando CD_ITEMSUBSTITUIDO estiver preenchido.É Obrigatório Informar a Quantidade do Item Substituído! / A Quantidade do Item Substituído deve ser Maior que Zero!source/MEQ012/UdmMEQ012.pas:676-688 (TdmMEQ012.tabPRODUTOBeforePost)
DS_TAREFA (Descrição da Tarefa/Observação)Sempre, ao salvar uma linha na aba de Tarefas.É Obrigatório informar a Descrição da Tarefa!source/MEQ012/UdmMEQ012.pas:1222-1226 (TdmMEQ012.tabTarefaBeforePost)
DS_ALTERACAO (Motivo da Alteração)Sempre que a janela de Motivo de Alteração for exibida (ordem alterada e não conferida, com parâmetro ativo).É Obrigatório Informar o Motivo da Alteração!source/MEQ012/UfrmMOTIVOALTERACAO.pas:49-57 (TfrmMOTIVOALTERACAO.btnOKClick)

Mensagens: causa e ação​

C-1552​

Causa: Usuário clicou em Cancelar Ordem (btnExcluir) com uma ordem ativa aberta.

Ação: Confirmar se realmente deseja cancelar; o sistema ainda valida etapas em aberto (MEQ070) antes de efetivar.

Fonte: source/MEQ012/UMEQ012.pas:540-541 (TfrmMEQ012.btnExcluirClick)

C-1555​

Causa: Usuário clicou em Fechar Ordem (F11) após passar pelas validações de etapa e conferência.

Ação: Confirmar para efetivar o fechamento (baixa de estoque via GERA_ORDEMPRODUCAO).

Fonte: source/MEQ012/UMEQ012.pas:1241-1244 (TfrmMEQ012.btnFecharClick)

C-1556​

Causa: Usuário clicou em Fechar Lote (F3) após passar pelas mesmas validações, para fechar todas as ordens do lote de uma vez.

Ação: Confirmar para efetivar o fechamento de todas as ordens do lote.

Fonte: source/MEQ012/UMEQ012.pas:1821-1822 (TfrmMEQ012.btnFecharLoteClick)

C-1558​

Causa: Usuário clicou em Cancelar Lote.

Ação: Confirmar; o sistema valida cada ordem do lote quanto a status e etapas antes de cancelar.

Fonte: source/MEQ012/UMEQ012.pas:2321-2322 (TfrmMEQ012.btnExcluiLoteClick)

I-1553​

Causa: Cancelamento de ordem individual concluído com sucesso (ST_ORDEMPRODUCAO alterado para 'C' e commitado).

Ação: Nenhuma ação necessária, apenas confirmação.

Fonte: source/MEQ012/UMEQ012.pas:588-590 (TfrmMEQ012.btnExcluirClick)

I-1557​

Causa: Fechamento por lote concluído: todas as ordens do lote foram processadas via GERA_ORDEMPRODUCAO e commitadas.

Ação: Nenhuma ação necessária, apenas confirmação.

Fonte: source/MEQ012/UMEQ012.pas:2214-2240 (TfrmMEQ012.btnFecharLoteClick)

I-1559​

Causa: Cancelamento de lote concluído com sucesso.

Ação: Nenhuma ação necessária, apenas confirmação.

Fonte: source/MEQ012/UMEQ012.pas:2382-2383 (TfrmMEQ012.btnExcluiLoteClick)

W-1560​

Causa: Na tela de seleção de seriais (entrada), o usuário digitou um número de série que já está cadastrado para o mesmo item/empresa (ITEMSERIAL).

Ação: Informar um número de série diferente, ainda não utilizado para este item.

Fonte: source/MEQ012/UITEMSERIAL.pas:136-148 (TfrmSERIAL.btnOKClick)

W-1561​

Causa: Usuário confirmou a tela de seriais sem marcar (saída) ou informar (entrada) nenhum serial para um item com controle de serial.

Ação: Selecionar/informar ao menos um serial antes de confirmar.

Fonte: source/MEQ012/UITEMSERIAL.pas:171-203 (TfrmSERIAL.btnOKClick)

W-1562​

Causa: A quantidade de seriais marcados/informados não bate com a quantidade movimentada em estoque para o item (entrada ou saída).

Ação: Ajustar a seleção de seriais até que a contagem seja igual à quantidade exigida (exibida na própria mensagem).

Fonte: source/MEQ012/UITEMSERIAL.pas:177-208 (TfrmSERIAL.btnOKClick)

W-1791​

Causa: Existem tarefas de análise (TAREFAPRODUCAO/TAREFAITEM tipo 'A') cadastradas para o produto, mas o campo Resultado (DS_RESULTADO) de ao menos uma delas está em branco.

Ação: Abrir 'Dados Análise' e preencher o resultado de cada análise pendente antes de fechar a ordem.

Fonte: source/MEQ012/UdmMEQ012.pas:413-426 (Preenche_Tarefa)

W-1792​

Causa: O parâmetro ST_DADOSANALISEFINALPROD está ativo, mas o produto não possui nenhuma tarefa de análise cadastrada na Ficha de Produção (TEQ004).

Ação: Cadastrar as tarefas de análise do produto na tela TEQ004, ou verificar se o parâmetro deveria estar desligado para este produto.

Fonte: source/MEQ012/UMEQ012.pas:476-481 (TfrmMEQ012.btnDadosAnaliseClick)

W-1793​

Causa: Usuário fechou a tela de Tarefas/Análises sem confirmar com OK (cancelou a janela).

Ação: Reabrir 'Dados Análise' e confirmar com OK para poder prosseguir com o fechamento.

Fonte: source/MEQ012/UMEQ012.pas:499-502 (TfrmMEQ012.btnDadosAnaliseClick)

Regras de negócio​

  • MEQ012.R001 (ver regras/MEQ012/MEQ012.R001.md)
  • MEQ012.R002 (ver regras/MEQ012/MEQ012.R002.md)
  • MEQ012.R003 (ver regras/MEQ012/MEQ012.R003.md)
  • MEQ012.R004 (ver regras/MEQ012/MEQ012.R004.md)
  • MEQ012.R005 (ver regras/MEQ012/MEQ012.R005.md)
  • MEQ012.R006 (ver regras/MEQ012/MEQ012.R006.md)
  • MEQ012.R007 (ver regras/MEQ012/MEQ012.R007.md)
  • MEQ012.R008 (ver regras/MEQ012/MEQ012.R008.md)
  • MEQ012.R009 (ver regras/MEQ012/MEQ012.R009.md)
  • MEQ012.R010 (ver regras/MEQ012/MEQ012.R010.md)
  • MEQ012.R011 (ver regras/MEQ012/MEQ012.R011.md)
  • MEQ012.R012 (ver regras/MEQ012/MEQ012.R012.md)
  • MEQ012.R013 (ver regras/MEQ012/MEQ012.R013.md)
  • MEQ012.R014 (ver regras/MEQ012/MEQ012.R014.md)
  • MEQ012.R015 (ver regras/MEQ012/MEQ012.R015.md)
  • MEQ012.R016 (ver regras/MEQ012/MEQ012.R016.md)
  • MEQ012.R017 (ver regras/MEQ012/MEQ012.R017.md)
  • MEQ012.R018 (ver regras/MEQ012/MEQ012.R018.md)
  • MEQ012.R019 (ver regras/MEQ012/MEQ012.R019.md)
  • MEQ012.R020 (ver regras/MEQ012/MEQ012.R020.md)
  • MEQ012.R021 (ver regras/MEQ012/MEQ012.R021.md)
  • MEQ012.R022 (ver regras/MEQ012/MEQ012.R022.md)

Perguntas frequentes​

P: Por que não consigo fechar a Ordem de Produção mesmo confirmando? R: Provavelmente há uma etapa de produção em aberto vinculada (MEQ070) ou, se o parâmetro de conferência estiver ativo, a ordem ainda não foi conferida na MEQ072. Fonte: source/MEQ012/UMEQ012.pas:1216-1239 (TfrmMEQ012.btnFecharClick)

P: Deu a mensagem 'A Ordem de Produção não pode ser fechada porque está Cancelada/Fechada'. R: A ordem já teve seu status alterado para Fechada (V) ou Cancelada (C) por outra operação; não é possível fechá-la ou cancelá-la de novo — é preciso abrir uma nova ordem na MEQ011 se ainda houver produção pendente. Fonte: source/MEQ012/UMEQ012.pas:1251-1260 (TfrmMEQ012.btnFecharClick)

P: Por que apareceu a tela pedindo o 'Motivo da Alteração'? R: O parâmetro de conferência de ordem de produção está ativo e a ordem foi alterada antes de ser conferida; o sistema exige o registro do motivo e do usuário responsável para auditoria. Fonte: source/MEQ012/UMEQ012.pas:2667-2719 (TfrmMEQ012.InformaMotivoAltercao)

P: Deu a mensagem de estoque insuficiente para o componente ao salvar. R: O saldo disponível do item no local (considerando comprometido ou não, conforme o item) ficaria negativo com a quantidade informada; dependendo do parâmetro TP_VALIDACAOESTNEG, o sistema bloqueia ou apenas pergunta se deseja continuar. Fonte: source/MEQ012/UdmMEQ012.pas:1519-1595 (TdmMEQ012.ValidaEstoque)

P: Por que sou obrigado a informar seriais ao fechar a ordem? R: O produto acabado ou algum componente tem controle de série (ITEM.ST_SERIAL='S'); o sistema exige selecionar/informar os seriais correspondentes à movimentação de estoque de entrada ou saída gerada pelo fechamento. Fonte: source/MEQ012/UdmMEQ012.pas:449-533 (CheckItemSerial)

P: Deu a mensagem sobre análises pendentes sem valores informados. R: O produto tem tarefas de análise cadastradas na Ficha de Produção (TEQ004) e ao menos uma não teve o resultado preenchido; é preciso abrir 'Dados Análise' e completar todos os resultados antes de fechar. Fonte: source/MEQ012/UdmMEQ012.pas:413-426 (Preenche_Tarefa)

P: Não consigo alterar os componentes da ordem, a grade está bloqueada. R: A ordem já foi conferida (ST_CONFERIDO='S' na MEQ072); enquanto conferida, a MEQ012 não permite editar os produtos componentes. Fonte: source/MEQ012/UMEQ012.pas:836-856 (TfrmMEQ012.grpPRODUTOSEnter)

P: Por que não consigo cancelar a Ordem/Lote? R: A ordem está vinculada a uma etapa de produção da MEQ070 ainda não cancelada, ou já está com status Fechada/Cancelada — nesses casos o cancelamento é bloqueado. Fonte: source/MEQ012/UMEQ012.pas:561-579 (TfrmMEQ012.btnExcluirClick)

P: A etiqueta não é impressa automaticamente ao fechar a ordem. R: Verificar se o parâmetro ST_IMPRIMEETIQUETA está ligado em PARMESTOQUE e se há um layout configurado em PARMFATUR.CD_LAYETIQUETA; sem os dois, a impressão automática não ocorre. Fonte: source/MEQ012/UMEQ012.pas:1601-1605 (TfrmMEQ012.btnFecharClick)

P: Por que o sistema pediu para distribuir Lote ou Grade antes de fechar? R: O produto (acabado ou componente) tem controle de rastreabilidade por lote (semente) ou por grade, e a quantidade total lançada nos lotes/grade não bate com a quantidade produzida/consumida atual; é necessário refazer a distribuição. Fonte: source/MEQ012/UMEQ012.pas:1379-1394 (TfrmMEQ012.btnFecharClick)

P: Não consigo adicionar um novo Produto Acabado ao lote. R: É preciso ter um Nº de Lote de Produção informado na tela antes de usar o botão 'Adc. Prod. Acabado'; além disso, o mesmo item não pode já ser produto final de outra ordem do lote. Fonte: source/MEQ012/UMEQ012.pas:2488-2501 (TfrmMEQ012.btnAdcprodClick)

Dúvidas em aberto (o código não responde)​

  • Qual é o efeito exato de cada valor do parâmetro PARMESTOQUE.TP_VALIDACAOESTNEG além de 'B' (bloqueia) e 'A' (avisa)? Existe um terceiro valor que não valida? — O código só trata explicitamente 'B' e 'A' em TdmMEQ012.ValidaEstoque (source/MEQ012/UdmMEQ012.pas:1558-1585); não há tratamento de outro valor/branco visível neste módulo.
  • O que exatamente o parâmetro PARMESTOQUE.ST_PRODUCAOUNIDALT controla além de exibir os campos de quantidade alternativa na tela? — Só encontrado o uso em source/MEQ012/UdmMEQ012.pas:1185-1191, que apenas mostra/habilita os campos QT_ALTERNATIVA/SG_UNIDALT; não fica claro se afeta o cálculo de estoque em outro módulo.
  • Quais valores válidos existem para PARMESTOQUE.ST_DADOSANALISEFINALPROD além de 'S' e 'N', e o que ocorre num valor vazio? — O código em source/MEQ012/UdmMEQ012.pas:352 e UMEQ012.pas:255 trata apenas a comparação com 'S'/'N'.