Identificador de Regra

VEN-160REGRA01

Módulo: VEN - Vendas.

Finalidade: Este identificador de regras tem por objetivo disponibilizar todos os campos das tabelas E160CVS, E160CVP ou E160LPS.
A execução será feita através da tela F160NOV (Mercado > Gestão de Vendas > Contratos > Cadastro) através do botão "Regra" das páginas "Serviços" e "Produtos".

Na página "Serviços" se a grade ativa for a grade dos itens de serviço do contrato, para a regra será disponibilizada a tabela de serviços do contrato de venda (E160CVS) com todos os seus campos.
Ainda na página "Serviços", caso a grade ativa for a de produtos ligados ao serviço, então para a regra será disponibilizada a tabela de produtos ligados ao serviço (E160LPS) com todos os seus campos.

Na página "Produtos" para a regra será disponibilizada a tabela de produtos do contrato de venda (E160CVP) com todos os seus campos.

Além de todos os campos das respectivas tabelas (Serviços ou Produtos do contrato de venda), também serão disponibilizados os seguintes campos:

VenABotaoProduto: permite alterar o nome do botão "Regra" na página "Produtos"

VenABotaoServico: permite alterar o nome do botão "Regra" na página "Serviços"

VenAOrigem: indica se a regra foi executada a partir da página "Produtos", sendo seu valor igual a "PRODUTO" ou, caso esteja posicionada na página de "Serviços", o seu valor poderá ser "SERVICO" ou "PRODUTOSXSERVICO", dependendo da grade ativa (grid de serviços ou grade de produtos ligados ao serviço), respectivamente.

VSEstado: indica o estado da tabela, podendo ser: "INSERINDO" ou "ALTERANDO".

Para acessar os campos das tabelas de serviços ou produtos do contrato de venda, deverá ser utilizada da seguinte forma: TABELA.CAMPO.
Exemplo:
E160CVS.CodSer (código do serviço do contrato de venda)
E160CVP.CodPro (código do produto do contrato de venda)
E160LPS.SeqIpr (sequência do item de produto ligado ao serviço do contrato de venda)

Tela: F160NOV

Transação: Não se aplica.

Regra:

Definir Alfa VenABotaoProduto;
Definir Alfa VenABotaoServico;
Definir Alfa VenAOrigem;
Definir Alfa VSEstado;
Definir Alfa VenAMensagem;

@ alterar os nomes dos botões ao entrar na tela F160NOV @
se(VSEstado = "PARAMETRIZAR")
INICIO
VenABotaoProduto = "Func Prod Reg";
VenABotaoServico = "Func Serv Reg";
VenAMensagem = "Estado: " + VSEstado;
FIM;

@ página de Produtos e grade de produtos ativa @
se (VenAOrigem = "PRODUTO")
Inicio
VenAMensagem = "Grid Produto" +
" - Produto: " + E160CVP.CodPro +
" - Complemento: " + E160CVP.CplCvp +
" - Estado: " + VSEstado;
Fim;

@ página de Serviços e grade de serviços ativa @
se (VenAOrigem = "SERVICO")
Inicio
VenAMensagem = "Grid Serviço" +
" - Serviço: " + E160CVS.CodSer +
" - Complemento: " + E160CVS.CplCvs +
" - Estado: " + VSEstado;
Fim;

@ página de Serviços e grade de produtos do serviço ativa @
se (VenAOrigem = "PRODUTOXSERVICO")
Inicio
VenAMensagem = "Grid Ligação Produto x Serviço" +
" - Produto: " + E160LPS.CodPro +
" - Estado: " + VSEstado;
Fim;

Mensagem(Retorna, VenAMensagem);

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
VenAOrigem ALFA Indica qual botão de regra da tela de contrato de venda foi executado (PRODUTO ou SERVICO ou PRODUTOXSERVICO) N
VSEstado ALFA Indica o estado da tabela (INSERRINDO ou ALTERANDO) N
VenABotaoProduto ALFA Retorna o nome do botão "Regra" para a página "Produtos" S
VenABotaoServico ALFA Retorna o nome do botão "Regra" para a página "Serviços" 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ê?