ST_REPROCTABPRECOCFE — Reprocessar Tabela de Preços CFE MFA006
Tela de configuração: OFI001 — Parâmetros de Oficina Localização: Aba Ordem 2 Tabela:
PARMOFICINA.ST_REPROCTABPRECOCFETipo:CHAR(1)— Combobox (S/N) Valor padrão:N(Não)
Comportamento Geral
Quando habilitado (S), o sistema reprocessa automaticamente a tabela de preço (campo CD_TABPRECO) de todos os itens e serviços vinculados à Ordem de Serviço (MOF001) ou Orçamento (MOF005) sempre que o documento é aberto ou salvo.
O reprocessamento consulta a função SQL RETORNA_TABPRECO, que busca a tabela de preço vigente com base nos parâmetros configurados em MFA006 (Parâmetros de Tabela de Preço), considerando: condição de pagamento, tipo de pessoa, vendedor, região comercial, estado, pessoa (cliente) e item/serviço.
Se a tabela retornada for diferente da atualmente atribuída ao item, o sistema atualiza automaticamente o CD_TABPRECO do item.
Telas Impactadas
| Tela | Descrição | Efeito |
|---|---|---|
| MOF001 | Ordem de Serviço | Ao abrir/salvar a OS, todos os itens de serviço (tabORDEMSERVITEM) têm sua tabela de preço reprocessada via ReprocTabPreco |
| MOF005 | Orçamento de Oficina | Ao processar o orçamento, todos os itens (tabITEM) e serviços (tabSERVICO) têm sua tabela de preço reprocessada via ReprocessaTabPreco |
Campos Envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
ST_REPROCTABPRECOCFE | PARMOFICINA | Flag que habilita/desabilita o reprocessamento |
CD_TABPRECO | ORDEMSERVITEM / ITEM / SERVICO | Campo atualizado automaticamente com a tabela vigente |
CD_CONDPAGTO, CD_TIPOPESSOA, CD_VENDEDOR, CD_REGIAOCOMERCIAL, SG_ESTADO, CD_PESSOA | ORDEMSERVICO / ORCAMENTO | Dados do cabeçalho usados como parâmetros para busca da tabela |
Opções Disponíveis
N — Não Reprocessar (Padrão)
| O que faz | Detalhe |
|---|---|
| Desabilita o reprocessamento automático | A tabela de preço do item permanece a mesma definida na inclusão; não há reconsulta automática ao abrir/salvar |
Simulação passo a passo
- Acesse OFI001 → aba Ordem 2.
- No campo Reprocessar Tab. Preços CFE. MFA006, selecione Não.
- Salve os parâmetros.
- Abra a tela MOF001 e insira uma Ordem de Serviço com um serviço que tenha tabela de preço atribuída.
- Feche e reabra a OS.
- Observe que o campo Tabela de Preço do serviço não é alterado automaticamente.
Resultado esperado: O campo CD_TABPRECO dos itens permanece inalterado ao reabrir a OS.
S — Reprocessar Automaticamente
| O que faz | Detalhe |
|---|---|
| Habilita o reprocessamento automático | Ao abrir/salvar a OS (MOF001) ou orçamento (MOF005), o sistema itera por todos os itens/serviços e consulta RETORNA_TABPRECO para atualizar o CD_TABPRECO com a tabela vigente em MFA006 |
Simulação passo a passo
- Acesse OFI001 → aba Ordem 2.
- No campo Reprocessar Tab. Preços CFE. MFA006, selecione Sim.
- Salve os parâmetros.
- Configure uma tabela de preço em MFA006 para um determinado serviço (ex.: Serviço A → Tabela Padrão).
- Abra MOF001 e insira uma OS com o Serviço A vinculado à tabela Tabela Promocional.
- Salve e reabra a OS.
- Observe o campo Tabela de Preço do item do serviço.
Resultado esperado: O campo CD_TABPRECO do serviço é automaticamente atualizado para a tabela vigente retornada por RETORNA_TABPRECO (no exemplo, Tabela Padrão), substituindo a tabela anterior (Tabela Promocional). O mesmo ocorre para todos os demais itens/serviços da OS.
Excecao / Importante:
- O reprocessamento é executado a cada abertura/salvamento da OS. Se a configuração de MFA006 for alterada entre aberturas, os itens serão atualizados para a nova tabela vigente.
- Internamente, o sistema utiliza uma flag
stReprocTabPrecopara evitar recálculo de totais durante o reprocessamento, evitando efeitos colaterais indesejados.- A função
RETORNA_TABPRECOconsidera múltiplos critérios (condição de pagamento, tipo de pessoa, vendedor, região, estado, cliente, item). Se nenhum parâmetro de tabela for encontrado para a combinação de critérios, e o parâmetroST_TABPRECOestiver como<> 'N', o sistema busca a primeira tabela válida com data de validade vigente.
Procedures Impactadas
Rotinas Delphi com referência direta ao parâmetro
| Rotina | Arquivo | Comportamento |
|---|---|---|
TdmMOF001.ReprocTabPreco | source/MOF001/UdmMOF001.pas | Verifica ST_REPROCTABPRECOCFE = 'S' e reprocessa tabelas de preço dos itens de serviço da OS |
TdmMOF005.ReprocessaTabPreco | source/MOF005/UdmMOF005.pas | Verifica ST_REPROCTABPRECOCFE = 'S' e reprocessa tabelas de preço dos itens e serviços do orçamento |
TdmOFI001.tabPARMOFICINAAfterInsert | source/OFI001/UdmOFI001.pas | Atribui valor padrão 'N' ao inserir novo registro |
Referências SQL diretas ao campo
Nenhuma referência direta a ST_REPROCTABPRECOCFE foi encontrada em scripts SQL (Scripts/). O campo é consultado exclusivamente via código Delphi através de ParmOficina.Values['ST_REPROCTABPRECOCFE'].
Candidatas por uso da tabela (sem referência direta ao campo)
Procedures/views que acessam a tabela PARMOFICINA mas não citam o campo ST_REPROCTABPRECOCFE diretamente — sem impacto funcional identificado para este parâmetro:
| Procedure/View | Arquivo |
|---|---|
PARCELA_FINANC_MNF017 | Scripts/PARCELA_FINANC_MNF017.sql |
PARCELA_FINANCIAMENTO | Scripts/PARCELA_FINANCIAMENTO.sql |
REABRE_OS | Scripts/REABRE_OS.sql |
RETORNA_MOTIVOBLOQUEIO | Scripts/RETORNA_MOTIVOBLOQUEIO.sql |
RETORNA_PRECOITEM | Scripts/RETORNA_PRECOITEM.sql |
VERIFICA_BLOQUEIO | Scripts/VERIFICA_BLOQUEIO.sql |
VIEW_DOCUMENTOSBLOQUEADOS | Scripts/VIEW_DOCUMENTOSBLOQUEADOS.sql |
VIEW_ROF004 | Scripts/VIEW_ROF004.sql |
VIEW_ROF004B | Scripts/VIEW_ROF004B.sql |
VIEW_ROF004B_V2 | Scripts/VIEW_ROF004B_V2.sql |
VIEW_ROF008 | Scripts/VIEW_ROF008.sql |