Pular para o conteúdo principal

CD_LAYORDEM — Layout de Ordem de Produção

Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Aba Layouts, campo Layouts (edtCD_LAYORDEM) Tabela / Coluna: PARMESTOQUE.CD_LAYORDEM Tipo: DOM_VARCHAR6 (até 6 caracteres, maiúsculas) Valor padrão: NULL (vazio)


Resumo​

Define o código do layout de impressão utilizado para gerar relatórios de Ordens de Produção. Quando preenchido, o sistema carrega o layout especificado via CarregaLayout() e o utiliza para imprimir a ordem. Quando vazio, o comportamento varia conforme a tela consumidora — em algumas telas o botão de impressão é ocultado; em outras, é usado um layout de fallback (LET036).


Telas impactadas​

TelaNomePapel de CD_LAYORDEM
MEQ001Parâmetros de EstoqueConfiguração — campo editável na aba Layouts
MEQ006Ordem de ProduçãoImprime ordem ao salvar (se preenchido e NR_ORDEMPRODUCAO preenchido)
MEQ011Ordem de Produção (variação)Imprime ordem ao salvar (se preenchido e NR_ORDEMPRODUCAO preenchido)
MEQ012Ordens de Produção (consulta/fechamento)Imprime ao clicar Imprimir, no Fechamento e no Fechamento por Lote
MEQ017Ordem de Produção (variação)Imprime ordem ao salvar
MEQ019Consulta de Ordens de ProduçãoOculta btnImprimir e Separador3 quando vazio; usa layout para impressão
MEQ020Ordem de Produção (produção)Imprime após gravação; fallback para LET036 quando vazio
MEQ021Consulta de Ordens (variação)Oculta btnImprimir e Separador3 quando vazio; usa layout para impressão
CEQ002Consulta de EstoqueConsulta CD_LAYORDEM de PARMESTOQUE

Campos envolvidos​

CampoTabelaFunção
CD_LAYORDEMPARMESTOQUECódigo do layout (até 6 caracteres)
NR_ORDEMPRODUCAOPRODUCAO / tabelas de ordemNúmero da ordem — exigido preenchido para que a impressão ocorra

Opções disponíveis​

O campo aceita qualquer código de layout válido de até 6 caracteres. Não existem opções fixas rígidas (combo/lista). Os valores mais comuns encontrados no código fonte são:

Layout preenchido (ex: ORD001, LET036, ou qualquer código válido)​

O que fazDetalhe
EditávelSim — campo de texto livre, maiúsculas, até 6 caracteres
ExigeCódigo de layout válido cadastrado no módulo de layouts do sistema
RestriçãoSem restrição de valores específicos; o sistema valida se o layout existe ao carregar

Simulação passo a passo​

  1. Acesse MEQ001 → Parâmetros de Estoque.
  2. Navegue até a aba Layouts.
  3. No campo Layouts (edtCD_LAYORDEM), digite o código do layout desejado (ex: ORD001).
  4. Salve o registro (<Ctrl+S> ou botão Salvar).
  5. Acesse uma das telas de produção (ex: MEQ020 — Ordem de Produção).
  6. Realize o processo de produção e grave a ordem.
  7. Ao final da gravação, o sistema chama CarregaLayout() passando o código informado em CD_LAYORDEM como primeiro parâmetro, juntamente com empresa, número da ordem, path, modo 'V' e código do usuário.
  8. O relatório da ordem é gerado com o layout configurado.

Resultado esperado: A Ordem de Produção é impressa utilizando o layout cujo código foi parametrizado. O relatório segue a formatação, campos e regras definidas nesse layout.


Campo vazio (NULL ou string vazia)​

O que fazDetalhe
EditávelSim — basta deixar o campo em branco
ExigeNenhuma exigência adicional
RestriçãoO comportamento de impressão muda conforme a tela

Simulação passo a passo​

  1. Acesse MEQ001 → Parâmetros de Estoque.
  2. Navegue até a aba Layouts.
  3. Certifique-se de que o campo Layouts (edtCD_LAYORDEM) está vazio.
  4. Salve o registro.
  5. Acesse uma das telas de consulta de produção (ex: MEQ019 ou MEQ021).
  6. Observe que o botão Imprimir e o Separador3 ficam ocultos na barra de ferramentas.
  7. Na tela MEQ020, ao gravar uma ordem de produção, observe que o sistema utiliza o layout de fallback LET036 com parâmetros fixos (item, lote, quantidade produzida, modo 'E', tipo 'A', usuário da produção).
  8. Nas telas MEQ006, MEQ011 e MEQ012, ao tentar imprimir ou fechar, a impressão é simplesmente ignorada (a condição Trim(iCD_LAYORDEM) <> '' falha e nenhuma ação ocorre).

Resultado esperado:

  • MEQ019 / MEQ021: Botão Imprimir oculto — o usuário não tem opção de imprimir.
  • MEQ020: Impressão ocorre usando layout LET036 como fallback.
  • MEQ006 / MEQ011 / MEQ012 / MEQ017: Nenhuma impressão é gerada (silenciosamente ignorada).

Exceção / Importante: Na tela MEQ020, mesmo com CD_LAYORDEM vazio, a impressão ocorre utilizando o layout fixo LET036. Esse é o único cenário onde o sistema faz fallback automático para um layout padrão. Nas demais telas, a ausência do código simplesmente inibe a impressão.

Exceção / Importante: Na tela MEQ012, a impressão automática após o fechamento da ordem (btnFecharClick / btnFecharLoteClick) depende também do parâmetro ST_IMPRIMEFECHAMENTO (configurado em MEQ001 — Parâmetros de Estoque). Se ST_IMPRIMEFECHAMENTO <> 'S', a impressão não ocorre mesmo que CD_LAYORDEM esteja preenchido.


