ST_IMPRORCAMENTO — Impressão Automática do Orçamento
Tela de configuração: OFI001 — Parâmetros da Oficina Localização na UI: Aba Layouts → campo Tipo Impressão Tabela:
PARMOFICINA.ST_IMPRORCAMENTO(CHAR(1), sem default no banco) Componente:cmbST_IMPRORCAMENTO(TwwDBComboBox,csDropDownList,AllowClearKey = False) Valor padrão ao inserir novo registro:S
Telas impactadas
| Tela | Contexto |
|---|---|
| OFI001 | Configuração do parâmetro e validação de obrigatoriedade do layout |
| MOF005 | Execução da impressão ao salvar/clicar em Imprimir |
Campos envolvidos
| Campo | Relação |
|---|---|
PARMOFICINA.ST_IMPRORCAMENTO | Parâmetro principal — define se imprime o orçamento |
PARMOFICINA.TP_IMPRORCAMENTO | Define como imprime: Visualiza (V) ou Imprime (I) — configurado em OFI001, aba Layouts |
PARMOFICINA.CD_LAYOUTORCAMENTO | Código do layout FastReport do orçamento — configurado em OFI001, aba Layouts |
Opções disponíveis
S — Sim (Sempre Imprimir)
| O que faz | Detalhe |
|---|---|
| Impressão automática | Ao salvar o orçamento em MOF005, o documento é impresso sem perguntar |
Simulação passo a passo
- Acesse OFI001 → Aba Layouts.
- No campo Tipo Impressão, selecione Sim.
- Certifique-se de que o campo Layout Orçamento (
CD_LAYOUTORCAMENTO) esteja preenchido (caso contrário, o sistema impedirá o salvamento com o avisoW-1819). - Salve os parâmetros.
- Vá até MOF005, cadastre ou edite um orçamento e clique em Imprimir (ou salve, caso o botão salvar acione a impressão).
- Observe que o relatório do orçamento é gerado automaticamente, sem nenhuma pergunta ao usuário.
Resultado esperado: O orçamento é impresso automaticamente toda vez que a ação de impressão é executada em MOF005, sem intervenção do operador.
N — Não (Nunca Imprimir)
| O que faz | Detalhe |
|---|---|
| Impressão desabilitada | Nenhum relatório de orçamento é gerado ao salvar em MOF005 |
| Layout opcional | O campo CD_LAYOUTORCAMENTO não precisa estar preenchido |
Simulação passo a passo
- Acesse OFI001 → Aba Layouts.
- No campo Tipo Impressão, selecione Não.
- Salve os parâmetros — o sistema não exige layout de orçamento quando esta opção está ativa.
- Vá até MOF005, cadastre ou edite um orçamento e clique em Imprimir.
- Observe que nenhuma mensagem é exibida e nenhum relatório é gerado.
Resultado esperado: O sistema ignora a impressão do orçamento. Nenhum popup é exibido ao operador.
P — Perguntar
| O que faz | Detalhe |
|---|---|
| Pergunta ao usuário | Ao executar a impressão em MOF005, o sistema exibe a mensagem A-0000: "Deseja imprimir a Ordem de Serviço?" |
| Layout obrigatório | O campo CD_LAYOUTORCAMENTO deve estar preenchido (validado em OFI001 no salvamento) |
Simulação passo a passo
- Acesse OFI001 → Aba Layouts.
- No campo Tipo Impressão, selecione Perguntar.
- Preencha o campo Layout Orçamento com um código de layout válido.
- Salve os parâmetros.
- Vá até MOF005, cadastre ou edite um orçamento e clique em Imprimir.
- O sistema exibe a mensagem: "Deseja imprimir a Ordem de Serviço?".
- Clique Sim → o relatório é gerado.
- Clique Não → nenhuma impressão é realizada.
Resultado esperado: O operador decide, a cada execução, se deseja ou não imprimir o orçamento. A resposta determina se o relatório será gerado.
Regras de negócio
Validação no salvamento (OFI001)
Quando ST_IMPRORCAMENTO é diferente de N (ou seja, vale S ou P), o campo CD_LAYOUTORCAMENTO deve estar preenchido. Se estiver vazio, o sistema impede o salvamento com o aviso:
W-1819— Informe o layout de impressão de Orçamentos.
Validação de status da OS (MOF005)
Mesmo com a impressão habilitada (S) ou confirmada (P), o sistema não imprime se o status do orçamento for:
- A (Atendida)
- C (Cancelada)
Interação com TP_IMPRORCAMENTO
Quando o layout está configurado (CD_LAYOUTORCAMENTO preenchido), o valor de TP_IMPRORCAMENTO (V = Visualiza / I = Imprime) é passado como parâmetro ao gerador de relatórios. Se não houver layout, o sistema chama diretamente Imprime_ORCAMENTO com o tipo de impressão.
Exceção / Importante: O parâmetro
ST_IMPRORCAMENTOcontrola se imprime;TP_IMPRORCAMENTO(configurado em OFI001 — Parâmetros da Oficina, aba Layouts) controla como imprime. Ambos trabalham em conjunto.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Uso |
|---|---|---|---|
TfrmMOF005.btnImprimirClick | source/MOF005/UMOF005.pas | 574 | Lê iST_IMPRORCAMENTO para decidir se imprime (S), pergunta (P) ou ignora (N) |
Busca_Parametros | source/MOF005/UdmMOF005.pas | 204 | Carrega ST_IMPRORCAMENTO da tabela PARMOFICINA para variável local |
TfrmOFI001.ASalvarExecute | source/OFI001/UOFI001.pas | 388 | Valida que CD_LAYOUTORCAMENTO está preenchido quando ST_IMPRORCAMENTO <> 'N' |
TdmOFI001.tabPARMOFICINAAfterInsert | source/OFI001/UdmOFI001.pas | 356 | Define valor padrão 'S' ao inserir novo registro |
Referências SQL diretas ao campo em Scripts/
Nenhuma referência direta a ST_IMPRORCAMENTO encontrada em procedures/views SQL. O campo é lido exclusivamente via aplicação Delphi.
Candidatas por uso da tabela (sem referência direta ao campo)
| Procedure/View | Arquivo | Observação |
|---|---|---|
PARCELA_FINANC_MNF017 | Scripts/PARCELA_FINANC_MNF017.sql | Acessa PARMOFICINA, mas sem filtro por ST_IMPRORCAMENTO |
PARCELA_FINANCIAMENTO | Scripts/PARCELA_FINANCIAMENTO.sql | Acessa PARMOFICINA, mas sem filtro por ST_IMPRORCAMENTO |
REABRE_OS | Scripts/REABRE_OS.sql | Acessa PARMOFICINA, mas sem filtro por ST_IMPRORCAMENTO |
RETORNA_PRECOITEM | Scripts/RETORNA_PRECOITEM.sql | Acessa PARMOFICINA, mas sem filtro por ST_IMPRORCAMENTO |
VERIFICA_BLOQUEIO | Scripts/VERIFICA_BLOQUEIO.sql | Acessa PARMOFICINA, mas sem filtro por ST_IMPRORCAMENTO |
Nenhuma dessas candidatas utiliza o campo
ST_IMPRORCAMENTOdiretamente. Sem impacto funcional direto identificado.