ST_PEDIDORESTRITOVENDEDOR - Consultar apenas Pedidos do mesmo Vendedor
Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Aba Geral Tabela:
PARMFATUR.ST_PEDIDORESTRITOVENDEDORValor padrão:N(Não)
Telas impactadas
| Tela | Contexto |
|---|---|
Consulta de Pedidos (todas as telas que filtram pedidos via VIEW_PEDIDOUSUARIO) | Restrição de visibilidade dos pedidos por vendedor |
Campos envolvidos
| Campo | Tabela | Papel |
|---|---|---|
ST_PEDIDORESTRITOVENDEDOR | PARMFATUR | Parâmetro de ativação da restrição |
CD_VENDEDOR | USUARIO → VENDEDOR (via U.CD_PESSOA = V.CD_VENDEDOR) | Vincula o usuário logado a um vendedor |
| Vendedor do pedido | PEDIDO (via RETORNA_VENDEDORPEDIDO) | Vendedor associado ao pedido ou aos itens do pedido |
Opções disponíveis
N - Não (padrão)
| O que faz | Detalhe |
|---|---|
| Libera visualização de todos os pedidos | Qualquer usuário vê pedidos de qualquer vendedor |
Simulação passo a passo
- Acesse a tela de consulta de pedidos.
- Visualize pedidos de todos os vendedores sem restrição.
Resultado esperado: Todos os pedidos da empresa ficam disponíveis para consulta, independentemente do vendedor associado ao usuário logado.
S - Sim
| O que faz | Detalhe |
|---|---|
| Restringe a visualização de pedidos ao vendedor do usuário logado | Usuários que não são vendedores continuam vendo tudo; somente usuários vinculados a um vendedor têm a restrição aplicada |
Simulação passo a passo
- O usuário "João" está cadastrado em
USUARIOcom vínculo ao vendedor "Carlos" (CD_VENDEDOR = 5). - Acesse a tela de consulta de pedidos.
- O sistema chama
VIEW_PEDIDOUSUARIOpara cada pedido. - A procedure verifica que o parâmetro
ST_PEDIDORESTRITOVENDEDOR = 'S'e que o usuário é vendedor. - Somente pedidos cujo vendedor (ou vendedor de algum item) seja "Carlos" (CD_VENDEDOR = 5) são retornados.
- Pedidos de outros vendedores não aparecem na listagem.
Resultado esperado: O usuário-vendedor visualiza apenas pedidos associados ao seu próprio cadastro de vendedor. Demais usuários (não-vendedores) continuam vendo todos os pedidos normalmente.
Exceção / Importante: A restrição só se aplica a usuários que possuem vínculo com a tabela
VENDEDOR(viaUSUARIO.CD_PESSOA = VENDEDOR.CD_VENDEDOR). Se o usuário não for vendedor, a procedure retorna o pedido sem nenhuma filtragem, mesmo com o parâmetro ativo.
Procedures impactadas
Rotinas Delphi
| Rotina | Arquivo | Evidência |
|---|---|---|
TdmMFA001.tabPARMFATURAfterInsert | source/MFA001/UdmMFA001.pas:598 | Atribui valor padrão 'N' ao campo na inserção de novo registro |
Scripts SQL — Referência direta ao campo
| Procedure/View | Arquivo | Evidência |
|---|---|---|
VIEW_PEDIDOUSUARIO | Scripts/VIEW_PEDIDOUSUARIO.sql:13,37,40,43 | Declara variável, lê o parâmetro de PARMFATUR e decide se aplica o filtro por vendedor |
Scripts SQL — Candidatas por uso da tabela
As procedures abaixo referenciam a tabela PARMFATUR, mas não citam o campo ST_PEDIDORESTRITOVENDEDOR diretamente. Sem impacto funcional direto identificado:
ATUALIZA_PESSOA, ATUALIZA_PRECOVENDA, BUSCAPRECORECAP, CALCULA_CENTRORESULT, CALCULA_CENTRORESULTITEM, CALCULA_COMISSAO, CALCULA_COMISSAO_V2, CALCULA_JUROVENDA, CALCULA_MAQUINA, CALCULA_MAQUINAFICHA, CANCELA_MESTRA, CANCELA_NOTAFISCAL, CONFIRMA_ORDEMSERVICO, CONFIRMA_ORDEMSERVICOMETAL, CONSOME_LOTEMATERIAPRIMA, CREDITOPERIODICO_AI0, CREDITOPERIODICOGRUPO_AI0, EXPORTACAO_ALLABOR, EXPORTACAO_DOMINIOCADASTROS, EXPORTACAO_DOMINIOCUPOM.