Identificador de Regra

CPR-426CEQPG01

Módulo: CPR - Compras.

Finalidade: Popular o cabeçalho "Dados Ordens de Compra" e as grids "Fornecedores" e "Transportadoras".

Características: Caso a coleta já tenha sido processada, a regra em questão não será executada.

Caso dados incorretos ou inválidos sejam informados, o usuário será advertido do problema.

Caso a "Quantidade recebida" da Transportadora seja informada 0(zero), será sugerido automaticamente a quantidade real da coleta.

Caso o "Preço" da transportadora ou do fornecedor seja informado 0(zero) e exista tabela de preço nas definições do fornecedor será carregado o preço da tabela de preço.

As variáveis com informação do cabeçalho são "CprNCodEmpresa - Código da empresa ativa", "CprNCodFilial - Código da filial ativa", "CprNNumColeta - Número da coleta", "CprNSitColeta - Situação da coleta", "CprDDatPesagem - Data da pesagem", "CprACodRota - Código da rota", "CprNCodTrasportadora - Código da transportadora", "CprACodProduto - Código do produto", "CprACodDerivacao - Código da derivação", "CprACodDeposito - Código do deposito", "CprACodLote - Código do lote", "CprNQtdReal - Quantidade real da coleta".

As variáveis para popular o cabeçalho "Dados Ordens de Compra" são: "CprDDatEmi - Data de emissão", "CprATnsFor - Transação", "CprNGerOcp - Gerar O.C. fechadas", "CprATnsRoe - Transação da rota" e "CprNSugFor - Não sugerir fornecedores".

As variáveis "CprNNumTra" e "CprNNumFor" foram disponibilizadas para serem preenchidas com a quantidade de linhas da grade de "Transportadoras" e "Fornecedores" (respectivamente) que serão populadas.

A variável "CprNOpcao" foi disponibilizada para definir qual das grids está sendo populada, com a informação 1 para a grade "Transportadoras" e 2 para a grade "Fornecedores".

A variável "CprNLinha" foi disponibilizada para definir a linha que está sendo populada.

A variável "CprNSelOvc" foi disponibilizada para definir o campo "Sel." da grade "Fornecedores" como marcado quando a informação for 1.

A variável "CprNIncluirForRot" foi disponibilizada para incluir o fornecedor na rota da coleta, caso ele não pertença a ela, assim o sistema não fará o questionamento se o usuário quer incluir o fornecedor na rota da coleta.

Exemplo do funcionamento da regra:
A primeira vez que a regra for executada serão enviadas as informações do cabeçalho da tela nas variáveis
CprATnsFor - Transação do fornecedor,
CprDDatEmi - Data de emissão,
CprNGerOcp - Gerar O.C. da rota,
CprATnsRoe - Transação da rota e
CprNSugFor - Não sugerir fornecedores, juntamente com
CprNNumTra - Quantidade de linhas da grade de transportadora e
CprNNumFor - Quantidade de linhas da grade de fornecedores, que devem ser preenchidas com a quantidade de linhas da respectiva grid, dessa forma o sistema define quantas vezes a regra deve ser executada para que as grids sejam populadas corretamente.
Nas demais vezes serão enviadas as variáveis
CprNOpcao - (1 - Transportadoras, 2 - Fornecedores),
CprNLinha - Linha da grid e as colunas da respectiva grade.

Tela: F426CEQ

Transação: Não se aplica.

Regra:

IMPORTANTE: Não foi possível disponibilizar a regra por completo, pois o campo "Regras" possui uma limitação de 4 mil caracteres. Foram disponibilizadas as declarações das variáveis e as conversões para alfa.

/* Variáveis: */

