Имя: Пароль:
1C
1С v8
Немодальный вопрос перед отменой проведения из списка
0 Bolik1979
 
19.08.15
13:35
Такая проблема - перед отменой проведения документа из списка, нужно задать вопрос и в зависимости от ответа пользователя сделать доп. действия. Как правильно задать немодальный вопрос?
1 Апош
 
19.08.15
13:37
предлагаю задать так: "а действительно ли мне это надо?"
2 Fish
 
19.08.15
13:38
СП: Если для конфигурации свойство РежимИспользованияМодальности установлено в НеИспользовать, следует использовать метод ПоказатьВопрос."
3 Bolik1979
 
19.08.15
13:38
(1) Вопрос задать надо. В соответствии с рекомендациями 1С хотелось бы задавать пользователю немодальный вопрос
4 Bolik1979
 
19.08.15
13:39
(2) В процедуру ДокументСписокПередОтменойПроведения пишу ЗадатьВопрос. Но после показа вопроса отмена проведения продолжится, а мне бы дождаться ответа пользователя
5 Enterprise
 
19.08.15
13:41
6 Bolik1979
 
19.08.15
13:51
(5) Спасибо за ссылку. Похоже так просто такое не сделать :-(
7 Fram
 
19.08.15
13:55
(4) СтандартнаяОбработка = Ложь не поможет?
8 Fram
 
19.08.15
13:58
(4) заглянул в список событий дин. списка, и не нашел такого события.
9 Ymryn
 
19.08.15
13:58
(0) как вариант могу предложить проверять по параметру. Нет параметра - Отказ = Истина (т.е. отменяем выполнение действия). Есть параметр - продолжаем. А дальше по умолчанию параметра нет.
В функции, которая вызывается после срабатывания немодального вопроса, устанаваливаем параметр, вызываем отмену проведения еще раз.
10 Bolik1979
 
19.08.15
14:00
(7) ДокументСписокПередОтменойПроведения(Элемент, Отказ) - нет "СтандартнаяОбработка". Отказ вызовет системное окно с отказом проведения

(8) Толстый клиент, обычные формы :-(
11 Ymryn
 
19.08.15
14:00
(4) это специфика немодального вопроса. Выполнение процедуры продолжается и не ждет ответа (с этим ничего не сделаешь, ибо так и должно быть).
Вообще в этом плане лучше задавай вопросы в форме, при нажатии кнопочки. А уже потом определяй действие (отменять проведени или писать сообщение).
Но если не хочется рисовать свою кнопочку с поведением, то вариант в (9).
12 Bolik1979
 
19.08.15
14:02
(9) Не понял. После вопроса вызываются обработчики при отмене проведения, ПередЗаписью, ПриЗаписи, ПриОтменеПроведения. Я могу, к примеру анализировать там какой-нибудь флаг из доп.свойств, но тогда придется менять вообще все вызовы записи данного документа в коде
13 Ymryn
 
19.08.15
14:07
(12) после немодального вопроса, ты можешь вызвать свою процедуру. В этой процедуре уже вызываешь повторно отмену проведения, но уже с параметром.
В самой отмене проведения ставишь, что если параметра нет - то отменить проведение нельзя. По умолчанию параметра нет, он устанавливается только в процедуре после вопроса.  (т.е. исключаем все случаи отмены проведения кроме как через вопрос).
14 Fram
 
19.08.15
14:07
(10) РежимИспользованияМодальности  на обычные формы тоже распространяется?
15 mistеr
 
19.08.15
14:08
(0) Хранить ответ на этот вопрос в виде реквизита документа.
16 Bolik1979
 
19.08.15
14:11
(13) В этом случае стандартные кнопки отмены проведения в форме документа, к примеру, не сработают. Это придется в каждой форме дописывать этот алгоритм, что не хотелось бы конечно

(14) Сейчас "Режим использования модальности" = "Использовать", но 1C рекомендует писать немодальные вопросы, так что заранее бы озаботиться )
17 mistеr
 
19.08.15
14:12
(16) Пойми наконец, что "немодальный" == "не ждет ответа".
18 Fram
 
19.08.15
14:13
(16) какой смысл в интерфейсе обычных форм?! Потому что твоя задача касается именно интерфейса
19 Bolik1979
 
19.08.15
14:16
(17) Я это прекрасно понимаю )
Вопрос был - как сделать красивее немодальный вопрос.
По ссылке из (5) разбирается похожий вопрос по процедуре "Перед записью". 1С пишет что, существует 3 варианта, но у  всех есть недостатки

(18) Я могу конечно задать и обычный вопрос - конфигурация позволяет, но хотелось бы знать как это делается "по-новому" :-)
20 Ymryn
 
19.08.15
14:18
(19) по новому, самый правильный вариант не задавать такие вопросы и перестраивать систему, чтобы этого не пришлось делать.
21 Bolik1979
 
19.08.15
14:37
Оказывается "Отказ = Истина" в процедуре ДокументСписокПередОтменойПроведения не вызывает никаких системных окон. Так что проблем особых с вопросом не возникло, спасибо всем за помощь