Pular para o conteúdo principal

TPO001.R001 — Grupo, Marca, NCM, Unidade e Condição Fiscal devem estar cadastrados e ativos

Módulo: TPO001 · Menu: Cadastros > Tabelas de Produtos > Produtos Classificação: intencional · Relevância: sistemica

Regra​

Ao informar Grupo, Marca, NCM, Seção, Unidade de Medida, Condição Fiscal, Tipo de Cálculo, Balança, Impressora, Garantia ou Cultura no cadastro do item, o sistema valida a existência do código nas tabelas correspondentes e, quando aplicável, se o registro está ativo (Seção deve estar ativa).

Quando dispara​

Ao sair do campo (evento OnValidate) do respectivo código

Mensagem exibida​

O Grupo/A Marca/O NCM/A Seção/A Unidade de Estoque/A Condição Fiscal/O Tipo de Cálculo/A Balança/A Impressora/A Garantia/A Cultura não está Cadastrado(a)/Ativo(a) [código do módulo]!

Como o usuário resolve​

Cadastre o código faltante na tela indicada entre colchetes na mensagem (ex.: TPO006-Grupo, TPO002-Marca, TPO005-NCM, TPO008-Seção) ou reative o registro se estiver inativo, e informe novamente o campo.

Evidência​

ArquivoLinhasRotinaO que o trecho faz
source/TPO001/UdmTPO001.pas838-863TdmTPO001.tabITEMCD_GRUPOValidate
source/TPO001/UdmTPO001.pas865-878TdmTPO001.tabITEMCD_MARCAValidate
source/TPO001/UdmTPO001.pas935-955TdmTPO001.tabITEMNR_NCMValidate
source/TPO001/UdmTPO001.pas1581-1602TdmTPO001.tabITEMCD_SECAOValidate

source/TPO001/UdmTPO001.pas:838

procedure TdmTPO001.tabITEMCD_GRUPOValidate(Sender: TField);
var
Consulta: string;
Resultado: TResultado;
begin
if (Trim(tabITEMCD_GRUPO.AsString) <> '') then
begin
Consulta := 'Select DS_GRUPO, QT_ESTOQUEMIN, QT_ESTOQUEMAX From GRUPO ' +
'Where CD_GRUPO = ' + tabITEMCD_GRUPO.AsString;
Resultado := ExecutaConsulta(dmTPO001.transaction, Consulta);
if (Resultado[0] <> '') then
begin

source/TPO001/UdmTPO001.pas:865

procedure TdmTPO001.tabITEMCD_MARCAValidate(Sender: TField);
var
Consulta: string;
Resultado: TResultado;
begin
if (Trim(tabITEMCD_MARCA.AsString) <> '') then
begin
Consulta := 'Select DS_MARCA From MARCA ' +
'Where CD_MARCA = ' + tabITEMCD_MARCA.AsString;
Resultado := ExecutaConsulta(dmTPO001.transaction, Consulta);
if (Resultado[0] <> '') then
tabITEMDS_MARCA.AsString := Resultado[0]