top of page

Atualizações

Público·1 membro

Atualização - Novas Validações no Cadastro de Clientes

Atualização - Novas Validações no Cadastro de Clientes


Estamos criando novas validações no cadastro de clientes com o propósito de reduzir erros na transmissão de notas fiscais.



Criar campo A1_VALIDA no Cadastro de clientes DA101

Nome: A1_VALIDA

Descrição: Valida Cadastro

Tipo: Inteiro

Tamanho: 1

Pasta: Notas Fiscais

Em Uso: Sim

Obrigatório: Sim

Inicializador: 1

Opção: 1=Sim;0=Não

Ordem: 999


Help:

Valida Cadastro?

1=Sim

0=Não

Se preencher com 1=SIM, o sistema não permite a liberação de pedidos caso o cliente não esteja com todas as informações aptas à emissão de notas fiscais.



Alterar validação SP_VALIDA_MODELO1_DA101 através do cadastro de RELATÓRIOS

Trocar o conteúdo do campo COMANDO PRINCIPAL para:


SELECT RETORNO

FROM SP_VALIDA_DA101( :A1_CNPJ, :A1_IE, :A1_TIPO, :A1_PESSOA, :A1_INDIEDEST, :A1_VALIDA, :CODIGOID, :LOGINCODIGO, :EMPRESACODIGO);


Alterar a procedure SP_VALIDA_DA101 através do MANAGER, rodando o SCRIPT


--Script

CREATE OR ALTER PROCEDURE SP_VALIDA_DA101(

A1_CNPJ VARCHAR(18),

A1_IE VARCHAR(20),

A1_TIPO VARCHAR(1),

A1_PESSOA VARCHAR(1),

A1_INDIEDEST VARCHAR(1),

A1_VALIDA INTEGER,

CODIGOID INTEGER,

ID_USER VARCHAR(100),

ID_EMPRESA VARCHAR(100))

RETURNS(

RETORNO VARCHAR(555))

AS

DECLARE VARIABLE A1_CNPJ1 VARCHAR(18);

DECLARE VARIABLE BLOQ VARCHAR(50);

BEGIN

IF (COALESCE(:A1_VALIDA,1)=1) THEN

BEGIN

BLOQ = 'MESSAGEM;BROQUEAR';

END

ELSE BEGIN

BLOQ = 'MESSAGEM;LIBERAR';

END

-- VALIDA CNPJ DUPLICADO

SELECT FIRST(1)

DA101.A1_CNPJ

FROM DA101

WHERE replace(replace(REPLACE( DA101.A1_CNPJ,'.',''),'-',''),'/','') = replace(replace(REPLACE( :A1_CNPJ,'.',''),'-',''),'/','')

AND DA101.CODIGOID <> :CODIGOID

INTO :A1_CNPJ1;

IF(:A1_CNPJ1 IS NOT NULL) THEN

BEGIN

RETORNO = :BLOQ||'; CNPJ/CPF Já Cadastrado!';

SUSPEND;

END

-- VALIDA INSCRIÇÃO ESTADUAL

IF(COALESCE(:A1_TIPO,'')='4')THEN --Nunca PODE SER 4=Fornecedor

BEGIN

RETORNO = :BLOQ||'; A opção 4=Fornecedor é de uso exclusivo no cadastro de forcenedores.';

SUSPEND;

END

IF(:A1_INDIEDEST='1') THEN --1=Contribuinte ICMS (informar a IE do destinatário);

BEGIN

IF(COALESCE(:A1_IE,'ISENTO')='ISENTO')THEN --INCRIÇÃO ESTATUAL NÃO PODE SER ISENTO OU EM BRANCO

BEGIN

RETORNO = :BLOQ||'; Quando a Ind. Ie. Dest. estiver preenchido como Contribuinte de ICMS, a inscrição estadual não pode ser ISENTO ou EM BRANCO. Verifique a Inscrição estadual ou o campo Ind. Ie. Dest. na aba Notas Fiscais.';

SUSPEND;

END

IF(COALESCE(:A1_PESSOA,'')='F')THEN --PESSOA PRECISA SER JURÍDICA

BEGIN

RETORNO = :BLOQ||'; Quando a Ind. Ie. Dest. estiver preenchido como Contribuinte de ICMS, o campo PESSOA, precisa estar como J=JURÍDICA. Verifique o campo Pessoa ou o campo Ind. Ie. Dest. na aba Notas Fiscais.';

SUSPEND;

END

IF(COALESCE(:A1_TIPO,'')='5')THEN --NÃO PODE SER 5=CONSUMIDOR PF

BEGIN

RETORNO = :BLOQ||'; Quando a Ind. Ie. Dest. estiver preenchido como Contribuinte de ICMS, o campo PESSOA, precisa estar como J=JURÍDICA. Verifique o campo Pessoa ou o campo Ind. Ie. Dest. na aba Notas Fiscais.';

SUSPEND;

END

END

ELSE IF(:A1_INDIEDEST='2')THEN --2=Contribuinte isento de Inscrição no cadastro de Contribuintes do ICMS;

BEGIN

IF(COALESCE(:A1_IE,'ISENTO')<>'ISENTO')THEN --INCRIÇÃO ESTATUAL PRECISA SER ISENTO OU EM BRANCO

BEGIN

RETORNO = :BLOQ||'; Quando a Ind. Ie. Dest. estiver preenchido como Contribuinte isento de Inscrição, a inscrição estadual precisa ser preenchida com ISENTO.';

SUSPEND;

END

IF(COALESCE(:A1_PESSOA,'')='F')THEN --PESSOA PRECISA SER JURÍDICA

BEGIN

RETORNO = :BLOQ||'; Quando a Ind. Ie. Dest. estiver preenchido como Contribuinte Isento de Inscrição, o campo PESSOA, precisa estar como J=JURÍDICA. No caso de Pessoa Física, a opção correta é 9=Não Contribuinte.';

SUSPEND;

END

END

ELSE --9=Não Contribuinte, que pode ou não possuir Inscrição

BEGIN

IF(COALESCE(:A1_IE,'ISENTO')<>'ISENTO')THEN --INCRIÇÃO ESTATUAL PRECISA SER ISENTO OU EM BRANCO

BEGIN

RETORNO = :BLOQ||'; Quando a Ind. Ie. Dest. estiver preenchido como Não Contribuinte, a inscrição estadual precisa ser preenchida com ISENTO.';

SUSPEND;

END

END

SUSPEND;

END;




15 visualizações
  • Instagram
  • Facebook
  • LinkedIn
  • YouTube
bottom of page