Identificador de Regra

GER-075CAMPO01

Módulo: GER - Gerais.

Finalidade: Personalizar campos de consulta da tela de "Análise de Produto" e de "Estoque/Preço de Produto".

Na regra são definidos 3 (três) parâmetros para cada um de um limite de 8 (oito) campos de consulta. Também foi disponibilizada uma variável onde o usuário poderá definir a ordem do resultado da consulta "VSORDEM".

As variáveis "VSTIPO" poderão assumir os seguintes valores: (STRING/DATE/INTEGER/FLOAT) e deverão ser do mesmo tipo que foi definido o campo de usuário na base. As variáveis "VSCAMPO" deverão ter o nome do campo idêntico ao campo da tabela. No campo "VSORDEM" poderão ser adicionados campos de usuário e campos da própria base sempre separados por uma ',' vírgula. EX: VSORDEM = 'E075PRO.CODPRO, E075PRO.USU_MT, E075PRO.USU_M1'.

As variáveis "VSFILTRO" poderão assumir os valores "S" ou "N". Caso não sejam definidas, será assumido o valor "S". Essa variável serve para indicar se o campo será utilizado para filtro (montado como campo para informar valor) ou somente para aparecer na grade da consulta, no caso em que não filtra.

Os campos serão montados na tela conforme configurados pela regra e o valor informado irá servir de filtro para a pesquisa.

Os campos de 1 a 10 possuem tamanho máximo de 30 caracteres e o campo 11 suporta até 1000 caracteres. A partir da versão 5.7.5.1, os campos de 1 a 10 passaram a suportar 50 caracteres.

Os valores dos campos retornados pela regra são apresentados na grid, porém caso utilizem filtro personalizado (VSPERSON = "S") eles somente terão o valor carregado na grade caso sejam das tabelas (VSTABELA) "E075PRO" ou "E075DER".

Para a tela de "Análise de Produto", a regra vale apenas para a tabela "E075PRO". Então os campos deverão ser definidos somente para aquela tabela. Já no caso da tela de "Estoque/Preço Produto", existem algumas funcionalidades a mais, descritas a seguir:

Características: As variáveis abaixo afetam apenas a rotina do ComercialEstoquesConsultasEstoque/Preço Produto:

