Pular para o conteúdo principal

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​

TelaDescriçãoImpacto
OFI001Parâmetros da OficinaTela de configuração do parâmetro
MOF001Emissão de Ordem de ServiçoUsa o layout na impressão automática ou sob demanda da OS
MOF002Ordens de Serviço (alternativa)Usa o layout na impressão; comportamento especial para LOF016
MOF006Módulo complementar de OSCarrega o parâmetro para impressão
CPD003Módulo complementarConsulta o layout para impressão de OS

Campos relacionados​

CampoTabelaTipoRelação
CD_LAYOUTORDEMSERVICOPARMOFICINAVARCHAR(6)Este parâmetro — código do layout de impressão da OS
ST_IMPORDEMSERVICOPARMOFICINACHAR(1)Controla se a OS deve ser impressa (vinculado a este parâmetro)
TP_IMPORDEMSERVICOPARMOFICINACHAR(1)Controla o tipo de impressão (ex: Fast Report, Fast Report + visualização, etc.)
CD_LAYOUTAUTORIZACAOPARMOFICINAVARCHAR(6)Layout da autorização de serviço
CD_LAYOUTORCAMENTOPARMOFICINAVARCHAR(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 fazDetalhe
ComportamentoArmazena o código do layout a ser usado na impressão da OS
EdiçãoLivre — o operador digita o código desejado
ValidaçãoO valor é convertido automaticamente para maiúsculas
ExigênciaObrigatório quando ST_IMPORDEMSERVICO <> 'N'

Simulação passo a passo​

  1. Acesse OFI001 — Parâmetros da Oficina.
  2. Abra a aba "Layouts".
  3. No campo "Layout OS" (CD_LAYOUTORDEMSERVICO), digite o código do layout, por exemplo: LOF001.
  4. Preencha ST_IMPORDEMSERVICO com S (imprime automaticamente) ou P (pergunta antes de imprimir).
  5. 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_IMPORDEMSERVICO for diferente de N (ou seja, S ou P) e CD_LAYOUTORDEMSERVICO estiver 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 fazDetalhe
ComportamentoAo selecionar LOF013, os controles TP_REQESTOQUE (label + combo) tornam-se visíveis na tela OFI001
EdiçãoO campo em si é editável normalmente
RestriçãoVisibilidade condicionada ao valor exato LOF013

Simulação passo a passo​

  1. Acesse OFI001 — Parâmetros da Oficina.
  2. Abra a aba "Layouts".
  3. No campo "Layout OS", digite LOF013.
  4. 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 fazDetalhe
ComportamentoNo módulo MOF002, ao salvar uma OS com o layout LOF016, o sistema executa uma rotina de impressão específica
ExigênciaAplica-se apenas quando NR_ORDEMSERVICO não está vazio

Simulação passo a passo​

  1. Acesse OFI001 — Parâmetros da Oficina.
  2. Na aba "Layouts", defina CD_LAYOUTORDEMSERVICO como LOF016.
  3. Salve os parâmetros.
  4. Acesse o módulo MOF002 e crie ou edite uma Ordem de Serviço.
  5. 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çãoComportamento
ST_IMPORDEMSERVICO <> 'N' E CD_LAYOUTORDEMSERVICO vazioExceção W-1819 com a mensagem "Ordem Serviço"
ST_IMPORDEMSERVICO = 'N' E CD_LAYOUTORDEMSERVICO vazioPermitido — não imprime a OS
ST_IMPORDEMSERVICO <> 'N' E CD_LAYOUTORDEMSERVICO preenchidoGravaçã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 valores S (sempre) e P (pergunta).

Comportamento na impressão (MOF001)​

No momento de salvar/imprimir uma OS no módulo MOF001:

  1. 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.
  2. Se imprimeOS = true e CD_LAYOUTORDEMSERVICO não estiver vazio:
    • O sistema chama CarregaLayout passando:
      • Parametros[0] = 'LOF000' (identificador do tipo de layout)
      • Parametros[1] = CD_LAYOUTORDEMSERVICO (código do layout)
      • Parametros[2] = Código da empresa
      • Parametros[3] = Número da OS
      • Parametros[4] = Path da sessão
      • Parametros[5] = TP_IMPORDEMSERVICO (tipo de impressão)
      • Parametros[7] = Ordem dos serviços
      • Parametros[8] = Ordem das peças

Exceção: Se CD_LAYOUTORDEMSERVICO estiver vazio no momento da impressão, o sistema não imprime a OS, mesmo que ST_IMPORDEMSERVICO = S — a condição exige ambos: flag ativa e layout definido.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaEvidência
TdmOFI001.tabPARMOFICINACD_LAYOUTORDEMSERVICOValidatesource/OFI001/UdmOFI001.pas477Validação do campo — exibe/oculta TP_REQESTOQUE quando valor = LOF013
TdmOFI001.tabPARMOFICINAAfterScrollsource/OFI001/UdmOFI001.pas291Mesmo comportamento no AfterScroll — controle de visibilidade
TfrmOFI001.ASalvarExecutesource/OFI001/UOFI001.pas385Valida CD_LAYOUTORDEMSERVICO não vazio quando ST_IMPORDEMSERVICO <> 'N'
imprimesource/MOF001/UMOF001.pas890Usa o layout na impressão da OS (CarregaLayout)
TfrmMOF001.btnImprimirClicksource/MOF001/UMOF001.pas3665Usa o layout na impressão sob demanda
Busca_Parametrossource/MOF001/UdmMOF001.pas668Carrega CD_LAYOUTORDEMSERVICO nos parâmetros do módulo
iniciarsource/MOF002/UMOF002.pas203Carrega o parâmetro do PARMOFICINA para o MOF002
TfrmMOF002.btnSalvarClicksource/MOF002/UMOF002.pas467Tratamento especial quando layout = LOF016
Busca_Parametrossource/MOF006/UdmMOF006.pas269Carrega CD_LAYOUTORDEMSERVICO nos parâmetros do MOF006
TfrmCPD003.btnImprimeOSClicksource/CPD003/UCPD003.pas2207Consulta CD_LAYOUTORDEMSERVICO do PARMOFICINA para impressão

Referências SQL diretas ao campo​

Procedure/ViewArquivoLinhaEvidê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árioST_IMPORDEMSERVICOCD_LAYOUTORDEMSERVICOResultado ao salvar OS
Impressão desabilitadaNVazioNão imprime — OK
Impressão desabilitadaNPreenchidoNão imprime — OK
Impressão automáticaSVazioExceção W-1819 ao salvar parâmetros (OFI001); na OS, não imprime
Impressão automáticaSLOF001Imprime automaticamente com layout LOF001
Pergunta ao operadorPLOF013Pergunta (C-1698); se confirmar, imprime com LOF013; TP_REQESTOQUE fica visível em OFI001
Impressão automáticaSLOF016Imprime com tratamento especial no MOF002