CD_LAYOUTORDEMSERVICO - Layout de Impressão da Ordem de Serviço
Tela de configuração: OFI001 - Parâmetros da Oficina
Localização: Aba "Layouts"
Tabela:PARMOFICINA.CD_LAYOUTORDEMSERVICO
Tipo:VARCHAR(6)(DOM_VARCHAR6)
Componente:edtCD_LAYOUTORDEMSERVICO(TDBEdit, CharCase = ecUpperCase)
Visão geral
Este parâmetro armazena o código do layout de impressão utilizado quando a Ordem de Serviço (OS) é impressa. O layout é referenciado pelas rotinas de impressão dos módulos de Ordem de Serviço (MOF001, MOF002, MOF006) e também pelo módulo CPD003.
Telas impactadas
| Tela | Descrição | Impacto |
|---|---|---|
| OFI001 | Parâmetros da Oficina | Tela de configuração do parâmetro |
| MOF001 | Emissão de Ordem de Serviço | Usa o layout na impressão automática ou sob demanda da OS |
| MOF002 | Ordens de Serviço (alternativa) | Usa o layout na impressão; comportamento especial para LOF016 |
| MOF006 | Módulo complementar de OS | Carrega o parâmetro para impressão |
| CPD003 | Módulo complementar | Consulta o layout para impressão de OS |
Campos relacionados
| Campo | Tabela | Tipo | Relação |
|---|---|---|---|
CD_LAYOUTORDEMSERVICO | PARMOFICINA | VARCHAR(6) | Este parâmetro — código do layout de impressão da OS |
ST_IMPORDEMSERVICO | PARMOFICINA | CHAR(1) | Controla se a OS deve ser impressa (vinculado a este parâmetro) |
TP_IMPORDEMSERVICO | PARMOFICINA | CHAR(1) | Controla o tipo de impressão (ex: Fast Report, Fast Report + visualização, etc.) |
CD_LAYOUTAUTORIZACAO | PARMOFICINA | VARCHAR(6) | Layout da autorização de serviço |
CD_LAYOUTORCAMENTO | PARMOFICINA | VARCHAR(6) | Layout do orçamento |
Opções disponíveis
O campo é livre — aceita qualquer código de layout de até 6 caracteres, em maiúsculas. Contudo, determinados layouts ativam comportamentos específicos no sistema:
Layout padrão (código livre)
| O que faz | Detalhe |
|---|---|
| Comportamento | Armazena o código do layout a ser usado na impressão da OS |
| Edição | Livre — o operador digita o código desejado |
| Validação | O valor é convertido automaticamente para maiúsculas |
| Exigência | Obrigatório quando ST_IMPORDEMSERVICO <> 'N' |
Simulação passo a passo
- Acesse OFI001 — Parâmetros da Oficina.
- Abra a aba "Layouts".
- No campo "Layout OS" (
CD_LAYOUTORDEMSERVICO), digite o código do layout, por exemplo:LOF001. - Preencha
ST_IMPORDEMSERVICOcomS(imprime automaticamente) ouP(pergunta antes de imprimir). - Salve o registro.
Resultado esperado: O código do layout é armazenado em maiúsculas. Ao salvar uma OS nos módulos MOF001/MOF002, o sistema utilizará esse layout para gerar a impressão.
Importante: Se
ST_IMPORDEMSERVICOfor diferente deN(ou seja,SouP) eCD_LAYOUTORDEMSERVICOestiver vazio, o sistema lança a exceção W-1819 com a mensagem "Ordem Serviço" no momento de salvar os parâmetros em OFI001.
LOF013 — Layout com controle de requisição de estoque
| O que faz | Detalhe |
|---|---|
| Comportamento | Ao selecionar LOF013, os controles TP_REQESTOQUE (label + combo) tornam-se visíveis na tela OFI001 |
| Edição | O campo em si é editável normalmente |
| Restrição | Visibilidade condicionada ao valor exato LOF013 |
Simulação passo a passo
- Acesse OFI001 — Parâmetros da Oficina.
- Abra a aba "Layouts".
- No campo "Layout OS", digite
LOF013. - Confirme a navegação no registro (TAB ou clique em outro campo).
Resultado esperado: O campo "Tipo Requisição Estoque" (TP_REQESTOQUE) e seu label tornam-se visíveis na tela, permitindo configurar o comportamento de requisição de estoque associado a esse layout.
Resultado esperado (navegação posterior): Ao navegar para outro registro cujo layout seja diferente de LOF013 (ex: LOF001), os controles TP_REQESTOQUE voltam a ficar ocultos.
LOF016 — Layout com tratamento especial no MOF002
| O que faz | Detalhe |
|---|---|
| Comportamento | No módulo MOF002, ao salvar uma OS com o layout LOF016, o sistema executa uma rotina de impressão específica |
| Exigência | Aplica-se apenas quando NR_ORDEMSERVICO não está vazio |
Simulação passo a passo
- Acesse OFI001 — Parâmetros da Oficina.
- Na aba "Layouts", defina
CD_LAYOUTORDEMSERVICOcomoLOF016. - Salve os parâmetros.
- Acesse o módulo MOF002 e crie ou edite uma Ordem de Serviço.
- Preencha o número da OS (
NR_ORDEMSERVICO) e salve.
Resultado esperado: O sistema detecta o layout LOF016 e executa a rotina de impressão dedicada a esse layout.
Regra de validação no salvamento (OFI001)
Ao salvar os parâmetros em OFI001, o sistema valida a coerência entre ST_IMPORDEMSERVICO e CD_LAYOUTORDEMSERVICO:
| Condição | Comportamento |
|---|---|
ST_IMPORDEMSERVICO <> 'N' E CD_LAYOUTORDEMSERVICO vazio | Exceção W-1819 com a mensagem "Ordem Serviço" |
ST_IMPORDEMSERVICO = 'N' E CD_LAYOUTORDEMSERVICO vazio | Permitido — não imprime a OS |
ST_IMPORDEMSERVICO <> 'N' E CD_LAYOUTORDEMSERVICO preenchido | Gravação normal — OS será impressa com o layout informado |
Veja também:
ST_IMPORDEMSERVICO(configurado em OFI001, aba "Layouts") — controla se a OS é impressa. Consulte a documentação desse parâmetro para detalhes sobre os valoresS(sempre) eP(pergunta).
Comportamento na impressão (MOF001)
No momento de salvar/imprimir uma OS no módulo MOF001:
- O sistema verifica
ST_IMPORDEMSERVICO:S→imprimeOS = true(imprime automaticamente, sem perguntar).P→ o sistema exibe a mensagem C-1698 perguntando se o operador deseja imprimir.N→ não imprime.
- Se
imprimeOS = trueeCD_LAYOUTORDEMSERVICOnão estiver vazio:- O sistema chama
CarregaLayoutpassando:Parametros[0]='LOF000'(identificador do tipo de layout)Parametros[1]=CD_LAYOUTORDEMSERVICO(código do layout)Parametros[2]= Código da empresaParametros[3]= Número da OSParametros[4]= Path da sessãoParametros[5]=TP_IMPORDEMSERVICO(tipo de impressão)Parametros[7]= Ordem dos serviçosParametros[8]= Ordem das peças
- O sistema chama
Exceção: Se
CD_LAYOUTORDEMSERVICOestiver vazio no momento da impressão, o sistema não imprime a OS, mesmo queST_IMPORDEMSERVICO=S— a condição exige ambos: flag ativa e layout definido.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
TdmOFI001.tabPARMOFICINACD_LAYOUTORDEMSERVICOValidate | source/OFI001/UdmOFI001.pas | 477 | Validação do campo — exibe/oculta TP_REQESTOQUE quando valor = LOF013 |
TdmOFI001.tabPARMOFICINAAfterScroll | source/OFI001/UdmOFI001.pas | 291 | Mesmo comportamento no AfterScroll — controle de visibilidade |
TfrmOFI001.ASalvarExecute | source/OFI001/UOFI001.pas | 385 | Valida CD_LAYOUTORDEMSERVICO não vazio quando ST_IMPORDEMSERVICO <> 'N' |
imprime | source/MOF001/UMOF001.pas | 890 | Usa o layout na impressão da OS (CarregaLayout) |
TfrmMOF001.btnImprimirClick | source/MOF001/UMOF001.pas | 3665 | Usa o layout na impressão sob demanda |
Busca_Parametros | source/MOF001/UdmMOF001.pas | 668 | Carrega CD_LAYOUTORDEMSERVICO nos parâmetros do módulo |
iniciar | source/MOF002/UMOF002.pas | 203 | Carrega o parâmetro do PARMOFICINA para o MOF002 |
TfrmMOF002.btnSalvarClick | source/MOF002/UMOF002.pas | 467 | Tratamento especial quando layout = LOF016 |
Busca_Parametros | source/MOF006/UdmMOF006.pas | 269 | Carrega CD_LAYOUTORDEMSERVICO nos parâmetros do MOF006 |
TfrmCPD003.btnImprimeOSClick | source/CPD003/UCPD003.pas | 2207 | Consulta CD_LAYOUTORDEMSERVICO do PARMOFICINA para impressão |
Referências SQL diretas ao campo
| Procedure/View | Arquivo | Linha | Evidência |
|---|---|---|---|
| Nenhuma referência direta encontrada | — | — | Não foi encontrada referência direta ao campo CD_LAYOUTORDEMSERVICO em Scripts/ |
Candidatas por uso da tabela PARMOFICINA
As rotinas abaixo fazem join com PARMOFICINA mas não referenciam CD_LAYOUTORDEMSERVICO literalmente. Não foi possível afirmar impacto funcional direto:
PARCELA_FINANC_MNF017, PARCELA_FINANCIAMENTO, REABRE_OS, RETORNA_MOTIVOBLOQUEIO, RETORNA_PRECOITEM, VERIFICA_BLOQUEIO, VIEW_DOCUMENTOSBLOQUEADOS, VIEW_ROF004, VIEW_ROF004_OFXMM, VIEW_ROF004B, VIEW_ROF004B_V2, VIEW_ROF008
Tabela comparativa resumida
| Cenário | ST_IMPORDEMSERVICO | CD_LAYOUTORDEMSERVICO | Resultado ao salvar OS |
|---|---|---|---|
| Impressão desabilitada | N | Vazio | Não imprime — OK |
| Impressão desabilitada | N | Preenchido | Não imprime — OK |
| Impressão automática | S | Vazio | Exceção W-1819 ao salvar parâmetros (OFI001); na OS, não imprime |
| Impressão automática | S | LOF001 | Imprime automaticamente com layout LOF001 |
| Pergunta ao operador | P | LOF013 | Pergunta (C-1698); se confirmar, imprime com LOF013; TP_REQESTOQUE fica visível em OFI001 |
| Impressão automática | S | LOF016 | Imprime com tratamento especial no MOF002 |