Definir Alfa VCprNCodEmpresa;
Definir Alfa VCprNCodFilial;
Definir Alfa VCprNNumColeta;
Definir Alfa VCprNSitColeta;
Definir Alfa VCprDDatPesagem;
Definir Alfa VCprNCodTrasportadora;
Definir Alfa VCprNQtdReal;
Definir Alfa VCprDDatEmi;
Definir Alfa VCprNGerOcp;
Definir Alfa VCprNSugFor;
Definir Alfa VCprNNumTra;
Definir Alfa VCprNNumFor;
Definir Alfa VCprNOpcao;
Definir Alfa VCprNLinha;
Definir Alfa VCprNCodTra;
Definir Alfa VCprNQtdRec;
Definir Alfa VCprNPreUni;
Definir Alfa VCprNQtdPrd;
Definir Alfa VCprNQtdPrd2;
Definir Alfa VCprNQtdPrd3;
Definir Alfa VCprNQtdPrd4;
Definir Alfa VCprNQtdPrd5;
Definir Alfa VCprNSelOvc;
Definir Alfa VCprNCodFor;
Definir Alfa VCprNQtdInf;
Definir Alfa VCprNQtPrdF;
Definir Alfa VCprNQtPrF2;
Definir Alfa VCprNQtPrF3;
Definir Alfa VCprNQtPrF4;
Definir Alfa VCprNQtPrF5;
Definir Alfa VCprNPrUniF;
Definir Alfa VCprNSeqOrm;
Definir Alfa VCprNIncluirForRot;

Definir Alfa CprACodRota;
Definir Alfa CprACodProduto;
Definir Alfa CprACodDerivacao;
Definir Alfa CprACodDeposito;
Definir Alfa CprACodLote;
Definir Alfa CprATnsFor;
Definir Alfa CprATnsRoe;
Definir Alfa CprACodTns;
Definir Alfa CprACodSer;


/* Conversões para alfa: */

