Identificador de Regra

VEN-120CONIP02

Módulo: VEN - Vendas.

Finalidade: Segue o modelo do identificador VEN-120CONIP01, porém o mesmo será executado após um item de produto do pedido ter sido gravado (tanto em uma inclusão como em uma alteração). O único diferencial é que o identificador não irá devolver nenhum valor para o sistema, sendo as alterações feitas descartadas, pois o item já foi gravado. Para o serviço deve ser usado o identificador de regra VEN-120CONIS02.

Os identificadores de regras VEN-120CONIP01, VEN-120CONIP02 e VEN-120PREIP02 possuem comportamentos semelhantes. Os diferenciais entre eles seguem descritos abaixo:

  VEN-120CONIP01 VEN-120CONIP02 VEN-120PREIP02
Disponibiliza dados do item já calculado Não Sim Sim
Disponibiliza campos de usuário para consulta Sim Sim Sim
Disponibiliza campos de usuário para alteração Sim Não* Sim

*O identificador de regras VEN-120CONIP02 disponibiliza campos de usuário somente para consulta. Como o identificador é executado após a gravação do item de produto, o mesmo não deve ser utilizado para alteração de campos de usuário. Qualquer alteração em campos de usuário é considerada apenas como uma alteração de variável em regra, ou seja, não será gravada no banco de dados.
Para alteração, a sugestão é utilizar o identificador VEN-120CONIP03, que tem as mesmas variáveis e o mesmo funcionamento, porém permite alterar campos de usuário.

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 itens de produto. Valores atribuídos a campos de usuário da tabela de dados gerais do pedido são descartados.

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 dos itens de produto do pedido:

- VSEstado: alfanumérica, indica o estado em que o registro do item do pedido se encontra no momento de gravação: se estiver sendo editado, assume o valor "ALTERANDO", e se estiver sendo incluído (item novo), assume o valor "INSERINDO".

- VSBloIte: variável numérica que 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 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 o pedido: a importação, ERP SID, rotinas de duplicação ou atualização de pedidos 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 o pedido são: o faturamento (que recalcula o pedido), o cancelamento de OPs na produção que podem cancelar os itens de pedido ou atualizar seu indicativo de produção, o cancelamento de um pedido que está ligado a outro pedido (pedido gerado via pedido base), o ERP SID e WEB, e a importação.

- "INTERATIVO": valor assumido em rotinas onde o pedido é editado e existe interação entre o usuário e o pedido. Essas rotinas são as telas de edição de pedidos do sistema. Pode ocorrer, em algumas situações, que há a necessidade de automação mesmo em telas, e nesses casos será assumido o valor "AUTOMATICO". Exemplos dessa situação são a rotina de duplicação de pedidos, quando se utiliza o botão "Mostrar", ou a explosão de itens em Grade na tela de Grade de Produto.

- VSModificado: variável alfanumérica, que indica se o item de pedido 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 do pedido foi alterado e "NAO" quando este item está inalterado.

Transação: Não se aplica.

Regra:

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

Utilizar o código do cliente dos dados gerais do pedido:

VSCodigoCliente = E120PED.CODCLI;

Um exemplo para acessar o código de produto do item de produto pedido seria

VSCodigoProduto = E120IPD.CODPRO;

Para acessar um campo de usuário qualquer das tabelas do item do pedido (no caso, somente na tela de Pedidos Agrupados será retornado valor):

VSCampoUsuario = E120IPD.USU_TESTE;

Para atribuir um valor ao um campo de usuário, a sintaxe poderia ser (no caso, somente na tela de Pedidos Agrupados será considerado o valor atribuído):

E120IPD.USU_TESTE = "TESTE";

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) 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
VSTelaOrigem ALFA Representa uma tela em específico ou o processo do sistema responsável pela execução da rotina de pedido 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ê?