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

Если ответ - да,
то необходимо снова открыть тот же самый счет и внести в него изменения - внести сумму оплаты, статус оплаты. И если у счета указан статус оплачен, то процесс продолжается дальше.

Вопрос состоит в том, каким образом открыть тот же самый счет для изменений, а не новый?

Окно "редактирование данных" я так понимаю не подходит, потому что результатом действия должен быть статус счета, а не "данные отредактированы".
Версия 3.3.1
Спасибо

Нравится

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

Здравствуйте, Дарья!

Для того, чтобы при повторном открытии окна, открывалась карточка счета, созданного ранее, а не нового, Вам нужно:
1. в первом элементе открытия окна создать атрибут RecordID и указать для него некоторый параметр диаграммы (Вам необходимо создать этот параметр и назвать его, например InvoiceID) - см. img001;
2. для второго элемента открытия окна создать аналогичный атрибут и указать для него тот же параметр - img002.

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

Инна Безверхняя,
II линия службы поддержки Terrasoft

Спасибо.
А скажите, пожалуйста, а в скрипте как-то можно создавать эти атрибуты, потому что использовался элемент "счет", а не открытие окна, и нет визуальной настройки атрибутов.

Здравствуйте, Дарья!

Да, этот функционал можно реализовать и при помощи скриптов, если Вы использовали элементы "Счет".
При этом, для первого элемента "Счет" Вам не нужно ничего менять, а вот для второго элемента "Счет" нужно выполнить следующие действия:

1. Создать для него обработчик события OnBeforeExecute (img003);
2. Прописать в этом обработчике следующий скрипт:

function Action5OnBeforeExecute(ActionItem) {
	var Diagram = GetDiagramByItem(ActionItem);
	var InvoiceID = WFGetParamValue(Diagram, 'InvoiceID');
	WFSetParamValue(ActionItem, ActionItem.Name + 'InvoiceID', InvoiceID);	
	WFSetParamValue(ActionItem, 'Continue', true);	
	debugger;
 
}

3. Подключить в скрипт диаграммы Вашего процесса скрипт scr_WorkflowUtils;
4. В скрипте wa_InvoiceActionScript в функции wa_InvoiceActionOnExecute добавить четвертый параметр на вызове функции ShowEditWindowEx:

ShowEditWindowEx('wnd_InvoiceEdit', Attributes, DefaultValues, false);

Инна Безверхняя,
II линия службы поддержки Terrasoft

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