Pular para o conteúdo principal

ST_IMPORDEMSERVICO — Impressão Automática de OS

Tela de configuração: OFI001 — Parâmetros da Oficina Localização: Aba Layouts → grupo Ordem de Serviço → campo Imprime Tabela / Campo: PARMOFICINA.ST_IMPORDEMSERVICO — CHAR(1) Valor padrão: S (Sim) Componente: cmbST_IMPORDEMSERVICO (TwwDBComboBox, csDropDownList)


Telas impactadas​

TelaDescriçãoComo usa o parâmetro
OFI001Parâmetros da OficinaEdição e persistência do valor na tabela PARMOFICINA
MOF001Manutenção de Ordem de ServiçoAo salvar/fechar a OS, consulta o parâmetro para decidir se imprime automaticamente a OS
MOF002Oficina RápidaConsulta o parâmetro via ParmOficina para decidir impressão da OS gerada

Campos envolvidos​

CampoTabelaTipoRelação com ST_IMPORDEMSERVICO
ST_IMPORDEMSERVICOPARMOFICINACHAR(1)Este parâmetro — controla se imprime a OS
CD_LAYOUTORDEMSERVICOPARMOFICINAVARCHAR(6)Layout de impressão utilizado quando a OS é impressa
TP_IMPORDEMSERVICOPARMOFICINACHAR(1)Tipo de impressão (parâmetro do CarregaLayout)

Opções disponíveis​

S — Sim (Imprime Automaticamente)​

O que fazDetalhe
ComportamentoAo salvar a OS, o sistema imprime automaticamente sem perguntar
ExigeCD_LAYOUTORDEMSERVICO deve estar preenchido
RestriçãoSe o layout estiver vazio, o sistema lança exceção W-1819 ao tentar salvar os parâmetros

Simulação passo a passo​

  1. Acesse OFI001 → aba Layouts → grupo Ordem de Serviço.
  2. No campo Imprime, selecione Sim.
  3. No campo Layout, informe um layout válido (ex.: LOF000).
  4. Salve os parâmetros.
  5. Abra MOF001, cadastre e salve uma nova Ordem de Serviço.
  6. Ao concluir o salvamento da OS, o sistema gera a impressão automaticamente.

Resultado esperado: A OS é impressa assim que o registro é salvo, sem nenhuma pergunta ao operador.


N — Não (Não Imprime)​

O que fazDetalhe
ComportamentoAo salvar a OS, o sistema não gera impressão
ExigeNenhum layout obrigatório
RestriçãoSem impacto direto identificado no código

Simulação passo a passo​

  1. Acesse OFI001 → aba Layouts → grupo Ordem de Serviço.
  2. No campo Imprime, selecione Não.
  3. Salve os parâmetros.
  4. Abra MOF001, cadastre e salve uma nova Ordem de Serviço.

Resultado esperado: A OS é salva normalmente e nenhum relatório é emitido automaticamente.


P — Perguntar​

O que fazDetalhe
ComportamentoAo salvar a OS, o sistema exibe uma mensagem perguntando se o operador deseja imprimir
ExigeCD_LAYOUTORDEMSERVICO deve estar preenchido (para o caso de o operador confirmar)
RestriçãoSe o layout estiver vazio e o parâmetro não for N, lança exceção W-1819 ao salvar parâmetros

Simulação passo a passo​

  1. Acesse OFI001 → aba Layouts → grupo Ordem de Serviço.
  2. No campo Imprime, selecione Perguntar.
  3. No campo Layout, informe um layout válido (ex.: LOF000).
  4. Salve os parâmetros.
  5. Abra MOF001, cadastre e salve uma nova Ordem de Serviço.
  6. O sistema exibe a mensagem C-1698 perguntando se deseja imprimir.
    • Se o operador confirmar Sim → a OS é impressa com o layout configurado.
    • Se o operador confirmar Não → a OS é salva sem impressão.

Resultado esperado: O operador decide, no momento do salvamento, se deseja ou não imprimir a OS.


Regra Geral de Validação​

Ao salvar os parâmetros na tela OFI001, o sistema aplica a seguinte validação (ASalvarExecute):

  • Se ST_IMPORDEMSERVICO <> N e CD_LAYOUTORDEMSERVICO estiver vazio → lança exceção W-1819 com a mensagem referente a Ordem de Serviço.
  • Ou seja: qualquer opção diferente de Não (S ou P) exige que o layout de impressão esteja configurado.

Tabela Comparativa Resumida​

ValorDescriçãoImprime ao salvar OS?Exige Layout?Pergunta ao operador?
SSimSimSimNão
NNãoNãoNãoNão
PPerguntarDepende da respostaSimSim (mensagem C-1698)

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaEvidência
imprimesource/MOF001/UMOF001.pas884if (dmMOF001.iST_IMPORDEMSERVICO = 'S') then
imprimesource/MOF001/UMOF001.pas887if (dmMOF001.iST_IMPORDEMSERVICO = 'P') then
Busca_Parametrossource/MOF001/UdmMOF001.pas668Seleciona ST_IMPORDEMSERVICO na query de parâmetros
Busca_Parametros (atribuição)source/MOF001/UdmMOF001.pas682dmMOF001.iST_IMPORDEMSERVICO := Resultado[5]
Busca_Parametrossource/MOF006/UdmMOF006.pas269Seleciona ST_IMPORDEMSERVICO na query de parâmetros
Busca_Parametros (atribuição)source/MOF006/UdmMOF006.pas283dmMOF006.iST_IMPORDEMSERVICO := Resultado[5]
TfrmOFI001.ASalvarExecutesource/OFI001/UOFI001.pas384Valida se layout é obrigatório quando <> 'N'
tabPARMOFICINAAfterInsertsource/OFI001/UdmOFI001.pas355Define valor padrão 'S' ao inserir novo registro

Referências SQL diretas ao campo em Scripts/​

Não foi encontrada referência direta ao campo ST_IMPORDEMSERVICO em procedures ou views SQL dentro de Scripts/. As procedures candidatas abaixo utilizam a tabela PARMOFICINA apenas para joins em CD_EMPRESA, sem consultar este campo:

Procedure/ViewArquivoObservação
PARCELA_FINANC_MNF017Scripts/PARCELA_FINANC_MNF017.sqlJoin em CD_EMPRESA apenas
PARCELA_FINANCIAMENTOScripts/PARCELA_FINANCIAMENTO.sqlJoin em CD_EMPRESA apenas
REABRE_OSScripts/REABRE_OS.sqlJoin em CD_EMPRESA apenas
RETORNA_MOTIVOBLOQUEIOScripts/RETORNA_MOTIVOBLOQUEIO.sqlJoin em CD_EMPRESA apenas
RETORNA_PRECOITEMScripts/RETORNA_PRECOITEM.sqlJoin em CD_EMPRESA apenas
VERIFICA_BLOQUEIOScripts/VERIFICA_BLOQUEIO.sqlJoin em CD_EMPRESA apenas