Добрый день всем.
Подскажите возможные варианты решения задачки.
Необходимо перед сохранением карточки задать пользователю вопрос с вариантами(с этим проблем нет). Затем, на основании пользовательского выбора и после сохранения карточки выполнить действие. Так вот как можно отслеживать какой вариант выбрал пользователь?
К примеру есть карточка контакта. Перед сохранением пользователю задаётся вопрос с 2 вариантами.
При выборе 1 варианта, после сохранения карточки необходимо выполнить 1 действие, ну и соответственно при выборе 2 варианта 2 действие.
Думал реализовать действия в бизнес процессе, который запускается после сохранения карточки, но как туда передать выбранное пользователем действие(параметр)?
Нравится
Здравствуйте!
Дизайн процесса:
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});