"VSPerson0" [número do campo]: permite indicar se o valor informado na tela do campo de número correspondente será passado para uma segunda regra, a "GER", "075CAMPO03". Nessa regra, poderá ser montado um filtro em formato de comando SQL e devolvido à rotina para concatenar no comando que efetua a consulta. Se for atribuído o valor "S", os dados do campo e seu valor informado na tela serão passados para a nova regra. Se for atribuído qualquer outro valor, a rotina irá seguir o comportamento padrão, que é utilizar diretamente o valor do campo na pesquisa.
"VSTabela0" [número do campo]: permite indicar a que tabela o campo de número correspondente pertence, desde que sejam as tabelas de produto ou derivação ("E075PRO" ou "E075DER"). O conteúdo dessa variável ("VSTabela0" [número do campo]) será utilizado para montar um filtro pelo valor do campo de número correspondente e para a tabela correspondente. Será montado normalmente um campo na tela permitindo informar o valor correspondente. Dessa forma, é possível identificar em que campo e tabela deseja-se efetuar o filtro, em vez de ser somente a tabela de produtos (E075PRO). É possível definir essa possibilidade para campos normais ou de usuário. Por padrão, se essa variável não possuir valor ou for um valor diferente das palavras "E075DER" ou "E075PRO", será assumido que sempre é para a tabela de produtos "E075PRO". No caso de se optar pela personalização do filtro do campo/tabela (usando a variável "VSPerson0" [número do campo], poderá ser informada outra tabela (do sistema ou de usuário) e desde que possua rel
acionamento com as tabelas de produto ou de derivação. O valor desse campo informado na tela não é utilizado diretamente no filtro de pesquisa, sendo enviado então ao outro identificador para montar o filtro personalizado. No caso esse identificador é o "GER", "075CAMPO03", e mais detalhes podem ser vistos na documentação do mesmo. Outro detalhe é que o sistema vai consistir se a tabela existe e se o campo existe na tabela. Qualquer variável de um determinado campo que estiver sem nome do campo e sem tipo, o mesmo será ignorado e não montado na tela.

A partir da versão 5.7.4.1 estão disponibilizadas as seguintes variáveis:
- VenNCodCli: disponibiliza o código do cliente.
- VenNNumPed: disponibiliza o número do pedido.
- VenNCodRep: disponibiliza o código do representante.
- VenATnsPro: disponibiliza a transação de produto.
- VenACodTpr: disponibiliza a tabela de preço de venda.
- VenACodCpg: disponibiliza a condição de pagamento.
- VenATelaOrigem: indica qual tela realizou a chamada da tela F075EPP.

Estas variáveis somente possuirão valor quando a tela F075EPP for invocada por uma tela de vendas ou compras. Caso a tela F075EPP for acessada pelo menu, nenhuma das variáveis possuirá valor.

Tela: F075CAP/F075EPP

Transação: Não se aplica.

Regra:

@ Descrição do campo a ser exibido na tela de pesquisa @
Definir ALFA VSLABEL01;
Definir ALFA VSLABEL02;
Definir ALFA VSLABEL03;
Definir ALFA VSLABEL04;
Definir ALFA VSLABEL05;
Definir ALFA VSLABEL06;
Definir ALFA VSLABEL07;
Definir ALFA VSLABEL08;

@ Variáveis que indicam o nome dos campos nas tabelas @
Definir ALFA VSCAMPO01;
Definir ALFA VSCAMPO02;
Definir ALFA VSCAMPO03;
Definir ALFA VSCAMPO04;
Definir ALFA VSCAMPO05;
Definir ALFA VSCAMPO06;
Definir ALFA VSCAMPO07;
Definir ALFA VSCAMPO08;

@ Variáveis que indicam o tipo de cada campo @
Definir ALFA VSTIPO01;
Definir ALFA VSTIPO02;
Definir ALFA VSTIPO03;
Definir ALFA VSTIPO04;
Definir ALFA VSTIPO05;
Definir ALFA VSTIPO06;
Definir ALFA VSTIPO07;
Definir ALFA VSTIPO08;

@ Indicativo se o campo usado no filtro ou só exibido na grade @
Definir ALFA VSFILTRO01;
Definir ALFA VSFILTRO02;
Definir ALFA VSFILTRO03;
Definir ALFA VSFILTRO04;
Definir ALFA VSFILTRO05;
Definir ALFA VSFILTRO06;
Definir ALFA VSFILTRO07;
Definir ALFA VSFILTRO08;

@ Nome das tabelas ao qual cada campo pertence. @
@ Se não informado assume como padrão a tabela "E075PRO" @
Definir ALFA VSTABELA01;
Definir ALFA VSTABELA02;
Definir ALFA VSTABELA03;
Definir ALFA VSTABELA04;
Definir ALFA VSTABELA05;
Definir ALFA VSTABELA06;
Definir ALFA VSTABELA07;
Definir ALFA VSTABELA08;

@ Indicativo se o conteúdo do campo informado na tela ser  passado a outra regra @
@ para montar um filtro personalizado, em vez de ser usado diretamente na pesquisa @
Definir ALFA VSPERSON01;
Definir ALFA VSPERSON02;
Definir ALFA VSPERSON03;
Definir ALFA VSPERSON04;
Definir ALFA VSPERSON05;
Definir ALFA VSPERSON06;
Definir ALFA VSPERSON07;
Definir ALFA VSPERSON08;

@ Define a ordenação dos registros (cláusula order by) @
Definir ALFA VSORDEM;

VSLABEL01 = "Produto (USU_STRING)";
VSLABEL02 = "Produto (USU_INTEGER)";
VSLABEL03 = "Derivação (USU_DERSTR)";
VSLABEL04 = "Derivação (USU_DERINT):";
VSLABEL05 = "Decimais (E012FAM)";
VSLABEL06 = "Validade (E075DER)";
VSLABEL07 = "Per. IPI (E075PRO)";
VSLABEL08 = "(E075PPC_USU_CODBAR)";

@ Nome das tabelas ao qual cada campo pertence. @
VSTABELA01 = ""; @ Assume a tabela "E075PRO" se está em branco@
VSTABELA02 = "E075PRO";
VSTABELA03 = "E075DER"; @ Exemplo para informar a tabela de derivação @
VSTABELA04 = "E075DER";
VSTABELA05 = "E012FAM"; @ Exemplo para informar outra tabela @
VSTABELA06 = "E075DER";
VSTABELA07 = "E075PRO";
VSTABELA08 = "E075PPC";

@ Nome dos campos @
VSCAMPO01 = "USU_STRING"; @ Exemplo para informar campos de usuário @
VSCAMPO02 = "USU_INTEGER";
VSCAMPO03 = "USU_DERSTR";
VSCAMPO04 = "USU_DERINT";
VSCAMPO05 = "QTDDEC"; @ Exemplo para informar campos normais de sistema @
VSCAMPO06 = "DATVAL";
VSCAMPO07 = "PERIPI";
VSCAMPO08 = "USU_CODBAR";

@ Tipo de cada campo @
VSTIPO01 = "STRING";
VSTIPO02 = "INTEGER";
VSTIPO03 = "STRING";
VSTIPO04 = "INTEGER";
VSTIPO05 = "INTEGER";
VSTIPO06 = "DATE";
VSTIPO07 = "FLOAT";
VSTIPO08 = "STRING";

@ Indicativo se o campo é usado no filtro @
VSFILTRO01 = "S";
VSFILTRO02 = "S";
VSFILTRO03 = "S";
VSFILTRO04 = "S";
VSFILTRO05 = "S";
VSFILTRO06 = "S";
VSFILTRO07 = "S";
VSFILTRO08 = "S";

@ Não personaliza o filtro destes campos @
VSPERSON01 = "S";
VSPERSON02 = "S";
VSPERSON03 = "S";
VSPERSON04 = "S";
VSPERSON05 = "S";

@ Personaliza o filtro desses campos, sendo repassados @
@ juntamente com seu conteúdo à regra "GER", "075CAMPO03" @
VSPERSON04 = "S";
VSPERSON05 = "S";
VSPERSON06 = "S";
VSPERSON07 = "S";
VSPERSON08 = "S";

@ Define a ordem em que o registros serão exibidos @
VSORDEM = "E075PRO.CODPRO DESC, E075DER.CODDER DESC";

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
VENNCODCLI NÚMERO Código do Cliente N
VENNNUMPED NÚMERO Número do Pedido N
VENNCODREP NÚMERO Código do Representante N
VENAAPELIDO01 ALFA Apelido do campo 01 N
VENAAPELIDO02 ALFA Apelido do campo 02 N
VENAAPELIDO03 ALFA Apelido do campo 03 N
VENAAPELIDO04 ALFA Apelido do campo 04 N
VENAAPELIDO05 ALFA Apelido do campo 05 N
VENAAPELIDO06 ALFA Apelido do campo 06 N
VENAAPELIDO07 ALFA Apelido do campo 07 N
VENAAPELIDO08 ALFA Apelido do campo 08 N
VENAAPELIDO09 ALFA Apelido do campo 09 N
VENAAPELIDO10 ALFA Apelido do campo 10 N
VENAAPELIDO11 ALFA Apelido do campo 11 N
VENATNSPRO ALFA Transação do Produto N
VENACODTPR ALFA Código da Tabela de Preço de Venda N
VENACODCPG ALFA Código da Condição de Pagamento N
VENATELAORIGEM ALFA Tela que originou a chamada da tela de consulta N
VSLABEL01 ALFA Descrição do Campo 01 S
VSLABEL02 ALFA Descrição do Campo 02 S
VSLABEL03 ALFA Descrição do Campo 03 S
VSLABEL04 ALFA Descrição do Campo 04 S
VSLABEL05 ALFA Descrição do Campo 05 S
VSLABEL06 ALFA Descrição do Campo 06 S
VSLABEL07 ALFA Descrição do Campo 07 S
VSLABEL08 ALFA Descrição do Campo 08 S
VSCAMPO01 ALFA Nome do campo 01 S
VSCAMPO02 ALFA Nome do campo 02 S
VSCAMPO03 ALFA Nome do campo 03 S
VSCAMPO04 ALFA Nome do campo 04 S
VSCAMPO05 ALFA Nome do campo 05 S
VSCAMPO06 ALFA Nome do campo 06 S
VSCAMPO07 ALFA Nome do campo 07 S
VSCAMPO08 ALFA Nome do campo 08 S
VSTIPO01 ALFA Tipo do Campo 01 S
VSTIPO02 ALFA Tipo do Campo 02 S
VSTIPO03 ALFA Tipo do Campo 03 S
VSTIPO04 ALFA Tipo do Campo 04 S
VSTIPO05 ALFA Tipo do Campo 05 S
VSTIPO06 ALFA Tipo do Campo 06 S
VSTIPO07 ALFA Tipo do Campo 07 S
VSTIPO08 ALFA Tipo do Campo 08 S
VSORDEM ALFA Ordenação do resultado da Pesquisa S
VSFILTRO01 ALFA Definir se o campo fará parte do filtro de pesquisa S
VSFILTRO02 ALFA Definir se o campo fará parte do filtro de pesquisa S
VSFILTRO03 ALFA Definir se o campo fará parte do filtro de pesquisa S
VSFILTRO04 ALFA Definir se o campo fará parte do filtro de pesquisa S
VSFILTRO05 ALFA Definir se o campo fará parte do filtro de pesquisa S
VSFILTRO06 ALFA Definir se o campo fará parte do filtro de pesquisa S
VSFILTRO07 ALFA Definir se o campo fará parte do filtro de pesquisa S
VSFILTRO08 ALFA Definir se o campo fará parte do filtro de pesquisa S
VSTABELA01 ALFA Definir a que tabela o campo correspondente pertence S
VSTABELA02 ALFA Definir a que tabela o campo correspondente pertence S
VSTABELA03 ALFA Definir a que tabela o campo correspondente pertence S
VSTABELA04 ALFA Definir a que tabela o campo correspondente pertence S
VSTABELA05 ALFA Definir a que tabela o campo correspondente pertence S
VSTABELA06 ALFA Definir a que tabela o campo correspondente pertence S
VSTABELA07 ALFA Definir a que tabela o campo correspondente pertence S
VSTABELA08 ALFA Definir a que tabela o campo correspondente pertence S
VSPERSON01 ALFA Definir se o conteúdo do campo irá ser utilizado para montar um filtro personalizado, no identificador GER, 075CAMPO03 S
VSPERSON02 ALFA Definir se o conteúdo do campo irá ser utilizado para montar um filtro personalizado, no identificador GER, 075CAMPO03 S
VSPERSON03 ALFA Definir se o conteúdo do campo irá ser utilizado para montar um filtro personalizado, no identificador GER, 075CAMPO03 S
VSPERSON04 ALFA Definir se o conteúdo do campo irá ser utilizado para montar um filtro personalizado, no identificador GER, 075CAMPO03 S
VSPERSON05 ALFA Definir se o conteúdo do campo irá ser utilizado para montar um filtro personalizado, no identificador GER, 075CAMPO03 S
VSPERSON06 ALFA Definir se o conteúdo do campo irá ser utilizado para montar um filtro personalizado, no identificador GER, 075CAMPO03 S
VSPERSON07 ALFA Definir se o conteúdo do campo irá ser utilizado para montar um filtro personalizado, no identificador GER, 075CAMPO03 S
VSPERSON08 ALFA Definir se o conteúdo do campo irá ser utilizado para montar um filtro personalizado, no identificador GER, 075CAMPO03 S
VSLABEL09 ALFA Descrição do Campo 09 S
VSCAMPO09 ALFA Nome do campo 09 S
VSTIPO09 ALFA Tipo do Campo 09 S
VSFILTRO09 ALFA Definir se o campo fará parte do filtro de pesquisa S
VSTABELA09 ALFA Definir a que tabela o campo correspondente pertence S
VSPERSON09 ALFA Definir se o conteúdo do campo irá ser utilizado para montar um filtro personalizado, no identificador GER, 075CAMPO03 S
VSLABEL10 ALFA Descrição do Campo 10 S
VSCAMPO10 ALFA Nome do campo 10 S
VSTIPO10 ALFA Tipo do Campo 10 S
VSFILTRO10 ALFA Definir se o campo fará parte do filtro de pesquisa S
VSTABELA10 ALFA Definir a que tabela o campo correspondente pertence S
VSPERSON10 ALFA Definir se o conteúdo do campo irá ser utilizado para montar um filtro personalizado, no identificador GER, 075CAMPO03 S
VSLABEL11 ALFA Descrição do Campo 11 S
VSCAMPO11 ALFA Nome do campo 11 S
VSTIPO11 ALFA Tipo do Campo 11 S
VSFILTRO11 ALFA Definir se o campo fará parte do filtro de pesquisa S
VSTABELA11 ALFA Definir a que tabela o campo correspondente pertence S
VSPERSON11 ALFA Definir se o conteúdo do campo irá ser utilizado para montar um filtro personalizado, no identificador GER, 075CAMPO03 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ê?