Header Web
Logo_PHC_Software
Manuais
Criação De Regras

Esta opção permite introduzir/alterar Regras para definir determinado comportamento na aplicação. O objetivo destas Regras, pode passar por exemplo, por controlar a validação dos dados quando são introduzidos.


Dos campos que o utilizador dispõe, existe um separador dedicado à definição do Programa e Mensagem e outro onde o utilizador define o(s) Package(s) onde a Regra será implementada.

Poderá também, interagir com o registo da Regra quando acede ao respetivo ecrã, em modo de consulta.

No final deste tópico serão apresentados alguns Exemplos práticos: Uma regra pode obrigar determinado campo a ser preenchido, ou pode impedir a gravação de uma encomenda se não tiver valor, etc.


Ecrã em modo de introdução/alteração

  • Em modo de introdução/alteração, o utilizador dispõe dos seguintes campos:

    Descrição da regra
    Este campo é de preenchimento obrigatório e é onde deve ser introduzido de uma pequena descrição da regra.

    Número Interno da regra
    Este número é sequencial e não controlado pelo utilizador. Poderá ser utilizado em posteriores consultas.

    Inativa
    No caso de esta opção estar ativa a regra não é executada.

    Nome do ecrã (sem ASPX) onde vai correr a regra. (i.e. CLFORM)
    Define qual o ecrã a que vai ser aplicada a regra.

    Tabela
    Define qual a tabela a que vai ser executada a regra.
    Este campo, apenas está disponível, se o campo "Nome do ecrã" estiver preenchido com "configmon".
    Caso pretenda saber um pouco mais, consulte por favor o tópico "Monitor de Configurações".

    Ordem de execução da regra
    Este campo controla a ordem de execução da regra, no caso de existir mais do que uma regra para o mesmo ecrã.

    Tipo de regra
    Neste campo deve selecionar qual o tipo de impedimento a aplicar na regra. Pode selecionar as seguintes opções:
    -Não deixa gravar o registo - impede a gravação do registo caso a regra não seja respeitada
    -Não deixa apagar o registo - impede a eliminação do registo caso a regra não seja respeitada

     

    Informação
    A opção "Não deixa apagar o registo" apenas está disponível com PHC On ativo e nas gamas Advanced e Enterprise.


 

 


Expressão a ser validada. Deve retornar TRUE se a regra passa ou FALSE se não passa.
Neste local é criado o programa de execução da regra. Este programa deve retornar um valor lógico, para a execução ou não da regra.
Caso o utilizador pretenda, ao clicar no botão pode aceder ao tópico Editor de Código. Após o preenchimento deste campo, o utilizador poderá .
Este campo tem intellisense, ou seja, quando é colocada uma letra na caixa de texto é aberta uma caixa com todas as sugestões de código disponíveis para completar aquela palavra, à medida que se vai escrevendo as opções mostradas começadas pelas letras introduzidas vão reduzindo e aproximando do que se pretende. Também se pode pressionar as teclas ctrl + espaço ou ctrl + seta baixo para aparecer essa mesma caixa mas com todas as opções de código disponíveis, sendo que ao escrever texto as opções na caixa vão sendo filtradas.


Mensagem
Neste local é criada a mensagem a dar ao utilizador, no caso da violação da regra. Este campo também tem intellisense, desde que a opção "A mensagem é um programa" esteja ativa.
Caso o utilizador pretenda, poderá , para validar a inexistência de erros.
Nota: Este botão apenas se encontra disponível nas gamas de Advanced e Enterprise.

 




Uma Regra pode ser criada para um ecrã conforme a necessidade do utilizador, mas a definição do(s) package(s) determina onde a mesma será utilizada, por exemplo:
 






     
  •  
  •  
  • Assim, a Regra criada estará presente e condicionará o comportamento da aplicação na Extranet.

     




    Ecrã em modo de consulta





    Exemplos práticos
    Regra obriga determinado campo a ser preenchido (morada de cliente), quando o utilizador tenta gravar o registo. Esta regra será aplicada ao package Intranet

     

    • Em modo de consulta o utilizador tem a possibilidade de usufruir das opções de registo, bem como pesquisar um registo, alterar e/ou apagar o mesmo.
    • .

      Nome do ecrã (sem ASPX) onde vai correr a regra. (i.e. CLFORM): clform

      Expressão a ser validada. Deve retornar TRUE se a regra passa ou FALSE se não passa.

       

      Dim retval As Boolean = True
      Dim dr As DataRow = mainformdataset.Tables("cl").Rows(0)

      ´ verificar se o campo está vazio
      If dr("morada") = "" Then
      retval = False
      End If
      Return retval



      Mensagem esperada: Desculpe, mas deve preencher o campo Morada do Cliente.

      Package: Intranet

      Neste caso, se o utilizador ao introduzir um cliente, quando tentar gravar com o campo "Morada" vazio, será dada a mensagem:



      Regra que não deixa gravar encomendas de clientes no package E-Commerce B2B, quando as mesmas não têm valor:

      Nome do ecrã (sem ASPX) onde vai correr a regra. (i.e. CLFORM): encform

      Expressão a ser validada. Deve retornar TRUE se a regra passa ou FALSE se não passa.

       

      if ctype(mainformdataset.tables("EBO").rows(0).item("etotaldeb"),system.decimal)=0
      return False
      else
      return True
      end if



      Mensagem esperada: Desculpe, mas a encomenda não tem valores. Por favor introduza os artigos que pretende.

      Package:E-Commerce B2B

      Neste caso, se o utilizador ao introduzir uma encomenda, tentar gravar com as linhas da encomenda a zero, será dada a mensagem:
       
    •