Identificador de Regra
CPR_435CCCON01
Módulo: CPR - Compras.
Finalidade: Disparado na pesagem de entrada, de saída, ou no processamento da manutenção de um ticket pela tela F435CCC..
Tela: F435CCC.
Transação: Não se aplica.
Definir Numero CprNOpUsua;
Definir Numero CprNCodEmp;
Definir Numero CprNCodFil;
Definir Data CprNDatEnt;
Definir Numero CprNSeqEnt;
Definir Numero CprNCodFor;
Definir Numero CprNPesEnt;
Definir Numero CprNPesSai;
Definir Numero CprNQtdOri;
Definir Numero CprNQtdDsc;
Definir Numero CprNQtdFim;
Definir Numero CprNQtdNfc;
Definir Numero CprNQtdDec;
Definir Alfa CprAProPes;
Definir Alfa CprADerPes;
Definir Alfa CprACodDep;
Definir Alfa CprACodTrg;
Definir Numero CprNListaClassificacao;
Definir Alfa CprA_S_N;
Definir numero CprNListaClassificacao_NCodIcl;
Definir numero CprNListaClassificacao_NSeqIcl;
Definir numero CprNListaClassificacao_NCatPri;
Definir numero CprNListaClassificacao_NCodMph;
Definir numero CprNListaClassificacao_NVphIni;
Definir numero CprNListaClassificacao_NUmiIni;
Definir numero CprNListaClassificacao_NUmiFin;
Definir numero CprNListaClassificacao_NVlrMel;
Definir numero CprNListaClassificacao_NVphFin;
Definir numero CprNListaClassificacao_NPesAmo;
Definir numero CprNListaClassificacao_NResAmo;
Definir numero CprNListaClassificacao_NPerApu;
Definir numero CprNListaClassificacao_NPerDsc;
Definir numero CprNListaClassificacao_NQtdBas;
Definir numero CprNListaClassificacao_NQtdDsc;
Definir Alfa CprNListaClassificacao_AProGer;
Definir Alfa CprNListaClassificacao_ADerGer;
Definir Alfa CprNListaClassificacao_ATnsGer;
Definir Alfa CprNListaClassificacao_AIndObg;
Definir Alfa CprNListaClassificacao_AAltIde;
Definir Alfa CprNListaClassificacao_AUsaAmo;
Definir numero xPercentualTotalDescontos;
xPercentualTotalDescontos = ((CprNQtdDec / CprNQtdOri) * 100);
se (xPercentualTotalDescontos > 20){
geralog("O percentual de desconto ultrapassou 30% da pesagem, algo possívelmente esteja errado.");
}
se (xPercentualTotalDescontos > 10){
mensagem(retorna, "O percentual de descontos ultrapassou 10%, verifique se está tudo correto antes de prosseguir.");
}
ListaRegraPrimeiro(CprNListaClassificacao, 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(CprNListaClassificacao, "NCodIcl", CprNListaClassificacao_NCodIcl, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NSeqIcl", CprNListaClassificacao_NSeqIcl, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NCatPri", CprNListaClassificacao_NCatPri, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NCodMph", CprNListaClassificacao_NCodMph, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NVphIni", CprNListaClassificacao_NVphIni, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NUmiIni", CprNListaClassificacao_NUmiIni, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NUmiFin", CprNListaClassificacao_NUmiFin, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NVlrMel", CprNListaClassificacao_NVlrMel, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NVphFin", CprNListaClassificacao_NVphFin, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NPesAmo", CprNListaClassificacao_NPesAmo, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NResAmo", CprNListaClassificacao_NResAmo, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NPerApu", CprNListaClassificacao_NPerApu, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NPerDsc", CprNListaClassificacao_NPerDsc, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NQtdBas", CprNListaClassificacao_NQtdBas, CprA_S_N);
ListaRegraObterValorNumero(CprNListaClassificacao, "NQtdDsc", CprNListaClassificacao_NQtdDsc, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaClassificacao, "AProGer", CprNListaClassificacao_AProGer, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaClassificacao, "ADerGer", CprNListaClassificacao_ADerGer, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaClassificacao, "ATnsGer", CprNListaClassificacao_ATnsGer, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaClassificacao, "AIndObg", CprNListaClassificacao_AIndObg, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaClassificacao, "AAltIde", CprNListaClassificacao_AAltIde, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaClassificacao, "AUsaAmo", CprNListaClassificacao_AUsaAmo, CprA_S_N);
ListaRegraProximo(CprNListaClassificacao, CprA_S_N); /*Posiciona no próximo registro;*/
ListaRegraFim(CprNListaClassificacao, CprA_S_N); /*Atualiza variável final de lista*/
fim
fim
ListaRegraSalvarLista(CprNListaClassificacao, "C:\\ERP", "listaClaCSV", "C");
Definir numero CprNListaFornecedoresContrato_NCodFor;
Definir numero CprNListaFornecedoresContrato_NSeqOrm;
Definir numero CprNListaFornecedoresContrato_NForCtr;
Definir numero CprNListaFornecedoresContrato_NFilCtr;
Definir numero CprNListaFornecedoresContrato_NNumCtr;
Definir numero CprNListaFornecedoresContrato_NFilNfc;
Definir numero CprNListaFornecedoresContrato_NSeqCcp;
Definir numero CprNListaFornecedoresContrato_NNumNfc;
Definir numero CprNListaFornecedoresContrato_NQtdNfc;
Definir numero CprNListaFornecedoresContrato_NPerPfo;
Definir numero CprNListaFornecedoresContrato_NQtdPfo;
Definir numero CprNListaFornecedoresContrato_NPerDep;
Definir numero CprNListaFornecedoresContrato_NQtdDep;
Definir numero CprNListaFornecedoresContrato_NPerCpi;
Definir numero CprNListaFornecedoresContrato_NQtdCpi;
Definir numero CprNListaFornecedoresContrato_NNfcPro;
Definir numero CprNListaFornecedoresContrato_NDatDpr;
Definir Alfa CprNListaFornecedoresContrato_ATipFor;
Definir Alfa CprNListaFornecedoresContrato_AIndPrp;
Definir Alfa CprNListaFornecedoresContrato_AChvNel;
Definir Alfa CprNListaFornecedoresContrato_ACodSnf;
Definir Alfa CprNListaFornecedoresContrato_ATipNfc;
Definir Alfa CprNListaFornecedoresContrato_ATnsDep;
Definir Alfa CprNListaFornecedoresContrato_ATnsCpi;
Definir Alfa CprNListaFornecedoresContrato_AChvNfp;
Definir Alfa CprNListaFornecedoresContrato_AChvNfp;
Definir Alfa CprNListaFornecedoresContrato_ASnfDpr;
ListaRegraPrimeiro(CprNListaFornecedoresContrato, 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(CprNListaFornecedoresContrato, "NCodFor", CprNListaFornecedoresContrato_NCodFor, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NSeqOrm", CprNListaFornecedoresContrato_NSeqOrm, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NForCtr", CprNListaFornecedoresContrato_NForCtr, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NFilCtr", CprNListaFornecedoresContrato_NFilCtr, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NNumCtr", CprNListaFornecedoresContrato_NNumCtr, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NFilNfc", CprNListaFornecedoresContrato_NFilNfc, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NSeqCcp", CprNListaFornecedoresContrato_NSeqCcp, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NNumNfc", CprNListaFornecedoresContrato_NNumNfc, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NQtdNfc", CprNListaFornecedoresContrato_NQtdNfc, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NPerPfo", CprNListaFornecedoresContrato_NPerPfo, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NQtdPfo", CprNListaFornecedoresContrato_NQtdPfo, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NPerDep", CprNListaFornecedoresContrato_NPerDep, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NQtdDep", CprNListaFornecedoresContrato_NQtdDep, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NPerCpi", CprNListaFornecedoresContrato_NPerCpi, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NQtdCpi", CprNListaFornecedoresContrato_NQtdCpi, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NNfcPro", CprNListaFornecedoresContrato_NNfcPro, CprA_S_N);
ListaRegraObterValorNumero(CprNListaFornecedoresContrato, "NDatDpr", CprNListaFornecedoresContrato_NDatDpr, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaFornecedoresContrato, "ATipFor", CprNListaFornecedoresContrato_ATipFor, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaFornecedoresContrato, "AIndPrp", CprNListaFornecedoresContrato_AIndPrp, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaFornecedoresContrato, "AChvNel", CprNListaFornecedoresContrato_AChvNel, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaFornecedoresContrato, "ACodSnf", CprNListaFornecedoresContrato_ACodSnf, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaFornecedoresContrato, "ATipNfc", CprNListaFornecedoresContrato_ATipNfc, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaFornecedoresContrato, "ATnsDep", CprNListaFornecedoresContrato_ATnsDep, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaFornecedoresContrato, "ATnsCpi", CprNListaFornecedoresContrato_ATnsCpi, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaFornecedoresContrato, "AChvNfp", CprNListaFornecedoresContrato_AChvNfp, CprA_S_N);
ListaRegraObterValorAlfa (CprNListaFornecedoresContrato, "ASnfDpr", CprNListaFornecedoresContrato_ASnfDpr, CprA_S_N);
ListaRegraProximo(CprNListaFornecedoresContrato, CprA_S_N); /*Posiciona no próximo registro;*/
ListaRegraFim(CprNListaFornecedoresContrato, CprA_S_N); /*Atualiza variável final de lista*/
fim
fim
ListaRegraSalvarLista(CprNListaFornecedoresContrato, "C:\\ERP", "listaPfoCSV", "C");
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
CprNOpUsua | Número | Operação que o usuário realizou, pesagem de entrada (0), saída (1) ou manutenção de ticket (2). | N |
CprNCodEmp | Número | Código da empresa onde está sendo gerada a pesagem. | N |
CprNCodFil | Número | Codigo da filial onde está sendo gerada a pesagem. | N |
CprNDatEnt | Número | Data de entrada da pesagem. | N |
CprNSeqEnt | Número | Sequência de entrada da pesagem. | N |
CprNCodFor | Número | Código do fornecedor do cabeçalho da pesagem. | N |
CprNPesEnt | Número | Peso de entrada do veículo. | N |
CprNPesSai | Número | Peso de saída do veículo. | N |
CprNQtdDsc | Número | Quantidade total dos descontos de classificação. | N |
CprNQtdOri | Número | Quantidade bruta da carga. | N |
CprNQtdFim | Número | Quantidade final da carga. | N |
CprNQtdNfc | Número | Quantidade de notas fiscais de PJ informadas na pesagem. | N |
CprNQtdDec | Número | Quantidade de decimais para cálculos com arredondamento de quantidade. | N |
CprAProPes | Número | Produto da pesagem. | N |
CprACodDep | Alfa | Código do depósito da pesagem | N |
CprACodTrg | Alfa | Código da transgenia da pesagem | N |
CprNTipDoc | Número | Tipo de documento. (0 quando for Nota Fiscal e 1 quando for ticket). | S |
Lista de royalties dos participantes da pesagem:
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
NCodFor | Número | Código do fornecedor de royalties. | N |
NCreRoy | Número | Quantidade de crédito de royalties para o fornecedor | N |
NNumPtc | Número | Número de protocolo de royalties para os créditos informados | N |