Identificador de Regra

EST-405CONSI02

Módulo: EST - Estoques.

Finalidade: A finalidade é a mesma do identificador EST-405CONSI01, ou seja, consistir os dados do item de uma solicitação de compra no momento da gravação nas operações de inclusão, alteração e exclusão. Porém, o identificador EST-405CONSI02 permite consistir todos os campos da tabela de solicitação de compras tanto de produto como de serviços. As características desse novo identificador são:

- Disponibiliza todos os campos da tabela de Solicitação de Compras (E405SOL). Não são utilizados nomes de variáveis predefinidas para acesso aos valores de cada campo das tabelas sendo tratadas. Os campos dos registros associados ao identificador estão disponíveis no formato "Nome da tabela" + "." + "Nome do Campo". Essa nova forma de passagem de valores para as regras garante mais velocidade na carga das regras, pois não é necessário que o sistema atribua valores a todas as variáveis predefinidas, já que os valores dos campos são transferidos para as regras no momento em que são referenciados
(usados) na regra.

- Acesso a campos de usuário dos campos da tabela disponibilizada (E405SOL). Essa opção atualmente só está disponível para as rotinas que permitam a edição de campos de usuário da solicitação de compras.

- O identificador é executado na gravação do item de solicitação de compra nas rotinas citadas, a utilização do identificador EST-405CONSI01 não interfere na utilização deste novo identificador. São independentes. Como citado, esses valores são acessados no mesmo formato "Tabela" + "." + "Nome do campo".

OBSERVAÇÕES IMPORTANTES: é possível na regra atribuir valores a campos de sistema também, porém esse valor é descartado quando a regra é finalizada. Isso é devido ao fato de que o retorno de valores via campos de sistema necessita de tratamentos e consistências, e alguns campos são de controle interno e não podem ser alterados. Outro detalhe é que a atribuição de vaLores a campos de usuário só são considerados quando são campos da tabela de Solicitação de compras.

Características: As demais características abaixo fornecem valores de variáveis que não são campos de tabelas e são inerentes ao processo que está sendo executado, que é a gravação do item de solicitação de compras:

- VSEstado: alfanumérica, indica o estado em que o registro do item da solicitação de compras se encontra no momento de gravação: se estiver sendo editado, assume o valor "ALTERANDO", se estiver sendo incluído (item novo), assume o valor "INSERINDO", e
se estiver sendo excluído, assume o valor "EXCLUINDO"
- VSBloIte: variável numérica que retorna indicando ao sistema se o processo de gravação do item da solicitação de compras deve ou não continuar. O valor padrão da mesma é 0 (zero). Se um valor diferente de zero for retornado, o sistema irá cancelar o processo de gravação e irá exibir uma mensagem de erro indicando que o processo foi cancelado. Podem ser utilizados de outros recursos nas regras com mensagens mais claras ao usuário, como a função de programador "Mensagem" ou "GeraLog" para cancelar o processo.

- VSInteracao: variável alfanumérica, indica qual o tipo de interação com o usuário está ocorrendo na execução da rotina de pedidos. Os valores assumidos para esta variável são os seguintes, conforme a forma como a rotina de pedidos está sendo executada:

- "AUTOMATICO": valor atribuído em rotinas onde o pedido é atualizado sem ter interação direta do usuário com a solicitação: a importação, ERP SID, rotinas de duplicação ou atualização de solicitação por outras rotinas. Com essa variável é possível saber se não é um processo interativo com o usuário e, por exemplo, não há necessidade de exibir mensagens, telas de entrada de valor, efetuar questionamentos ou bloquear um processo. Exemplos de rotinas internas onde o usuário não interage diretamente com a solicitação são: a colocação de uma requsição em processo de compras automaticamente (que gera uma solicitação de compras), o ERP SID e WEB, e a importação.

- "INTERATIVO": valor assumido em rotinas onde a solicitação de compras é editado e existe interação entre o usuário e a

solicitação de compras. Essas rotinas são as telas de edição de solicitação de compras do sistema.

- VSModificado: variável alfanumérica, que indica se o item da solicitação de compras foi efetivamente modificado antes de ser passado à regra. Em algumas rotinas, o item pode não ter sido alterado mas é necessário alguma consistência interna na gravação. Essa variável indica essa situação, assumindo o valor "SIM" quando algum campo do item de solicitação de compras foi alterado e "NAO" quando este item está inalterado.

Tela: F405SOL, F405SOS

Transação: Não se aplica.

Regra:

Exemplo de utilização da regra ligada ao identificador EST-405CONSI02:

E exemplo de acessos às tabelas e campos na tabela são assim demonstrados:

- Para utilizar o Número da solicitação de Compras:
VSNumSol = E405SOL.NUMSOL;

- Para acessar um campo de usuário qualquer da tabelas de Solicitação de Compras:
VSCampoUsuario = E1405SOL.USU_SOL1;

- Para atribuir um valor a um campo de usuário, a sintaxe poderia ser:
E405SOL.USU_SOL1 = "TESTE";


Exemplo de Regra:

se (E405SOL.QTDSOL > 1000.00)
mensagem(erro, "Teste consistência Campo Normal da Solicitação !![&OK]");

se (E405SOL.USU_SOL1 = "ERRO")
mensagem(erro, "Teste consistência Campo de Usuário da Solicitação !![&OK]");

@ teste retornando a variável VSBloITE @
se (E405SOL.USU_SOL1 = "ERRADO")
VSBloIte = 1;

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
VSEstado ALFA Estado em que o registro do item do pedido se encontra no momento de gravação (INSERINDO OU ALTERANDO ou EXCLUINDO) N
VSInteracao ALFA Indica o tipo de interação com o usuário na execução da rotina de pedidos. Assume os valores "AUTOMATICO" (sem interação) ou "INTERATIVO" (com interação) N
VSModificado ALFA Indica se o item de pedido foi efetivamente modificado antes de ser passado à regra. N
VSBloIte NÚMERO Retorna indicando ao sistema se o processo de gravação do item de produto deve ou não continuar. O valor padrão da mesma é 0 (zero). Se um valor diferente de zero for retornado, o sistema irá cancelar o processo de gravação 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ê?