Imprimir      Abrir versão PDF da ajuda online


Tópico anterior

Tópico seguinte

PRE

A função PRE do Expression Builder devolve o valor anterior do campo especificado quando o valor do campo é modificado antes de o valor ser atualizado na base de dados.

ATENÇÃO: Recomenda-se vivamente que não utilize a função PRE em conjunto com regras de fluxos de trabalho que contenham uma ação Espera, porque a ação Espera afeta a função PRE. Quaisquer ações a seguir à ação Espera não são executadas até que o período de espera especificado tenha expirado. As restantes ações são executadas numa operação do lote diferente da operação em que a regra foi originalmente acionada e os valores dos campos no registo anteriores à ação que acionou a regra de fluxos de trabalho não são preservados. Assim, o valor anterior e o valor atual do campo são sempre considerados como sendo o mesmo.

Sintaxe

PRE('<fieldname>')

Tipo de resultado

Cadeia

Argumentos

A tabela seguinte descreve os argumentos para a função.

Argumento

Descrição

fieldname

O nome do campo que foi modificado.

NOTA: Os nomes de campos independentes da língua e a sintaxe do nome do campo utilizada em quaisquer expressões de exemplo neste tópico são os nomes de campos e a sintaxe do nome do campo que foram utilizados no Expression Builder em versões anteriores à Versão 29 do Service Pack 1. Estes exemplos ainda são válidos. No entanto, se selecionar os campos correspondentes para uma expressão a partir da lista de Campos no Expression Builder na Versão 29 do Service Pack 1 ou posterior, os nomes de campos e a sintaxe do nome do campo serão diferentes dos apresentados nos exemplos. É recomendado que selecione sempre os campos para as expressões da lista de Campos no Expression Builder, para que os nomes de campos e a sintaxe do nome do campo estejam sempre corretos. Para obter mais informações sobre os nomes de campos e a sintaxe do nome do campo nas expressões, consulte Acerca de Expressões.

As considerações seguintes aplicam-se quando a função PRE é utilizada:

  • Nas expressões condicionais, tais como as condições de fluxo de trabalho e as declarações de validação, quando utiliza a função PRE para obter o valor anterior de um campo, lembre-se que o valor inicial do campo poderá estar em branco (ou seja, um valor nulo). Se o valor inicial for nulo, qualquer comparação com um valor não nulo resultará num comportamento imprevisível. Para garantir que as expressões condicionais são avaliadas de forma correta nesses casos, utilize a função PRE com a função IfNull como mostrado no exemplo seguinte:

    IfNull([<FieldName>], "Invalid") <> IfNull(PRE('<FieldName>'), "Invalid")

    Neste exemplo, a cadeia de texto Inválido é utilizado para substituir o valor nulo, mas pode utilizar qualquer cadeia que pretender, desde que a cadeia não exista como um valor que esteja a ser examinado.

  • Se a função PRE for utilizada numa regra ou ação de fluxo de trabalho invocada depois de uma ação Espera, a função não devolve o valor anterior de um campo. No entanto, poderá ter um processo de negócio que necessita dessas comparações. Nesses casos, poderá utilizar uma regra de fluxo de trabalho com o evento de acionador Antes de um registo modificado ser guardado para armazenar o valor anterior de um campo em qualquer campo não utilizado no tipo de registo. Poderá utilizar um valor de campo armazenado para quaisquer comparações necessárias nas regras de fluxo de trabalho que têm uma ação Espera.

    Quando cria a regra de fluxo de trabalho para armazenar o valor anterior de um campo num campo não utilizado no tipo de registo, lembre-se que o valor anterior do campo original poderá estar em branco (ou seja, um valor nulo). Assim, terá de utilizar uma expressão, como a seguinte, para armazenar um valor predefinido se um valor nulo for encontrado:

    IfNull([<FieldName>], "Invalid")

    Neste exemplo, a cadeia de texto Inválido é o valor predefinido que é utilizado para substituir um valor nulo, mas pode utilizar qualquer cadeia que pretender, desde que a cadeia não exista como um valor no campo original.

Exemplo de criação de uma regra de fluxo de trabalho que envia uma mensagem de correio eletrónico ao proprietário anterior de um registo de conta

O seguinte é um exemplo de como criar uma regra de fluxo de trabalho que envia uma mensagem de correio eletrónico ao proprietário anterior de um registo de conta quando o proprietário do registo é alterado.

Para criar uma regra de fluxo de trabalho que envia uma mensagem de correio eletrónico ao proprietário anterior de um registo de conta

  1. Crie uma regra de fluxo de trabalho para o tipo de registo Conta com o evento de acionador Quando o registo modificado é gravado.
  2. Guarde a regra de fluxo de trabalho.
  3. Crie uma ação Adicionar um endereço de correio eletrónico na regra de fluxo de trabalho.
  4. Na ação de fluxo de trabalho, proceda da seguinte forma:
    1. No campo Para, selecione Endereço de correio eletrónico específico.
    2. Na caixa de texto da expressão do campo Para, adicione a expressão seguinte:

      JoinFieldValue('<User>', IfNull(PRE('<OwnerId>'), "admin@mycompany.com"),'<EMailAddr>')

    3. Adicione o texto necessário no assunto e no corpo da mensagem de correio eletrónico.
    4. Guarde a ação de fluxo de trabalho.

Tópicos relacionados

Consulte os tópicos seguintes para obter informações do Expression Builder relacionadas:


Publicado em Agosto 2018 Copyright © 2005, 2018, Oracle. Todos os direitos reservados. Legal Notices.