|
Задать пользователю вопрос с остановкой исполнения. | ☑ | ||
---|---|---|---|---|
0
Любопытная
16.12.14
✎
06:24
|
БП 3.0, отказ от модальности, все дела.
Нужно задать пользователю вопрос и в зависимости от ответа продолжить записывать документ, либо вернуться к его (документа) заполнению. Метод ПоказатьВопрос красивый и все такое, но "Выводит на экран окно вопроса, при этом не ожидается завершения ответа пользователя." (цитата из СП). Т.е. на самом деле платформа сначала документ запишет и проведет, а потом уже покажет диалог вопроса. Что делать? |
|||
1
Wobland
16.12.14
✎
06:47
|
делать что-нибудь такое, чтобы _начать_ делать новый документ, имея ответ пользователя. это общий принцип управляемого режима ;)
|
|||
2
sda553
16.12.14
✎
06:57
|
(0) Сделать подготовительные операции к проведению, сформировать необходимые настройки, щадать вопрос. Потом запускать само проведение
|
|||
3
Oleg_ka
16.12.14
✎
06:59
|
Попытка Исключение более ничего в голову не приходит
|
|||
4
lxndr
16.12.14
✎
07:09
|
отказать в проверказаполнения
|
|||
5
Любопытная
16.12.14
✎
07:14
|
(4) Мне не надо безусловно отказывать.
Вот у меня есть реквизит документа типа дата. Он указывает на окончание некого действия. При записи есть проверка на время окончания, и если время 00:00, то нужно пользователю указать на это и спросить - а точно мы приплыли в полночь? Может просто время не указали. А может и правда в полночь приплыли. И в зависимости от ответа мне нужно либо продолжить запись и проведение документа, либо вернуться к редактированию. |
|||
6
фобка
16.12.14
✎
07:16
|
Не записывать документ и всего делов) просто спросить, а если нажмет Записать - записать
|
|||
7
Любопытная
16.12.14
✎
07:17
|
(6) вот тут не поняла
|
|||
8
фобка
16.12.14
✎
07:18
|
(7) нарисуй кнопку с вопросом и описанием оповещения
|
|||
9
Любопытная
16.12.14
✎
07:19
|
(8) ага, и заменять все кнопки командной панели?
|
|||
10
фобка
16.12.14
✎
07:19
|
тв не начинаешь запись когда спрашиваешь, ты начинаешь когда юзер нажимает Да
|
|||
11
фобка
16.12.14
✎
07:20
|
(9) откажись от немодальности)
|
|||
12
Любопытная
16.12.14
✎
07:22
|
(11) я б с удовольствием, но это БП 3.0 и она отказалась от модальности(
|
|||
13
фобка
16.12.14
✎
07:31
|
(12) я с таким не работал. Действительно интересно, этож типовая конфа и ситуация стандартная. Каковы рекомендации 1с?
|
|||
14
lxndr
16.12.14
✎
07:42
|
заставить пользователя всегда вводить время
|
|||
15
Любопытная
16.12.14
✎
07:55
|
(14) по условиям задачи считается, что пароход действительно может приплыть в полночь. Может и все тут. Никаких одна минута первого ночи не представляется заказчику корректным.
|
|||
16
фобка
16.12.14
✎
07:57
|
(15) при создании документа один раз попросить ввести время
|
|||
17
Любопытная
16.12.14
✎
07:59
|
В общем, сделала вот так:
В процедуре ПередЗаписью на форме //Проверка ввода времени прибытия помимо даты Если Объект.ВремяПрибытияФактическое = НачалоДня(Объект.ВремяПрибытияФактическое) и не Параметры.ПриплылиВПолночь Тогда Отказ = Истина; ПараметрыОповещения = Новый Структура("ИмяРеквизита","ВремяПрибытияФактическое"); Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопроса",ЭтаФорма,ПараметрыОповещения); ПоказатьВопрос(Оповещение,"Рейс действительно закончился в 00 часов 00 минут?",РежимДиалогаВопрос.ДаНет,,,"Внимание",); КонецЕсли; &НаКлиенте Процедура ПослеЗакрытияВопроса(Результат,ПараметрыОповещения) Экспорт Если Результат = КодВозвратаДиалога.Нет Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Установите корректное "+Элементы[ПараметрыОповещения.ИмяРеквизита]; Сообщение.Поле = "Объект."+ПараметрыОповещения.ИмяРеквизита; //Сообщение.УстановитьДанные(); Сообщение.Сообщить(); Иначе Если ПараметрыОповещения.ИмяРеквизита = "ВремяПрибытияФактическое" Тогда Параметры.ПриплылиВПолночь = Истина; Иначе Параметры.ОтплылиВПолночь = Истина; КонецЕсли; ЭтаФорма.Записать(); КонецЕсли; КонецПроцедуры ПрипылиВПолночь и ОтплылиВПолночь это параметры формы. Пришлось сделать их ключевыми, чтобы они передавались. Зато все проверяется |
|||
18
Oleg_ka
16.12.14
✎
08:02
|
||||
19
Любопытная
16.12.14
✎
08:03
|
(18) Спасибо. Надо почитать.
|
|||
20
sda553
17.12.14
✎
07:23
|
В таких случаях, просто представьте: а как бы работало какое нибудь не 1с-ное веб решение в браузере?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |