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 |
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.