ST_LISTAVANCADA - Tipo de Lista <F9>
Tela de configuração: OFI001 - Parâmetros de Oficina Localização: Aba Parâmetros → Campo "Tipo de Lista
<F9>" Tabela:PARMOFICINA.ST_LISTAVANCADATipo:DOM_CHAR1(Combobox) Valor padrão:B(Normal)
Controla o tipo de lista de busca exibida ao pesquisar peças e serviços nas telas de Ordem de Serviço, Entrada de OS e Orçamento. Quando configurado como Avançada ('A'), o sistema abre uma tela de pesquisa mais completa, que considera parâmetros como condição de pagamento, vendedor, cliente, plataforma do veículo, tipo de pessoa, região comercial e estado.
Telas impactadas
| Tela | Arquivo | Comportamento |
|---|---|---|
| MOF001 (Ordem de Serviço) | UMOF001.pas | Ao inserir peças/serviços na OS, verifica iST_BUSCAAVANCADA para definir se abre busca avançada ou simples |
| MOF002 (Entrada de OS) | UMOF002.pas | Ao buscar produtos para inclusão, passa iST_BUSCAAVANCADA como parâmetro para PesquisarProduto |
| MOF005 (Orçamento) | UMOF005.pas | Ao inserir serviços/peças no orçamento, verifica iST_BUSCAAVANCADA para definir tipo de busca |
Campos envolvidos
| Campo | Tela | Tipo | Descrição |
|---|---|---|---|
ST_LISTAVANCADA | PARMOFICINA | DOM_CHAR1 | Valor persistido no banco (configurado via OFI001) |
iST_BUSCAAVANCADA | dmMOF001, dmMOF002, dmMOF005 | String | Variável interna das telas de operação que recebe o valor do parâmetro em tempo de execução |
Opções disponíveis
| O que faz | Detalhe |
|---|---|
A — Avançada | Abre a tela de PesquisaPeca com filtros completos (condição de pagamento, vendedor, cliente, plataforma, tipo pessoa, região, estado) |
B — Normal (padrão) | Abre a lista simples de busca (Busca / PesquisarProduto sem filtros avançados) |
A — Avançada
| O que faz | Detalhe |
|---|---|
| Editável | Combobox na aba Parâmetros de OFI001 |
| Exige | Nenhum campo adicional |
| Restrição | Nenhuma |
Simulação passo a passo
- Acesse OFI001 (Parâmetros de Oficina).
- Na aba Parâmetros, localize o campo "Tipo de Lista
<F9>". - Selecione a opção "Avançada".
- Salve o registro (
<F2>ou botão Salvar). - Abra MOF001 (Ordem de Serviço) e crie ou edite uma OS.
- Na grid de serviços/peças, pressione
<F9>ou a tecla de busca em um item de serviço. - O sistema abrirá a tela PesquisaPeca exibindo filtros avançados — informando automaticamente condição de pagamento, vendedor, cliente, plataforma do veículo, tipo de pessoa, região comercial e estado da OS corrente.
- Selecione uma ou mais peças/serviços e confirme.
Resultado esperado: A tela de pesquisa avançada é exibida com múltiplos filtros pré-preenchidos a partir dos dados da OS, permitindo busca mais refinada de peças e serviços. O usuário pode selecionar vários itens de uma vez.
Excecao / Importante: Em MOF001, ao pressionar
<F9>na colunaCD_SERVICO(serviço da OS), o sistema abre a busca avançada de serviços (parâmetro'S'). Na coluna de peças dentro do serviço (SERVICOITEM), abre a busca avançada de peças (parâmetro'P'). Em MOF005, a busca avançada de serviços usa parâmetro'S'e passa dados do orçamento (não da OS).
B — Normal
| O que faz | Detalhe |
|---|---|
| Editável | Combobox na aba Parâmetros de OFI001 |
| Exige | Nenhum campo adicional |
| Restrição | Nenhuma |
Simulação passo a passo
- Acesse OFI001 (Parâmetros de Oficina).
- Na aba Parâmetros, localize o campo "Tipo de Lista
<F9>". - Selecione a opção "Normal".
- Salve o registro (
<F2>ou botão Salvar). - Abra MOF001 (Ordem de Serviço) e crie ou edite uma OS.
- Na grid de serviços/peças, pressione
<F9>ou a tecla de busca em um item de serviço. - O sistema abrirá a lista de busca simples (rotina
BuscaouPesquisarProdutosem filtros avançados), apresentando apenas os campos básicos de pesquisa. - Selecione o item desejado e confirme.
Resultado esperado: A tela de busca simples é exibida, com campos de pesquisa básicos (código, descrição). O sistema utiliza a busca padrão (Busca com procedure SERVICOORDEMOFICINA ou SERVICOORDEM dependendo do tipo de OS, ou PesquisarProduto em MOF002), sem pré-filtrar por dados do cabeçalho da OS.
Excecao / Importante: Este é o valor padrão atribuído automaticamente ao criar um novo registro de parâmetros de oficina (
tabPARMOFICINAST_LISTAVANCADA.AsString := 'B').
Regra Geral
- O parâmetro é lido uma única vez ao abrir cada tela de operação (MOF001, MOF002, MOF005) na rotina
Busca_Parametros/iniciare armazenado na variável internaiST_BUSCAAVANCADA. - A verificação é feita por comparação direta:
iST_BUSCAAVANCADA = 'A'→ busca avançada; caso contrário → busca normal. - O parâmetro é por empresa (chave
CD_EMPRESAemPARMOFICINA). - Não há referência direta ao campo
ST_LISTAVANCADAem procedures ou views SQL emScripts/— o controle é feito exclusivamente no código Delphi.
Procedures impactadas
Rotinas Delphi com referência direta ao parâmetro
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
Busca_Parametros | source/MOF001/UdmMOF001.pas | 670 | Seleciona ST_LISTAVANCADA do banco e atribui a iST_BUSCAAVANCADA (posição 15 do resultado) |
iniciar | source/MOF002/UMOF002.pas | 205 | dmMOF002.iST_BUSCAAVANCADA := ParmOficina.Values['ST_LISTAVANCADA'] |
Busca_Parametros | source/MOF005/UdmMOF005.pas | 203 | Seleciona ST_LISTAVANCADA do banco e atribui a iST_BUSCAAVANCADA (posição 3 do resultado) |
gridORDEMSERVITEMKeyDown | source/MOF001/UMOF001.pas | 3198 | Verifica iST_BUSCAAVANCADA = 'A' para abrir busca avançada de peças na OS |
gridSERVICOITEMKeyDown | source/MOF001/UMOF001.pas | 3373 | Verifica iST_BUSCAAVANCADA = 'A' para busca avançada ao editar peça existente |
gridSERVICOKeyDown | source/MOF005/UMOF005.pas | 1316 | Verifica iST_BUSCAAVANCADA = 'A' para busca avançada de serviços no orçamento |
PesquisarProduto | source/MOF002/UMOF002.pas | 799 | Passa iST_BUSCAAVANCADA como parâmetro para PesquisarProduto |
tabPARMOFICINAAfterInsert | source/OFI001/UdmOFI001.pas | 380 | Atribui valor padrão 'B' ao criar novo registro |
Referências SQL diretas ao campo
Não foram encontradas referências diretas ao campo ST_LISTAVANCADA em procedures ou views SQL em Scripts/.
Candidatas por uso da tabela
Estas procedures/views utilizam a tabela PARMOFICINA, mas não citam o campo ST_LISTAVANCADA diretamente:
| Procedure/View | Arquivo | Linha | Evidência |
|---|---|---|---|
PARCELA_FINANC_MNF017 | Scripts/PARCELA_FINANC_MNF017.sql | 59 | INNER JOIN PARMOFICINA O ON (O.CD_EMPRESA = S.CD_EMPRESA) |
PARCELA_FINANCIAMENTO | Scripts/PARCELA_FINANCIAMENTO.sql | 77 | INNER JOIN PARMOFICINA O ON (O.CD_EMPRESA = S.CD_EMPRESA) |
REABRE_OS | Scripts/REABRE_OS.sql | 90 | FROM PARMOFICINA P |
RETORNA_MOTIVOBLOQUEIO | Scripts/RETORNA_MOTIVOBLOQUEIO.sql | 19 | from PARMOFICINA p |
RETORNA_PRECOITEM | Scripts/RETORNA_PRECOITEM.sql | 68 | FROM PARMOFICINA O |
VERIFICA_BLOQUEIO | Scripts/VERIFICA_BLOQUEIO.sql | 160 | FROM PARMOFICINA |
VIEW_DOCUMENTOSBLOQUEADOS | Scripts/VIEW_DOCUMENTOSBLOQUEADOS.sql | 161 | LEFT JOIN PARMOFICINA PO ON (PO.CD_EMPRESA = E.CD_EMPRESA) |
VIEW_ROF004 | Scripts/VIEW_ROF004.sql | 47 | FROM PARMOFICINA p |
VIEW_ROF004B | Scripts/VIEW_ROF004B.sql | 130 | INNER JOIN PARMOFICINA PO ON (PO.CD_EMPRESA = OS.CD_EMPRESA) |
VIEW_ROF004B_V2 | Scripts/VIEW_ROF004B_V2.sql | 151 | INNER JOIN PARMOFICINA PO ON (PO.CD_EMPRESA = OS.CD_EMPRESA) |
VIEW_ROF008 | Scripts/VIEW_ROF008.sql | 41 | FROM PARMOFICINA P |