Loading
Сценарии действий перехода на состояние объекта в Salesforce Contracts

Сценарии действий перехода на состояние объекта в Salesforce Contracts

Эти сценарии содержат важную информацию, которую нужно учитывать при настройке действий для контракта.

Сценарий 1

Статус контракта не меняется, поскольку логика класса Apex и соотнесение перехода в состояние не совпадают. А вот и пример:

  1. Контракт находится в состоянии черновика.

  2. Вы настраиваете:

    • Определение действия состояния объекта посредством Apex Type DraftToInApproval.

    • Действие перехода состояния объекта из черновика в в утверждение для действия DraftToInApproval.

    • Класс Apex ChangeStatus.apxc с логикой, перемещающей контракт из черновика в отмененный.

  3. При нажатии кнопки DraftToInApproval контракт не перемещается из «Черновик» в «В утверждении». Класс Apex выполняет заданную логику и перемещает контракт из Черновика в Отмененное в качестве промежуточного состояния.

  4. Если переход состояния объекта содержит переход, который перемещает контракт из «Отменено» в «В утверждении», контракт возвращается в исходное черновое состояние.

    Примечание
    Примечание Чтобы перевести контракт из состояния «Черновик» в состояние «В утверждении», необходимо создать переход состояния объекта из «Отменено» в «В утверждении».
  5. Окончательное состояние контракта - Черновик.

Сценарий 2

Статус контракта меняется, даже если логика класса Apex и соотнесение перехода состояния не совпадают — поскольку переход состояния объекта содержит все обязательные переходы. А вот и пример:

  1. Контракт находится в состоянии черновика.

  2. Вы настраиваете:

    • Определение действия состояния объекта посредством Apex Type DraftToCanceled.

    • Действие перехода состояния объекта из черновика в отмененное для действия DraftToCanceled.

    • Класс Apex StatusChange.apxc с логикой, перемещающей контракт из черновика в утверждение.

  3. При нажатии кнопки DraftToCanceled контракт перемещается с «Черновик» на «В утверждении» на «Отменено», так как существует стандартный переход с InApproval_ на_Canceled.

  4. Окончательное состояние контракта: «Отменено».

Сценарий 3

Статус контракта не меняется при нажатии кнопки действия состояния объекта, поскольку выполнение класса Apex уже обновило статус контракта. А вот и пример:

  1. Контракт находится в состоянии черновика.

  2. Вы настраиваете:

    • Определение действия состояния объекта посредством Apex Type DraftToInApproval.

    • Действие перехода состояния объекта из черновика в в утверждение для действия DraftToInApproval.

    • Класс Apex ChangeStatus.apxc с логикой, перемещающей контракт из черновика в утверждение.

  3. При нажатии кнопки «DraftToInApproval» контракт уже находится в процессе утверждения, так как класс Apex уже выполнил логику, заданную в классе, который перемещает контракт из черновика в «В утверждении» в качестве промежуточного состояния. Таким образом, статус контракта остается «На утверждении», так как он является действительным.

  4. Окончательное состояние контракта: «В утверждении».

Сценарий 4

Определение состояния объекта содержит несколько связанных действий перехода к состоянию объекта. Действия перехода в состояние объекта имеют одинаковое состояние «От» и разные состояния «К». Приложение Salesforce Contracts обновляет статус контрактов на основе заданных переходов и действий. При наличии отличий между логикой класса Apex и определенными переходами приложение пытается выполнить определенные переходы. А вот и пример:

  1. Контракт находится в состоянии черновика.

  2. Вы настраиваете:

    • Определение действия состояния объекта посредством Apex Type DraftToFinalStatus.

    • Действие перехода состояния объекта из черновика в в утверждение для действия DraftToFinalStatus.

    • Действие перехода состояния объекта из черновика в активированное для действия DraftToFinalStatus.

  3. Ниже указаны два варианта настройки класса Apex и их итоговые результаты.

    Примечание
    Примечание Для успеха вызовов Apex в этом сценарии параметр finalStatusValue является обязательным.
    Параметр Сценарии
    Создайте класс Apex ChangeStatus.apxc с логикой, перемещающей контракт из черновика в «В утверждении».
    • Если finalStatusValue установлен на «В процессе утверждения», контракт перемещается из черновика в процесс утверждения.

    • Если finalStatusValue установлено на «Активировано», переход не выполняется, поскольку путь не определен из «В процессе утверждения» в «Активировано». Контракт остается в статусе «Черновик».

    Создайте класс Apex ChangeStatus.apxc с логикой, перемещающей контракт из черновика в активированный.
    • Если finalStatusValue установлен на «Активировано», контракт перемещается из черновика в активирован.

    • Если finalStatusValue установлено на «В процессе утверждения», переход не выполняется, поскольку путь не определен из «Активировано» в «В процессе утверждения». Контракт остается в статусе «Черновик».

 
Загрузка
Salesforce Help | Article