CDLAYOUTOP — Layout da Ordem de Produção
Tela de configuração: REC001 — Parâmetros da Recapadora Localização: Parâmetros → Aba Layouts Tabela/Coluna:
PARAMRECAP.CDLAYOUTOP—DOM_VARCHAR6Valor padrão: Nenhum (campo fica vazio)
Finalidade
Define o nome do arquivo de layout (.RTM) utilizado para impressão de Ordens de Produção no módulo de Recapadora. O valor é consultado em diversas telas de manutenção e produção para determinar qual relatório emitir.
Telas impactadas
| Tela | Uso do campo |
|---|---|
| LPP000 — Impressão de LPP | Consultado diretamente do banco; se vazio, exibe W-1392 e interrompe a emissão. Se 'LPP008', divide impressão em recapagem a quente (LPP008_Q) e a frio (LPP008). |
| MRC039 — Fechamento da Ordem de Produção | Ao finalizar OP, consulta PARAMRECAP; se CDLAYOUTOP <> vazio e ST_IMPRIMEORDEMPRODUCAO = 'S', imprime automaticamente. Se valor = 'LPP100', usa layout LPP100; senão, usa LPP000. |
| MRC002 — Manutenção de Ordens de Produção | Ao reimprimir: se CDLAYOUTOP = 'LPP100' usa LPP100, senão usa LPP000. |
| MRC003 — Consulta de Ordens de Produção | Mesma lógica de MRC002 para ações de impressão/reimpressão. |
| CRC001 — Recepção de Recapadora | Lê o valor para repassar como parâmetro na impressão de OP. |
| MRC043 — Consulta de Estoque | Carrega o valor junto com os demais parâmetros da recapadora. |
Campos envolvidos
| Campo | Tabela | Relação |
|---|---|---|
CDLAYOUTOP | PARAMRECAP | Campo principal — nome do layout .RTM |
ST_IMPRIMELPP | PARAMRECAP | Se 'S', a emissão via LPP000 sai direto para impressão (acao I); se 'N', apenas visualiza (acao V) |
STETIQUETAOP | PARAMRECAP | Se 'S', após o layout da OP, o sistema imprime também a etiqueta |
ST_IMPRIMEORDEMPRODUCAO | PARAMRECAP | Se 'S' e CDLAYOUTOP <> vazio, imprime automaticamente ao fechar OP em MRC039 |
Opções disponíveis
Deixar vazio — Impressão de OP desabilitada
| O que faz | Detalhe |
|---|---|
| Bloqueia emissão | Em LPP000, exibe o aviso W-1392 e interrompe a operação |
| Ignora auto-impressão | Em MRC039, mesmo com ST_IMPRIMEORDEMPRODUCAO = 'S', não imprime se o layout estiver vazio |
Simulação passo a passo
- Acesse REC001 — Parâmetros da Recapadora.
- Na aba de Layouts, localize o campo CDLAYOUTOP.
- Certifique-se de que o campo está vazio.
- Salve o registro.
- Tente emitir um LPP (relatório de ordem de produção) pela tela LPP000.
Resultado esperado: O sistema exibe o aviso W-1392 e não gera nenhuma impressão.
Excecao / Importante: O mesmo vale para a impressão automática em MRC039 — se
CDLAYOUTOPestiver vazio, o sistema ignora o flagST_IMPRIMEORDEMPRODUCAOe não imprime.
Código genérico (ex: LPP000) — Layout padrão
| O que faz | Detalhe |
|---|---|
| Editável | Nome do arquivo .RTM sem extensão |
| Exige arquivo existente | Na validação, o sistema procura LPP000.RTM em sessao.path e em sessao.path\Custom |
| Erro se não encontrar | Lança exceção W-0000 informando que o layout não foi encontrado |
Simulação passo a passo
- Acesse REC001 — Parâmetros da Recapadora.
- Na aba de Layouts, digite
LPP000no campo CDLAYOUTOP. - Salve o registro.
- Confirme que o arquivo
LPP000.RTMexiste no diretóriosessao.pathousessao.path\Custom. - Emite um LPP pela tela LPP000 ou finalize uma ordem de produção em MRC039.
Resultado esperado: O sistema utiliza o layout LPP000.RTM para gerar a impressão da ordem de produção.
LPP008 — Layout com separação quente/frio
| O que faz | Detalhe |
|---|---|
| Tratamento especial | Divide a impressão em dois relatórios distintos |
| Recapagem a quente | Gera LPP008_Q.RTM (filtra STRECAPAGEMQUENTE = 'S') |
| Recapagem a frio | Gera LPP008.RTM (filtra STRECAPAGEMQUENTE = 'N') |
Simulação passo a passo
- Acesse REC001 — Parâmetros da Recapadora.
- Na aba de Layouts, digite
LPP008no campo CDLAYOUTOP. - Salve o registro.
- Certifique-se de que os arquivos
LPP008.RTMeLPP008_Q.RTMexistem no diretório de layouts. - Emita um LPP pela tela LPP000 com ordens de produção que incluam tanto recapagens a quente quanto a frio.
Resultado esperado: O sistema gera duas impressões separadas — uma com as recapagens a quente usando LPP008_Q.RTM e outra com as recapagens a frio usando LPP008.RTM.
LPP100 — Layout especial (sem validação de arquivo)
| O que faz | Detalhe |
|---|---|
| Exceção na validação | Em REC001, o valor 'LPP100' não passa pela verificação de existência do arquivo .RTM |
| Comportamento em MRC039/MRC002/MRC003 | Se o valor for 'LPP100', o sistema usa o layout LPP100; qualquer outro valor genérico cai para LPP000 |
Simulação passo a passo
- Acesse REC001 — Parâmetros da Recapadora.
- Na aba de Layouts, digite
LPP100no campo CDLAYOUTOP. - Salve o registro — o sistema não valida a existência do arquivo
.RTMpara este valor. - Marque
ST_IMPRIMEORDEMPRODUCAO = 'S'na mesma aba. - Finalize uma ordem de produção em MRC039.
Resultado esperado: O sistema utiliza o layout LPP100 para imprimir a ordem de produção automaticamente.
Excecao / Importante: O valor
'LPP100'é o único que escapa da validação de arquivo no eventoqryCadastroCDLAYOUTOPValidate. Qualquer outro valor que não corresponda a um arquivo.RTMexistente emsessao.pathousessao.path\Customgera o erroW-0000.
Outro código qualquer (ex: LPP005)
| O que faz | Detalhe |
|---|---|
| Editável | Aceita qualquer nome de layout de até 6 caracteres |
| Validação de arquivo | Verifica se <codigo>.RTM existe em sessao.path ou sessao.path\Custom |
| Uso em impressão | Em MRC039/MRC002/MRC003, se o valor não for 'LPP100', o sistema direciona para o layout LPP000 |
Simulação passo a passo
- Acesse REC001 — Parâmetros da Recapadora.
- Na aba de Layouts, digite
LPP005no campo CDLAYOUTOP. - Salve o registro.
- Confirme que o arquivo
LPP005.RTMexiste no diretório de layouts. - Emita um LPP pela tela LPP000.
Resultado esperado: Na emissão via LPP000, o sistema utiliza LPP005.RTM. Na impressão automática via MRC039, como o valor não é 'LPP100', o sistema redireciona para LPP000.
Excecao / Importante: Nas telas MRC039, MRC002 e MRC003, a lógica verifica explicitamente se o valor é
'LPP100'. Qualquer outro valor (incluindo códigos customizados comoLPP005) resulta no fallback para o layoutLPP000. A exceção é a emissão via LPP000, onde o código é utilizado diretamente como nome do arquivo.
Tabela Comparativa Resumida
| Valor | Validação de arquivo | Emissão via LPP000 | Impressão em MRC039/MRC002/MRC003 |
|---|---|---|---|
| (vazio) | N/A | W-1392 — interrompe | Não imprime |
LPP000 | Verifica .RTM | Usa LPP000.RTM | Usa LPP000 |
LPP008 | Verifica .RTM | Divide em LPP008 (frio) e LPP008_Q (quente) | Usa LPP000 (fallback) |
LPP100 | Sem validação | Usa LPP100 | Usa LPP100 |
| Outro código | Verifica .RTM | Usa o código informado | Fallback para LPP000 |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Trecho |
|---|---|---|---|
qryCadastroCDLAYOUTOPValidate | source/REC001/UdmREC001.pas | 437 | Valida existência do arquivo .RTM; 'LPP100' é isento |
TdmCRC001.ImprimeOrdemProducao | source/CRC001/UdmCRC001.pas | 571 | SELECT ... P.CDLAYOUTOP — consulta para impressão |
ExecLayout | source/LPP000/UdmLPP000.pas | 80–135 | Consulta campo, valida vazio (W-1392), trata LPP008 |
imprimirOrdensProducao | source/MRC002/UformMRC002.pas | 163 | Se 'LPP100' usa LPP100, senão LPP000 |
TframeConsultaMRC003.actionImprimirOrdExecute | source/MRC003/UframeConsultaMRC003.pas | 741 | Mesma lógica de MRC002 |
TframeMRC003.buttonReimprimirClick | source/MRC003/UframeMRC003.pas | 3286 | Mesma lógica de MRC002 |
TfrmMRC039.ImprimeOrdemProducao | source/MRC039/UMRC039.pas | 1481–1496 | Consulta campo; se vazio ou ST_IMPRIMEORDEMPRODUCAO <> 'S', não imprime |
iniciar | source/MRC043/UMRC043.pas | 145 | Carrega campo junto com parâmetros da recapadora |
Referências SQL diretas ao campo
| Script | Linha | Trecho |
|---|---|---|
source/CRC001/UdmCRC001.pas | 571 | ' P.CDLAYOUTOP ' |
source/MRC039/UMRC039.pas | 1481 | ' P.CDLAYOUTOP , P.ST_IMPRIMEORDEMPRODUCAO ' |
source/MRC043/UMRC043.pas | 145 | ' P.CDLAYOUTOP ' |
Candidatas por uso da tabela (PARAMRECAP)
As procedures/views abaixo acessam a tabela PARAMRECAP mas não citam o campo CDLAYOUTOP literalmente. Não há impacto funcional direto documentado sobre este campo nessas rotinas.
Inclui: ATUALIZA_PEDIDONOTA, ATUALIZA_PREVISAOORDEMPROD, ATUALIZA_STFATURAAUTO, ATUALIZA_TIPOPESSOARECAP, CANCELA_ESTOQUERECAP, CANCELA_NOTAFISCAL, CONFIRMA_PNEURECUSADO, EXCLUSAO_BANDA, FECHA_ORDEMPRODUCAORECAP, FECHA_ORDEMPRODUCAORECAPNOTA, GERA_NOTAPEDIDO, GERA_ORDEMPRODUCAORECAP, GERA_PEDIDOENTRADACARCACA, GERA_PEDIDOSAIDACARCACA, GERA_PRODACABAMENTO, GERA_PRODAPLICACAOCOLA, GERA_PRODAPLICACAOCONSERTO, GERA_PRODBANDA, GERA_PRODCONFERENCIAPNEU, GERA_PRODDESENVELOPAMENTO, entre outras.