Действие после сохранения карточки

Добрый день всем.
Подскажите возможные варианты решения задачки.
Необходимо перед сохранением карточки задать пользователю вопрос с вариантами(с этим проблем нет). Затем, на основании пользовательского выбора и после сохранения карточки выполнить действие. Так вот как можно отслеживать какой вариант выбрал пользователь?

К примеру есть карточка контакта. Перед сохранением пользователю задаётся вопрос с 2 вариантами.
При выборе 1 варианта, после сохранения карточки необходимо выполнить 1 действие, ну и соответственно при выборе 2 варианта 2 действие.

Думал реализовать действия в бизнес процессе, который запускается после сохранения карточки, но как туда передать выбранное пользователем действие(параметр)?

Нравится

4 комментария

Здравствуйте!

Дизайн процесса:
1. Стартовый сигнал по добавлению/изменению записи в объекте [Контакт].
2. Элемент [Вопрос пользователю]. Указать варианты ответов.
После пункт 2 идут условные потоки. Каждый условный поток содержит один из вариантов.
Пользовательская логика.

Условно:
Если пользователь выбрал 1-ый вариант - > Изменить данные в контакте, где Id = Стартовый сигнал. Id, установить Тип контакта = Сотрудник
Если пользователь выбрал 2-ой вариант - > Изменить данные в контакте, где Id = Стартовый сигнал. Id, установить Тип контакта = Партнер

Здраствуйте.
Бизнес процесс будет запущен после того как карточка сохранена. А запрос пользователю должен поступить до сохранения, на тот случай если пользователь вместо выбора варианта нажмёт отмену

Чисто в теории

this.showConfirmationDialog(message, function(result) {
	if (result !== this.Terrasoft.MessageBoxButtons.YES.returnCode) {
		this.set("flag", true);     //если "да", то устанавливаем какой-нибудь аттрибут в true или в аттрибут записываем что-либо
		this.save({callback: this.aftersavefunction});
	}
}, ["yes", "no"]);

после save приходим в нашу функцию

aftersavefunction: function() {
	var flag = this.get("flag"); //в зависимости от аттрибута делаем что хотим
	/*code*/
}

Небольшое замечание: callback сработает только если также выставить isSilent в true.

Итого:

this.save({callback: this.aftersavefunction, isSilent: true});

 

Показать все комментарии