Identificador de Regra

CPR-435LEIBA01

Módulo: CPR - Compras.

Finalidade: Tem como finalidade a interpretação do código de barras lido no campo "Cod. Barras" da tela F435CCC.

Características: Necessita de regra para ter efeito

Tela: F435CCC.

Transação: Não se aplica.

Regra: 

Definir Alfa VSACodBar;

Definir Numero VSNCodFor;

Definir Numero VSNSeqOrm;

Definir Alfa VSACodDep;

Definir Alfa VSACodPro;

Definir Alfa VSACodDer;

Definir Numero VSNSnfPro;

Definir Numero VSNNfcPro;

Definir Alfa nIniBar;

Definir Alfa nFimBar;

Definir Alfa aInsEst;

Definir Alfa aSnfPro;

Definir Alfa aNfcPro;

Definir Alfa aCnpjPro;

Definir Alfa aChave;

Definir Alfa aTipoPro;

Definir Numero nCodFor;

Definir Numero nCodSeq;

Definir Numero nTamStr;

nIniBar = VSACodBar;

nFimBar = VSACodBar;

aSnfPro = VSACodBar;

aNfcPro = VSACodBar;

aCnpjPro = VSACodBar;

aChave = VSACodBar;

LimpaEspacos(aChave);

TamanhoStr(aChave,nTamStr);

CopiarAlfa(nIniBar, 2, 3);

CopiarAlfa(nFimBar, 5, 7);

CopiarAlfa(aCnpjPro, 7, 14);

aInsEst =nIniBar+nFimBar;

Definir Cursor Cur_A095PRE;

Cur_A095PRE.Sql "Select e095orm.CodFor, e095orm.SeqOrm, e095orm.TipOrm \

From e095orm \

Where ((e095orm.InsOrm = :aInsEst) or (e095orm.CgcOrm = :aCnpjPro)) and e095orm.SitOrm = 'A'";

Cur_A095PRE.AbrirCursor()

Se(Cur_A095PRE.Achou){

Definir Numero nCodEmp;

Definir Numero nCodFil;

Definir Numero nCodFor;

Definir Alfa aCodPro;

Definir Alfa aCodDep;

 

Se(nTamStr = 44){

CopiarAlfa(aSnfPro, 23, 3);

AlfaParaInt(aSnfPro, nSnfPro);

CopiarAlfa(aNfcPro, 26, 9);

AlfaParaInt(aNfcPro, nNfcPro);

}

Senao {

CopiarAlfa(aSnfPro, 12, 3);

AlfaParaInt(aSnfPro, nSnfPro);

CopiarAlfa(aNfcPro, 15, 6);

AlfaParaInt(aNfcPro, nNfcPro);

};

nCodEmp = CodEmp;

nCodFil = CodFil;

nCodFor = Cur_A095PRE.CodFor;

nCodSeq = Cur_A095PRE.SeqOrm;

aCodPro = "G1S10001";

aCodDep = "1";

VSNCodFor = nCodFor;

VSNSeqOrm = nCodSeq;

VSACodDep = aCodDep;

VSACodPro = aCodPro;

VSACodDer = " ";

VSNSnfPro = nSnfPro;

VSNNfcPro = nNfcPro;

 

Cur_A095PRE.FecharCursor();

};

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
CprACodSaf ALFA Safra S
CprACodTrg ALFA Transgenia S
VSACodBar ALFA Valor do código de barras N
VSNCodFor NÚMERO Código do fornecedor S
VSNSeqOrm NÚMERO Origem da Mercadoria S
VSACodDep ALFA Código do Depósito S
VSACodPro ALFA Código do Produto S
VSACodDer ALFA Código da Derivação do Produto S
VSNNfcPro NÚMERO Número da Nota Fiscal do Produtor Rural S
VSNSnfPro NÚMERO Série da Nota Fiscal do Produtor Rural S
Importante

As seguintes variáveis são obrigatórias e precisam ter um valor preenchido:

  • VSNCodFor
  • VSACodDep
  • VSACodPro
  • VSACodDer
  • VSNNfcPro e VSNSnfPro: caso o fornecedor seja pessoa física
  • CprACodTrg: caso haja cobrança de royalty.

Atenção

Caso o parâmetro global LisVarReg esteja habilitado, a variável ListaVariaveis estará disponível em todos os identificadores de regras do sistema. O conteúdo desta variável lista os campos disponibilizados no identificador de regras em questão.

Não é aconselhada a ativação desse parâmetro global para o uso cotidiano. Esse recurso de listagem dos campos de identificadores auxilia a construção de regras e o Suporte para, por exemplo, depuração ou quando não houver acesso à documentação dos identificadores de regras.

Este artigo ajudou você?