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.