ST_OBRIGACADASTROCLIENTE - Obrigar Cadastro de Cliente no Pedido/Orçamento
Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 2 Tabela:
PARMFATUR.ST_OBRIGACADASTROCLIENTE(CHAR(1),NOT NULL) Valor padrão:N(Não)
Define se o usuário deve informar um cliente cadastrado (em vez do consumidor padrão) ao salvar orçamentos e/ou pedidos na tela MPD002 - Pedidos.
Telas impactadas
| Tela | Arquivo | Impacto |
|---|---|---|
| MPD002 - Pedidos | source/MPD002/UMPD002.pas | Bloqueia salvar/atualizar quando o cliente é o consumidor padrão e o parâmetro exige cadastro |
Campos envolvidos
| Campo | Tabela | Papel |
|---|---|---|
CD_PESSOA | PEDIDO | Código do cliente informado no pedido/orçamento |
CD_CONSUMIDOR | PARMFATUR | Código do consumidor padrão — usado como referência para decidir se o cliente foi devidamente cadastrado (CD_CONSUMIDOR configurado em MFA001 - Parâmetros de Faturamento) |
Opções disponíveis
N - Não
| O que faz | Detalhe |
|---|---|
| Não exige cadastro de cliente | Permite usar o consumidor padrão livremente em pedidos e orçamentos |
| Editável | Sem bloqueio ao salvar |
Simulação passo a passo
- Acesse MPD002 - Pedidos.
- Abra um novo orçamento ou pedido.
- Deixe o cliente como Consumidor Padrão (sem alterar).
- Adicione itens e clique em Salvar (ou
<F9>). - O documento é salvo normalmente.
Resultado esperado: Orçamento ou pedido salvo sem restrição, mesmo com o cliente consumidor padrão.
P - Pedido
| O que faz | Detalhe |
|---|---|
| Exige cadastro de cliente no Pedido | Bloqueia salvar pedido com consumidor padrão |
| Orçamento liberado | Orçamentos continuam aceitando consumidor padrão |
Simulação passo a passo
- Acesse MPD002 - Pedidos.
- Crie um novo Pedido com o cliente igual ao consumidor padrão.
- Adicione itens e clique em Salvar (ou
<F9>). - O sistema exibe a mensagem: "Cadastro do cliente obrigatório para Pedido. Verifique!".
- Troque o cliente por um cadastro específico (ex.: cliente "João da Silva").
- Clique em Salvar novamente.
Resultado esperado: Pedido só é salvo após informar um cliente diferente do consumidor padrão. Orçamentos não são afetados.
O - Orçamento
| O que faz | Detalhe |
|---|---|
| Exige cadastro de cliente no Orçamento | Bloqueia atualizar orçamento com consumidor padrão |
| Pedido liberado | Pedidos continuam aceitando consumidor padrão |
Simulação passo a passo
- Acesse MPD002 - Pedidos.
- Abra ou crie um Orçamento com o cliente igual ao consumidor padrão.
- Adicione itens e clique em Atualizar (ou
<F9>). - O sistema exibe a mensagem: "Cadastro do cliente obrigatório para Orçamento. Verifique!".
- Troque o cliente por um cadastro específico (ex.: cliente "Maria Oliveira").
- Clique em Atualizar novamente.
Resultado esperado: Orçamento só é salvo após informar um cliente diferente do consumidor padrão. Pedidos não são afetados.
A - Ambos
| O que faz | Detalhe |
|---|---|
| Exige cadastro de cliente em ambos | Bloqueia salvar pedidos e orçamentos com consumidor padrão |
| Restrição total | Nenhum documento aceita consumidor padrão |
Simulação passo a passo
- Acesse MPD002 - Pedidos.
- Crie um novo Pedido com o cliente igual ao consumidor padrão.
- Adicione itens e clique em Salvar.
- O sistema exibe: "Cadastro do cliente obrigatório para Pedido. Verifique!".
- Troque o cliente por um cadastro específico e salve — pedido é gravado.
- Agora crie um Orçamento com o cliente igual ao consumidor padrão.
- Clique em Atualizar.
- O sistema exibe: "Cadastro do cliente obrigatório para Orçamento. Verifique!".
- Troque o cliente e atualize — orçamento é gravado.
Resultado esperado: Nem pedidos nem orçamentos são salvos enquanto o cliente informado for o consumidor padrão.
Tabela Comparativa Resumida
| Valor | Nome | Orçamento | Pedido |
|---|---|---|---|
N | Não | ✅ Liberado | ✅ Liberado |
P | Pedido | ✅ Liberado | 🚫 Exige cadastro |
O | Orçamento | 🚫 Exige cadastro | ✅ Liberado |
A | Ambos | 🚫 Exige cadastro | 🚫 Exige cadastro |
Regra Geral
O parâmetro compara o campo CD_PESSOA do pedido com CD_CONSUMIDOR cadastrado em PARMFATUR. Se forem iguais e o tipo de documento estiver coberto pelo parâmetro, o salvamento é bloqueado com mensagem de aviso. Isso garante que o usuário cadastre o cliente real em vez de utilizar o consumidor genérico.
Exceção / Importante: O bloqueio ocorre apenas nas rotinas de salvar pedido (
btnSalvarClick) e atualizar orçamento (btnAtualizarClick) da tela MPD002. Outras telas ou processos não são afetados diretamente por este parâmetro.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Ação |
|---|---|---|---|
TfrmMPD002.btnAtualizarClick | source/MPD002/UMPD002.pas | 1195 | Verifica se ST_OBRIGACADASTROCLIENTE é O ou A; bloqueia orçamento com consumidor padrão |
TfrmMPD002.btnSalvarClick | source/MPD002/UMPD002.pas | 1988 | Verifica se ST_OBRIGACADASTROCLIENTE é P ou A; bloqueia pedido com consumidor padrão |
TdmMPD002.BuscaParametros_MPD002 | source/MPD002/UdmMPD002.pas | 5757 | Carrega o campo na lista de parâmetros parmfatur |
Referências SQL diretas ao campo
Nenhuma procedure/view SQL em Scripts/ referencia diretamente a coluna ST_OBRIGACADASTROCLIENTE.
Candidatas por uso da tabela
As procedures abaixo utilizam a tabela PARMFATUR mas não referenciam este campo diretamente:
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.