Dialog Server Side.help

susinmn

Well-known member
16.10.2007
529
3
#1
Задача: утвердить выделенные документы во view. Причем нужно, если документ не получилось утвердить (есть стоп-условия), нужно вывести диалог со стоп-условиями и вопросом продолжить выполнение остальных документов (Ок/Отмена).

Пытаюсь сделать через Dialog библиотеки XPagesExtensionLibrary. Возможно ли дождаться ответа от пользователя и отловить события нажатия кнопок в диалоговом окне?
 

susinmn

Well-known member
16.10.2007
529
3
#2
Получилось пока только так:

Обрабатываю ssjs выделенные документы во view. Как только в документе возникает стоп-условие:
1. передаю в viewScope стоп-условие
1. передаю в viewScope NoteID оставшихся выделенных документов
2. вывожу Dialog из XPages Extension Library с кнопками OK и Cancel

На кнопке OK ssjs обрабатываю оставшиеся документы c Partial Update view, csjs-XSP.closeDialog('#{id:dialog1}');

Вопрос: в IE после выполнения, при нажатии F5 вылазиет сообщение *Что бы еще раз отобразить эту веб-страницу, веб-обозревателю нужно повторить отправку указанных данных...*. Как это обойти?

P.S.: Если сделать на страничке только view, по кнопке утвердить только обработку выделенных документов, запись стоп-условий в viewTitle и Partial Update view, то при нажатии F5 в IE сообщение не возникает. Если же view поместить в табличку с закладками и переключиться с одной закладки на другой, то после нажатия F5 сообщение вылазиет(
 

susinmn

Well-known member
16.10.2007
529
3
#3
P.S.: Если сделать на страничке только view, по кнопке утвердить только обработку выделенных документов, запись стоп-условий в viewTitle и Partial Update view, то при нажатии F5 в IE сообщение не возникает. Если же view поместить в табличку с закладками и переключиться с одной закладки на другой, то после нажатия F5 сообщение вылазиет(
Помогает context.redirectToPage().
 

susinmn

Well-known member
16.10.2007
529
3
#5
Можно пример как выводите диалог после серверной обработки
Посмотри пример в XPages Extension Library
Код:
var d = getComponent('dialog1');
d.show()
Не стали так делать. Сейчас стоп-условия вывожу по каждому документу через dojo dGrowl. Комментарий при отклонении через xe:tooltipDialog.
 
Последнее редактирование модератором:

alexas1

Lotus team
10.04.2014
723
144
#6
Если же view поместить в табличку с закладками и переключиться с одной закладки на другой, то после нажатия F5 сообщение вылазиет(
Естественно - там не оптимальная логика: работа в клиенте, а логика через жопу сервер. Плохо это. И Дожо этим же часто грешит.
Да и диалоги, часто, лучше делать ручками, через обычный контейнер.
 

lmike

нет, пердело совершенство
Премиум
27.08.2008
6 567
263
#7
Как только в документе возникает стоп-условие
стоп-условие зависит от обработки предыдущих доков или специфично документу?
Если документу - то может стоп условия вынести сразу в клиентскую часть?
м.б. я процесс не правильно понимаю - звиняйте, что помешал общаться :)
 

susinmn

Well-known member
16.10.2007
529
3
#8
стоп-условие зависит от обработки предыдущих доков или специфично документу?
Если документу - то может стоп условия вынести сразу в клиентскую часть?
м.б. я процесс не правильно понимаю - звиняйте, что помешал общаться :)
Изначально делалось это, например, для случая, когда сотрудник пытается утверждить несколько документов, но у него нет доверенности для их утверждения. Что бы не выводить 10 стоп-условий, хотели сделать остановку.