Regra geral de funcionamento​

  1. Configuração única por empresa: O valor de CD_LAYORDEM é gravado na tabela PARMESTOQUE vinculado a CD_EMPRESA. Cada empresa possui seu próprio layout configurado.

  2. Carregamento em tempo de abertura: As telas de produção consultam PARMESTOQUE ao abrir (via Busca_Parametros) e armazenam o valor em variável local (ex: dmMEQ012.iCD_LAYORDEM). Essa variável é reutilizada em todas as operações de impressão daquela sessão.

  3. Parâmetros passados ao layout: Quando o layout é carregado via CarregaLayout(), os seguintes parâmetros são tipicamente enviados:

    • [0] — Código do layout (CD_LAYORDEM)
    • [1] — Código da empresa
    • [2] — Número da ordem de produção
    • [3] — Path da sessão
    • [4] — Modo ('V' = visualização)
    • [5] — Código do usuário (ou tela de origem, como 'MEQ020')

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoComportamento
Busca_ParametrosUdmMEQ006.pasLê CD_LAYORDEM de PARMESTOQUE (posição 5 do SELECT)
Busca_ParametrosUdmMEQ011.pasLê CD_LAYORDEM de PARMESTOQUE (posição 5 do SELECT)
Busca_ParametrosUdmMEQ012.pasLê CD_LAYORDEM de PARMESTOQUE (posição 5 do SELECT)
Busca_ParametrosUdmMEQ017.pasLê CD_LAYORDEM de PARMESTOQUE
Busca_ParametrosUdmMEQ019.pasLê CD_LAYORDEM de PARMESTOQUE; oculta btnImprimir/Separador3 se vazio
Busca_ParametrosUdmMEQ020.pasLê CD_LAYORDEM de PARMESTOQUE
Busca_ParametrosUdmMEQ021.pasLê CD_LAYORDEM de PARMESTOQUE; oculta btnImprimir/Separador3 se vazio
Busca_ParametrosUdmMEQ022.pasLê CD_LAYORDEM de PARMESTOQUE
Busca_ParametrosUdmMEQ023.pasLê CD_LAYORDEM de PARMESTOQUE
Busca_ParametrosUdmMEQ024.pasLê CD_LAYORDEM de PARMESTOQUE
Busca_ParametrosUdmMEQ025.pasLê CD_LAYORDEM de PARMESTOQUE
TfrmMEQ006.btnSalvarClickUMEQ006.pasImprime ordem se CD_LAYORDEM <> '' e NR_ORDEMPRODUCAO <> ''
TfrmMEQ011.btnSalvarClickUMEQ011.pasImprime ordem se CD_LAYORDEM <> '' e NR_ORDEMPRODUCAO <> ''
TfrmMEQ012.btnImprimirClickUMEQ012.pasImprime ordem se CD_LAYORDEM <> '' e NR_ORDEMPRODUCAO <> ''
TfrmMEQ012.btnFecharClickUMEQ012.pasImprime ao fechar se CD_LAYORDEM <> '' e NR_ORDEMPRODUCAO <> ''
TfrmMEQ012.btnFecharLoteClickUMEQ012.pasImprime ao fechar lote se CD_LAYORDEM <> '' e NR_ORDEMPRODUCAO <> ''
TfrmMEQ017.btnImprimirClickUMEQ017.pasImprime ordem se CD_LAYORDEM <> ''
Imprime_OrdemUdmMEQ019.pasCarrega layout de CD_LAYORDEM e chama CarregaLayout()
TfrmMEQ020.btnSalvarClickUMEQ020.pasImprime com CD_LAYORDEM se preenchido; fallback LET036 se vazio
TfrmMEQ020.btnAtualizarClickUMEQ020.pasImprime com CD_LAYORDEM se preenchido
Imprime_OrdemUdmMEQ021.pasCarrega layout de CD_LAYORDEM e chama CarregaLayout()
TfrmCEQ002.btnImprimirClickUCEQ002.pasConsulta CD_LAYORDEM de PARMESTOQUE

Referências SQL diretas ao campo​

Nenhuma procedure SQL em Scripts/ referencia diretamente a coluna CD_LAYORDEM de PARMESTOQUE. As referências existem apenas no nível Delphi (consultas dinâmicas construídas em Pascal).

Candidatas por uso da tabela​

As procedures/views SQL em Scripts/ listadas abaixo utilizam a tabela PARMESTOQUE mas não citam o campo CD_LAYORDEM diretamente. Não há impacto funcional direto identificado para este campo em procedures SQL:

AJUSTA_ORDEMPRODPEDANTECIPADO, ALTERACAO_BANDA, ATUALIZA_CONSUMOMEDIO, ATUALIZA_ESTOQUEDIAPESSOA, CALCULA_FORMACAOPRECOVENDA, CANCELA_ESTOQUE, CONFIRMA_ORDEMSERVICO, CONFIRMA_ORDEMSERVICOMETAL, GERA_ESTOQUE, GERA_ESTOQUE_NOTAFISCAL, GERA_ESTOQUEPSALT, GERA_NOTAFISCALESTOQUE, GERA_ORDEMPRODUCAO, GERA_PRODENVELOPAMENTO, GERA_PRODLOTEPRODUCAO, GERA_PRODMONTAGEMRECAP, GERA_PRODVULCANIZACAO, GERA_SPEDBLOCOL, GERA_SPEDECFBLOCOL, GRAVA_AVISOS.