Identificador de Regra

CPR-435MNTTI01

Módulo: CPR - Compras.

Finalidade: A execução ocorre quando o usuário clica em Processar ou em Gerar Nota na rotina Manutenção de Tickets (F435MDT). O identificador não gera nenhum retorno para o sistema; ele apenas fornece informações ao cliente para que este, de forma personalizada, possa tomar decisões com base nessas informações. Eventualmente, até interrompendo o processamento com alguma consistência lançada pela regra personalizada por ele.

Características: Esse identificador contém uma lista com informações dos fornecedores participantes de contrato dos tickets selecionados na guia de tickets, no momento que o usuário dispara uma das ações supracitadas.

Tela: F435MDT.

Regra

					Definir Numero CprNCodEmp;
					Definir numero CprNCodFil;
					Definir Alfa CprAcaoUsu;

					Definir Numero ObterNumero_NCodEmp;
					Definir Numero ObterNumero_NCodFil;
					Definir Numero ObterNumero_NDatEnt;
					Definir Numero ObterNumero_NSeqEnt;
					Definir Numero ObterNumero_NCodFor;
					Definir Numero ObterNumero_NSeqOrm;
					Definir Numero ObterNumero_NFilNfc;
					Definir Numero ObterNumero_NNumNfc;
					Definir Alfa ObterAlfa_ACodSnf;
					Definir Alfa ObterAlfa_ATipNfc;
					Definir Numero ObterNumero_NQtdNfc;
					Definir Numero ObterNumero_NPerPfo;
					Definir Alfa ObterAlfa_ATnsDep;
					Definir Numero ObterNumero_NQtdPfo;
					Definir Numero ObterNumero_NPerDep;
					Definir Numero ObterNumero_NQtdDep;
					Definir Alfa ObterAlfa_ATnsCpi;
					Definir Numero ObterNumero_NPerCpi;
					Definir Numero ObterNumero_NQtdCpi;
					Definir Numero ObterNumero_NNumCtr;
					Definir Numero ObterNumero_NSeqCcp;
					Definir Numero ObterNumero_NNfcPro;
					Definir Numero ObterNumero_NDatDpr;
					Definir Alfa ObterAlfa_ASnfDpr;
					Definir Alfa ObterAlfa_AChvNfp;

					Definir Numero CprNListaPfo;
					Definir Alfa CprA_S_N;
					
					ListaRegraPrimeiro(CprNListaPfo, 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(CprNListaPfo, "NCodEmp", ObterNumero_NCodEmp, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NCodFil", ObterNumero_NCodFil, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NDatEnt", ObterNumero_NDatEnt, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NSeqEnt", ObterNumero_NSeqEnt, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NCodFor", ObterNumero_NCodFor, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NSeqOrm", ObterNumero_NSeqOrm, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NFilNfc", ObterNumero_NFilNfc, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NNumNfc", ObterNumero_NNumNfc, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NQtdNfc", ObterNumero_NQtdNfc, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NPerPfo", ObterNumero_NPerPfo, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NQtdPfo", ObterNumero_NQtdPfo, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NPerDep", ObterNumero_NPerDep, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NQtdDep", ObterNumero_NQtdDep, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NPerCpi", ObterNumero_NPerCpi, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NQtdCpi", ObterNumero_NQtdCpi, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NNumCtr", ObterNumero_NNumCtr, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NSeqCcp", ObterNumero_NSeqCcp, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NNfcPro", ObterNumero_NNfcPro, CprA_S_N);
					ListaRegraObterValorNumero(CprNListaPfo, "NDatDpr", ObterNumero_NDatDpr, CprA_S_N);

					ListaRegraObterValorAlfa(CprNListaPfo, "ASnfDpr", ObterAlfa_ASnfDpr, CprA_S_N);
					ListaRegraObterValorAlfa(CprNListaPfo, "ACodSnf", ObterAlfa_ACodSnf, CprA_S_N);
					ListaRegraObterValorAlfa(CprNListaPfo, "ATipNfc", ObterAlfa_ATipNfc, CprA_S_N);
					ListaRegraObterValorAlfa(CprNListaPfo, "AChvNfp", ObterAlfa_AChvNfp, CprA_S_N);
					ListaRegraObterValorAlfa(CprNListaPfo, "ATnsCpi", ObterAlfa_ATnsCpi, CprA_S_N);
					ListaRegraObterValorAlfa(CprNListaPfo, "ATnsDep", ObterAlfa_ATnsDep, CprA_S_N);

					ListaRegraProximo(CprNListaPfo, CprA_S_N); /*Posiciona no próximo registro;*/
					ListaRegraFim(CprNListaPfo, CprA_S_N); /*Atualiza variável final de lista*/
					fim
					fim

					ListaRegraSalvarLista(CprNListaPfo, "C:\\ERP", "listaCSV", "C");

					x=y;
				

Variáveis disponibilizadas

Nome Tipo Observações Retorna Valor
CprNCodEmp Número Código da empresa na qual a rotina F435MDT está sendo executada. N
CprNCodFil Número Código da filial na qual a rotina F435MDT está sendo executada. N
CprAcaoUsu Alfa Ação do usuário, que pode ser Processar ou Gerar Nota. N

Variáveis disponibilizadas dentro da lista CprNListaPfo

Nome Tipo Observações Retorna Valor
NCodEmp Número Código da empresa do ticket. N
NCodFil Número Código da filial do ticket. N
NDatEnt Número Data de entrada do ticket. N
NSeqEnt Número Sequência de entrada do ticket. N
NCodFor Número Código do Fornecedor. N
NSeqOrm Número Código da origem de mercadoria. N
NFilNfc Número Filial da nota de pessoa jurídica. N
NNumNfc Número Número da nota de pessoa jurídica. N
ACodSnf Alfa Série da nota de pessoa jurídica. N
ATipNfc Alfa Tipo da nota de pessoa jurídica. N
NQtdNfc Alfa Quantidade de produto na nota. N
NPerPfo Número Percentual do fornecedor participante do contrato. N
NQtdPfo Número Quantidade do fornecedor participante do contrato. N
NPerDep Número Percentual da quantidade a depósito do fornecedor participante do contrato. N
NQtdDep Número Quantidade a depósito do fornecedor participante do contrato. N
ATnsDep Alfa Código da transação de entrada a deposito. N
NPerCpi Número Percentual da quantidade para compra imediata do fornecedor participante do contrato. N
NQtdCpi Número Quantidade para compra imediata do fornecedor participante do contrato. N
ATnsCpi Alfa Código da transação de compra imediata. N
NNumCtr Número Número do contrato. N
NSeqCcp Número Sequência do contrato. N
NNfcPro Número Número da nota de produto rural N
NDatDpr Número Data da nota de produtor rural. N
ASnfDpr Alfa Série da nota de produto rural. N
AChvNfp Alfa Chave da nota de produtor rural. N

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