Identificador de Regra

VEN-120CONDG01

Módulo: VEN - Vendas.

Finalidade: Efetuar uma consistência dos dados gerais do pedido de venda via regra associada, antes do sistema efetuar a consistência interna, nos momentos de inclusão ou alteração de um pedido.

Na regra associada, o usuário pode efetuar as consistências tendo disponíveis todos os campos da tabela de dados gerais do pedido (E120PED), em forma de variáveis da regra. A formatação de nome das variáveis segue o padrão do prefixo "VS" seguido do nome do campo na tabela. A única exceção a esta regra é referente ao campo "Número do Pedido" (NumPed), onde deve ser utilizada a variável VSNumero. O tipo de campo, se necessário declarar a variável, deve ser obtido consultando-se os campos da tabela. Então, deve-se declarar com o tipos Número os campos com máscara numérica e Alfa os campos com máscara alfanumérica. Para os campos de data, pode ser usado tanto Data ou Número.

Além das variáveis que representam os campos da tabela de dados gerais do pedido, existem as variáveis que representam o estado do registro (VSEstado), o tipo de interação da rotina com o usuário (VSInteracao), o indicativo de que algum campo foi alterado (VSModificado), e a variável indicadora para continuação do processo (VSBloIte), sendo a única que tem retorno. Se esta variável for retornada ao sistema com um valor diferente de zero, o processo de consistência do pedido será cancelado, exibindo uma mensagem de erro indicando isto. Isto pode ocorrer tanto na inclusão como gravação do pedido.

O usuário também poderá chamar, na regra associada, funções de programador que gerem erros ou cancelamentos no processo, cancelando também o mesmo.

Nota:

Esse identificador não tem tratativa para campos de usuário, porém o identificador VEN-120CONDG03 contempla essa demanda.

Características: Um detalhe quanto à variável VSModificado é que ela indica se houve alteração nos dados gerais do pedido, quando estes estão em edição e foi efetuada a chamada da consistência do pedido. Essa chamada pode ser feita sem necessariamente existir algum dado alterado, portanto, o intuito dessa variável é indicar para a regra se houve esta alteração e assim suprimir algum processo dentro da regra que não seria necessário nesse caso. As demais variáveis que não são campos da tabela do pedido estão documentadas em seqüência.

É extremamente recomendável não efetuar comandos em linguagem SQL de atualização da própria tabela de pedidos e itens, ou outras tabelas, nesse identificador. No momento de execução do identificador, não é garantido que exista uma transações de banco aberta e nem sempre o pedido pode estar efetivamente gravado na base no caso de alguns processos automáticos ou algumas telas do sistema. Outro problema, pode ser a própria verificação multi-usuário que poderá detectar a alteração do registro que foi alterado pela regra, diretamente no banco, e assim interrromper o processo.

Tela: Pedidos - Inclusão/Alteração

Transação: Não se aplica.

Regra:

Deve estar ligado a uma regra

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
VSEstado ALFA Indica se o pedido está em inclusão, assumindo o valor "INSERINDO" ou em alteração, assumindo o valor "ALTERANDO" N
VSOrigem ALFA Indica a rotina origem da chamada, e nesse caso assumirá sempre o valor "PED" N
VSModificado ALFA Indica se o registro foi alterado na chamada da regra. Assume "SIM" se foi alterado e "NAO" se não foi modificado N
VSInteracao ALFA Indica o tipo de interação da rotina, assumindo o valor "INTERATIVO" quando o usuário está editando o pedido ou "AUTOMATICO" quando for algum processo automático, como duplicação, importação, via SID, etc... N
VSTelaOrigem ALFA Representar uma tela em específico ou o processo do sistema responsável pela execução da rotina de pedido N
VSNumero NÚMERO Número do Pedido N
VSBloIte NÚMERO Retorna se deve interromper o processo. Qualquer valor diferente de zero irá interromper o processo, exibindo mensagem indicando isso 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ê?