Identificador de Regra

CPR-435DTCRN01

Módulo: CPR - Compras.

Finalidade: alterar dados de devolução.

Funcionalidade: retornar a quantidade de tolerância que poderá ser devolvida pela empresa, se o usuário não preencher o campo CprNQtdDevolver. Se o usuário informar o valor, o sistema irá assumir como a quantidade total para devolução, desconsiderando as tolerâncias.

Características: como a rotina de verificação de tolerância é chamada não somente em um momento em ambas as telas, e se a depuração de regra estiver ativada, será normal o processo ser pausado para a depuração da regra. Interessante definir uma tolerância diferente do que foi cadastrado nos parâmetros por Gestão e verificar seu efeito no recebimento.

A tolerância implica sobre a quantidade definida na nota fiscal de entrada, na qual pode estar com seu valor tanto acima quanto abaixo dessa tolerância. Exemplo: nota de 1000 Kg, mais 10% de tolerância, então, a quantidade de pesagem deve ficar em torno de 900 e 1100.

Telas: F435CCC e F435MDT.

Transação: não há.

Regra:

definir numero CprNCodEmp;

definir numero CprNCodFil;

definir data CprDDatEnt;

definir numero CprNSeqEnt;

definir numero CprNCodFor;

definir alfa CprACodPro;

definir alfa CprACodDer;

definir numero CprNSeqOrm;

definir numero CprNQtdNfe;

definir numero CprNQtdPes;

definir numero CprNQtdTlr;

definir numero CprNListaForCtr;

definir numero CprNQtdDevolver;

Definir Alfa CprA_S_N;

 

ListaRegraPrimeiro(CprNListaForCtr, CprA_S_N); /*Posiciona no primeiro registro da lista*/

 

se (CprA_S_N = "S")

inicio

CprA_S_N = "N";

enquanto (CprA_S_N <> "S") /*Enquanto não estiver no final da lista entra no laço.*/

inicio

ListaRegraObterValorNumero(CprNListaForCtr, "CodEmp", obtValorNumero_CodEmp, CprA_S_N);

ListaRegraObterValorNumero(CprNListaForCtr, "FilCtr", obtValorNumero_FilCtr, CprA_S_N);

ListaRegraObterValorNumero(CprNListaForCtr, "NumCtr", obtValorNumero_NumCtrh, CprA_S_N);

ListaRegraObterValorNumero(CprNListaForCtr, "ForCtr", obtValorNumero_ForCtri, CprA_S_N);

ListaRegraObterValorNumero(CprNListaForCtr, "SeqCcp", obtValorNumero_SeqCcp, CprA_S_N);

ListaRegraProximo(CprNListaForCtr, CprA_S_N); /*Posiciona no próximo registro;*/

ListaRegraFim(CprNListaForCtr, CprA_S_N); /*Atualiza variável final de lista*/

fim

fim

ListaRegraSalvarLista(CprNListaForCtr, "C:\\Senior", "listaCSVForCtr", "C");

CprNQtdTlr = 100;

CprNQtdDevolver = 200;

 

x=y;

Variáveis disponibilizadas:

Nome Tipo Observações Retorna Valor
CprNCodEmp NÚMERO Código da empresa N
CprNCodFil NÚMERO Código da filial N
CprDDatEnt DATA Data de entrada N
CprNSeqEnt NÚMERO Sequência de entrada N
CprNCodFor NÚMERO Código do fornecedor/cliente N
CprACodPro ALFA Código de produto N
CprACodDer ALFA Código de derivação N
CprNSeqOrm NÚMERO Origem de mercadoria N
CprNQtdNfe NÚMERO Quantidade da nota fiscal de entrada N
CprNQtdPes NÚMERO Quantidade de pesagem N
CprNListaForCtr NÚMERO Lista de fornecedores do contrato N
CprNQtdTlr NÚMERO Quantidade de tolerância S
CprNQtdDevolver NÚMERO Quantidade a devolver S
CprACodDep ALFA Código do departamento S

Variáveis disponibilizadas dentro da lista CPRNLISTAFORCTR:

Nome Tipo Observações Retorna Valor
CodEmp NÚMERO Código da empresa N
FilCtr NÚMERO Filial do contrato N
NumCtr NÚMERO Número do contrato N
ForCtr NÚMERO Fornecedor do contrato N
SeqCcp NÚMERO Sequência de item do contrato N

Este artigo ajudou você?