Печать      Открыть версию интерактивной справки в формате PDF


Предыдущий раздел

Следующий раздел

PRE

Функция PRE в инструменте Expression Builder возвращает предыдущее значение заданного поля в период, когда значение этого поля изменено, но еще не обновлено в базе данных.

ВНИМАНИЕ! Настоятельно рекомендуется избегать использования функции PRE вместе с правилами потока операций, содержащими действие ожидания, поскольку это действие влияет на режим работы функции PRE. Все действия, следующие за действием ожидания, будут выполняться только по истечении указанного периода ожидания. Оставшиеся действия выполняются в рамках другой операции пакетной обработки, чем та, в которой было первоначально применено правило, и значения полей, содержавшиеся в записи до выполнения действия, вызвавшего применение правила, не сохраняются. Поэтому считается, что предыдущее значение поля всегда совпадает с текущим значением.

Синтаксис

PRE('<fieldname>')

Тип результата

Строка

Аргументы

В следующей таблице приведено описание аргументов функции.

Аргумент

Описание

fieldname

Имя измененного поля.

ПРИМЕЧАНИЕ. Независимые от языка имена полей и синтаксис имен полей в любых примерах выражений в этом разделе - это имена полей и синтаксис имен полей, которые использовались в Expression Builder до выпуска 29 с пакетом обновлений 1. Эти примеры по-прежнему являются допустимыми. Однако если выбрать соответствующие поля для выражения в списке полей в Expression Builder в выпуске 29 с пакетом обновлений 1 или последующих версиях, имена полей и синтаксис имен полей будут отличаться от тех, которые показаны в примерах. Рекомендуется выбирать поля для выражений в списке полей в Expression Builder, чтобы имена полей и синтаксис имен полей всегда были правильными. Дополнительные сведения об именах полей и синтаксисе имен полей в выражениях см. в разделе О выражениях.

При использовании функции PRE необходимо учитывать следующее:

  • Если функция PRE используется для получения предыдущего значения поля в условных выражениях, таких как условия потока операций или инструкции проверки, следует помнить, что начальное значение поля может быть пустым (null). Сравнение такого значения со значением, отличным от null, приведет к непредсказуемым результатам. Чтобы обеспечить правильное вычисление условных выражений в подобных случаях, используйте функцию PRE вместе с функцией IfNull, как показано в следующем примере:

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

    В этом примере для замены значения null используется текстовая строка Invalid, но можно указать и любую другую строку, не принадлежащую к числу значений данного поля.

  • Если функция PRE используется в правиле или действии потока операций, вызываемом после действия ожидания, функция не возвращает предыдущее значение поля. Однако в компании может использоваться бизнес-процесс, в котором требуется выполнять такие сравнения. В подобных случаях можно использовать правило потока операций, инициируемое событием "Перед сохранением измененной записи", для сохранения предыдущего значения поля в любом неиспользуемом поле типа записи. Затем это сохраненное значение поля можно использовать в сравнениях, задаваемых правилами потока операций с действием ожидания.

    При создании правила потока операций для сохранения предыдущего значения поля в неиспользуемом поле типа записи следует помнить, что предыдущее значение исходного поля может оказаться пустым (null). Поэтому, чтобы при обнаружении значения null сохранить значение по умолчанию, используйте выражение наподобие следующего:

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

    В этом примере для замены значения null значением по умолчанию используется текстовая строка Invalid, но можно указать и любую другую строку, не принадлежащую к числу значений исходного поля.

Пример создания правила потока операций для отправки сообщения электронной почты предыдущему владельцу записи организации

В следующем примере показано, как создать правило потока операций, позволяющее при смене владельца записи организации отправлять сообщение электронной почты предыдущему владельцу записи.

Создание правила потока операций для отправки сообщения электронной почты предыдущему владельцу записи организации

  1. Создайте правило потока операций для типа записи "Организация" с инициирующим событием "При сохранении измененной записи".
  2. Сохраните правило потока операций.
  3. Создайте действие "Добавление сообщения электронной почты" для правила потока операций.
  4. Настройте действие потока операций следующим образом:
    1. В списке "Кому" выберите "Конкретный адрес электронной почты".
    2. В текстовом поле выражения "Кому" введите следующее выражение:

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

    3. Заполните поля темы и текста сообщения электронной почты.
    4. Сохраните действие для правила потока операций.

Связанные разделы

Информацию об инструменте Expression Builder, связанную с данной темой, см. в следующих разделах.


Опубликовано в Октябрь 2016 Copyright © Oracle, 2005, 2016 гг. Все права защищены.Legal Notices.