ST_OBRIGACADPROD - Obrigatoriedades no Cadastro de Produto
Tela de configuração: ADM010 — Parâmetros do Sistema Localização: aba Configurações → campo Configurações Tabela:
PARMSISTEMA.ST_OBRIGACADPROD(CHAR(1), NOT NULL) Valor padrão:N(Nenhum)
Telas impactadas
| Tela | Rotina | Efeito |
|---|---|---|
| TPO001 — Cadastro de Produtos | iniciar / tabITEMBeforePost | Valida obrigatoriedade de Perfil, Local de Armazenagem e/ou Código de Barras ao salvar o produto |
| TOF007 — Orçamento/ Pedido | actionIncluirExecute / tabITEMBeforePost | Destaca visualmente (negrito) o label de Código de Barras ao incluir item; exige código de barras preenchido ao gravar |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_PERFIL | PERFIL | Perfil do produto |
CD_TIPOLOCAL / CD_LOCAL | ITEMLOCAL | Tipo e código do local de armazenagem do produto |
CD_CODIGOBARRA | ITEM | Código de barras do produto |
Opções disponíveis
N - Nenhum
| O que faz | Detalhe |
|---|---|
| Sem obrigatoriedade extra | Cadastro de produto segue regras padrão do sistema; Perfil, Local de Armazenagem e Código de Barras continuam opcionais |
Simulação passo a passo
- Acesse TPO001 — Cadastro de Produtos.
- Inclua um novo produto preenchendo apenas os campos mínimos (descrição, unidade, etc.).
- Salve o produto sem informar Perfil, Local de Armazenagem ou Código de Barras.
- O produto é gravado normalmente.
Resultado esperado: Nenhum campo adicional é exigido no cadastro do produto.
P - Cadastro de Perfil
| O que faz | Detalhe |
|---|---|
| Exige Perfil preenchido | Ao salvar um novo produto, o sistema verifica se existe pelo menos um perfil vinculado; se não houver, exibe erro e direciona para a aba Perfil |
Simulação passo a passo
- Acesse TPO001 — Cadastro de Produtos.
- Inclua um novo produto e preencha os campos básicos.
- Tente salvar sem cadastrar um perfil na aba Perfil.
- O sistema exibe a mensagem "É Obrigatório informar um Perfil para o Produto!" e posiciona o foco na grade de perfis.
Resultado esperado: O produto só é salvo após vincular ao menos um perfil.
L - Local de Armazenagem
| O que faz | Detalhe |
|---|---|
| Exige Local de Armazenagem preenchido | Ao salvar um novo produto, o sistema verifica se existe pelo menos um local de armazenagem (Tipo + Local) vinculado; se não houver, exibe erro e direciona para a aba de locais |
Simulação passo a passo
- Acesse TPO001 — Cadastro de Produtos.
- Inclua um novo produto e preencha os campos básicos.
- Tente salvar sem cadastrar um local de armazenagem na aba Local de Armazenagem.
- O sistema exibe a mensagem "É Obrigatório informar um Local para Armazenagem para o Produto!" e posiciona o foco no campo de tipo de local.
Resultado esperado: O produto só é salvo após vincular ao menos um local de armazenagem.
A - Perfil e Local de Armazenagem
| O que faz | Detalhe |
|---|---|
| Exige ambos: Perfil e Local de Armazenagem | Combina as validações das opções P e L; ao salvar, verifica primeiro o perfil e depois o local de armazenagem |
Simulação passo a passo
- Acesse TPO001 — Cadastro de Produtos.
- Inclua um novo produto e preencha os campos básicos.
- Tente salvar sem perfil → o sistema bloqueia com "É Obrigatório informar um Perfil para o Produto!".
- Cadastre um perfil e tente salvar novamente sem local de armazenagem → o sistema bloqueia com "É Obrigatório informar um Local para Armazenagem para o Produto!".
- Cadastre também um local de armazenagem e salve.
Resultado esperado: O produto só é salvo quando ambos (Perfil e Local de Armazenagem) estiverem preenchidos.
C - Código de Barras
| O que faz | Detalhe |
|---|---|
| Exige Código de Barras preenchido | Ao salvar o produto (TPO001 ou TOF007), verifica se o campo Código de Barras está preenchido; o label do campo é exibido em negrito na tela |
Simulação passo a passo
- Acesse TPO001 — Cadastro de Produtos.
- Observe que o label Código de Barras aparece em negrito.
- Inclua um novo produto e preencha os campos básicos.
- Tente salvar sem informar o Código de Barras.
- O sistema exibe "É obrigatório informar um código de barras para o Produto!".
Resultado esperado: O produto só é salvo após informar o Código de Barras.
Exceção / Importante: No TPO001, se
stCodBarras = false(produto não possui código de barras registrado), a validação é ignorada mesmo com a opçãoCativa.
B - Local Armazenagem e Código de Barra
| O que faz | Detalhe |
|---|---|
| Exige Local de Armazenagem e Código de Barras | Combina as validações de L e C; o label de Código de Barras aparece em negrito e ambas as validações são aplicadas ao salvar |
Simulação passo a passo
- Acesse TPO001 — Cadastro de Produtos.
- Observe que o label Código de Barras aparece em negrito.
- Inclua um novo produto e preencha os campos básicos.
- Tente salvar sem Código de Barras → bloqueio com mensagem de obrigatoriedade.
- Informe o Código de Barras e tente salvar sem local de armazenagem → bloqueio com "É Obrigatório informar um Local para Armazenagem para o Produto!".
- Cadastre o local de armazenagem e salve.
Resultado esperado: O produto só é salvo quando Local de Armazenagem e Código de Barras estiverem preenchidos.
Exceção / Importante: No TPO001, a validação de código de barras é bypassada se
stCodBarras = false.
Tabela Comparativa Resumida
| Valor | Descrição | Perfil | Local Armazenagem | Código de Barras | Label em negrito |
|---|---|---|---|---|---|
N | Nenhum | — | — | — | — |
P | Cadastro de Perfil | ✅ | — | — | — |
L | Local de Armazenagem | — | ✅ | — | — |
A | Perfil e Local de Armazenagem | ✅ | ✅ | — | — |
C | Código de Barras | — | — | ✅ | ✅ (Código de Barras) |
B | Local Armazenagem e Código de Barra | — | ✅ | ✅ | ✅ (Código de Barras) |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Efeito |
|---|---|---|
TdmADM010.tabPARMSISTEMAAfterInsert | UdmADM010.pas:207 | Atribui valor padrão 'N' ao incluir novo registro em PARMSISTEMA |
TfrmTOF007.actionIncluirExecute | UTOF007.pas:457 | Se C, aplica negrito ao label de Código de Barras ao abrir tela de inclusão de item |
TdmTOF007.tabITEMBeforePost | UdmTOF007.pas:1068 | Se C, exige Código de Barras preenchido ao gravar item do orçamento/pedido |
TfrmTPO001.iniciar | UTPO001.pas:943 | Carrega o valor do parâmetro na variável ist_cadProduto; se C ou B, aplica negrito ao label de Código de Barras |
TdmTPO001.tabITEMBeforePost | UdmTPO001.pas:1108 | Se C ou B, exige Código de Barras preenchido ao gravar produto |
TfrmTPO001 (pós-post) | UTPO001.pas:1537-1591 | Valida Perfil (P, A) e/ou Local de Armazenagem (L, A, B) ao concluir cadastro de novo produto |
Referências SQL diretas ao campo
Nenhuma stored procedure ou view em Scripts/ referencia diretamente o campo ST_OBRIGACADPROD. As procedures listadas na seção de candidatas acessam a tabela PARMSISTEMA para outros fins (ex.: TP_PLANOCONTABIL, dados contábeis, SPED).