IntParaAlfa(CprNCodEmpresa, VCprNCodEmpresa);
IntParaAlfa(CprNCodFilial, VCprNCodFilial);
IntParaAlfa(CprNNumColeta, VCprNNumColeta);
IntParaAlfa(CprNSitColeta, VCprNSitColeta);
ConverteMascara(3,CprDDatPesagem, VCprDDatPesagem, "DD/MM/YYYY");
IntParaAlfa(CprNCodTrasportadora, VCprNCodTrasportadora);
DecimalParaAlfa(CprNQtdReal, VCprNQtdReal);
ConverteMascara(3,CprDDatEmi, VCprDDatEmi, "DD/MM/YYYY");
IntParaAlfa(CprNGerOcp, VCprNGerOcp);
IntParaAlfa(CprNSugFor, VCprNSugFor);
IntParaAlfa(CprNNumTra, VCprNNumTra);
IntParaAlfa(CprNNumFor, VCprNNumFor);
IntParaAlfa(CprNOpcao, VCprNOpcao);
IntParaAlfa(CprNLinha, VCprNLinha);
IntParaAlfa(CprNCodTra, VCprNCodTra);
DecimalParaAlfa(CprNQtdRec, VCprNQtdRec);
DecimalParaAlfa(CprNPreUni, VCprNPreUni);
DecimalParaAlfa(CprNQtdPrd, VCprNQtdPrd);
DecimalParaAlfa(CprNQtdPrd2, VCprNQtdPrd2);
DecimalParaAlfa(CprNQtdPrd3, VCprNQtdPrd3);
DecimalParaAlfa(CprNQtdPrd4, VCprNQtdPrd4);
DecimalParaAlfa(CprNQtdPrd5, VCprNQtdPrd5);
IntParaAlfa(CprNSelOvc, VCprNSelOvc);
IntParaAlfa(CprNCodFor, VCprNCodFor);
DecimalParaAlfa(CprNQtdInf, VCprNQtdInf);
DecimalParaAlfa(CprNQtPrdF, VCprNQtPrdF);
DecimalParaAlfa(CprNQtPrF2, VCprNQtPrF2);
DecimalParaAlfa(CprNQtPrF3, VCprNQtPrF3);
DecimalParaAlfa(CprNQtPrF4, VCprNQtPrF4);
DecimalParaAlfa(CprNQtPrF5, VCprNQtPrF5);
DecimalParaAlfa(CprNPrUniF, VCprNPrUniF);
IntParaAlfa(CprNSeqOrm, VCprNSeqOrm);
IntParaAlfa(CprNIncluirForRot, VCprNIncluirForRot);

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
CprNCodEmpresa NÚMERO Código da empresa ativa N
CprNCodFilial NÚMERO Código da filial ativa N
CprNNumColeta NÚMERO Número da coleta N
CprNSitColeta NÚMERO Situação da coleta N
CprDDatPesagem DATA Data da pesagem N
CprACodRota ALFA Código da rota N
CprNCodTrasportadora NÚMERO Código da transportadora N
CprACodProduto ALFA Código do produto N
CprACodDerivacao ALFA Código da derivação N
CprACodDeposito ALFA Código do deposito N
CprACodLote ALFA Código do lote N
CprNQtdReal NÚMERO Quantidade real da coleta N
CprNOpcao NÚMERO Define a grade (1 - Transportadoras 2 - Fornecedores) N
CprNLinha NÚMERO Linha da grade a ser popular N
CprDDatEmi DATA Data de emissão S
CprATnsFor ALFA Transação do fornecedor S
CprNGerOcp NÚMERO Gerar O.C. da rota S
CprATnsRoe NÚMERO Transação da rota S
CprNSugFor NÚMERO Não sugerir fornecedores S
CprNNumTra NÚMERO Quantidade de linhas da grade de transportadora S
CprNNumFor NÚMERO Quantidade de linhas da grade de fornecedores S
CprNCodTra NÚMERO Código da transportadora (Grid "Transportadoras") S
CprACodTns ALFA Código da transação (Grid "Transportadoras") S
CprACodSer ALFA Código do serviço (Grid "Transportadoras") S
CprNQtdRec NÚMERO Quantidade (Grid "Transportadoras") S
CprNPreUni NÚMERO Preço (Grid "Transportadoras") S
CprNQtdPrd NÚMERO Quantidade de perda 1 do produto recebido para o transportador (Grid "Transportadoras") S
CprNQtdPrd2 NÚMERO Quantidade de perda 2 do produto recebido para o transportador (Grid "Transportadoras") S
CprNQtdPrd3 NÚMERO Quantidade de perda 3 do produto recebido para o transportador (Grid "Transportadoras") S
CprNQtdPrd4 NÚMERO Quantidade de perda 4 do produto recebido para o transportador (Grid "Transportadoras") S
CprNQtdPrd5 NÚMERO Quantidade de perda 5 do produto recebido para o transportador (Grid "Transportadoras") S
CprNSelOvc NÚMERO Seleção (Grid "Fornecedores") S
CprNCodFor NÚMERO Código do fornecedor (Grid "Fornecedores") S
CprNQtdInf NÚMERO Quantidade recebida (Grid "Fornecedores") S
CprNQtPrdF NÚMERO Quantidade de Perda 1 do produto recebido (Grid "Fornecedores") S
CprNQtPrF2 NÚMERO Quantidade de Perda 2 do produto recebido (Grid "Fornecedores") S
CprNQtPrF3 NÚMERO Quantidade de Perda 3 do produto recebido (Grid "Fornecedores") S
CprNQtPrF4 NÚMERO Quantidade de Perda 4 do produto recebido (Grid "Fornecedores") S
CprNQtPrF5 NÚMERO Quantidade de Perda 5 do produto recebido (Grid "Fornecedores") S
CprNPrUniF NÚMERO Preço (Grid "Fornecedores") S
CprNSeqOrm NÚMERO Sequência origem da mercadoria (Grid "Fornecedores") S
CprNIncluirForRot NÚMERO Permitir incluir fornecedor na rota da coleta (Grid "Fornecedores") S

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ê?