Pular para o conteúdo principal

TFA001.R001 — CNPJ/CPF duplicado em pessoa ativa

Módulo: TFA001 · Menu: Cadastros > Tabelas de Faturamento > Pessoas Físicas / Jurídicas Classificação: intencional · Relevância: alta

Regra​

Ao salvar uma pessoa com ST_ATIVA='S' cujo CNPJ/CPF já pertence a outra pessoa também ativa, o sistema impede a gravação, oferecendo inativar automaticamente a pessoa antiga (exceto para os números zerados padrão).

Quando dispara​

No Post da aba Pessoa, quando existe outra PESSOA ativa com o mesmo NR_CNPJCPF.

Mensagem exibida​

CPF/CNPJ já está cadastrado para a Pessoa ... Deseja inativar a pessoa ... ? / CNPJ/CPF já Cadastrado para a Pessoa ...! Verifique!

Como o usuário resolve​

Confirmar a inativação da pessoa antiga (o sistema seta ST_ATIVA='N' nela) ou corrigir o CNPJ/CPF digitado por engano.

Evidência​

ArquivoLinhasRotinaO que o trecho faz
source/TFA001/UdmTFA001.pas1324-1371TdmTFA001.tabPESSOABeforePostVerifica CNPJ/CPF duplicado em pessoa ativa e oferece inativar a antiga

source/TFA001/UdmTFA001.pas:1324

if (frmTFA001.cmbST_ATIVA.Value = 'S') and (dmTFA001.tabPESSOANR_CNPJCPF.AsString <> '') then
begin
Consulta :=
'SELECT NR_CNPJCPF, CD_PESSOA||'' - ''||NM_PESSOA||COALESCE('' - ''||NM_FANTASIA, '''') PESSOA, CD_PESSOA '+
'FROM PESSOA ' +
'WHERE NR_CNPJCPF = ' + QuotedStr(dmTFA001.tabPESSOANR_CNPJCPF.AsString) + ' ' +
'AND ST_ATIVA = ''S'' ' +
'AND CD_PESSOA <> COALESCE(' + Nulo(dmTFA001.tabPESSOACD_PESSOA.AsString, 'I')+',0)';

dtSet := ExecutaQuery(dmTFA001.transaction,Consulta);
dtSet.First;
while not(dtSet.Eof) do