Имя: Пароль:
1C
 
Как в ПередЗаписью установить отказ после вопроса? Модальность запрещена
0 toypaul
 
гуру
13.02.17
15:12
В конфигурации запрещена модальность. Но перед записью нужно спросить пользователя и в зависимости от ответа или разрешить запись или запретить.

Как выкручиваться?
1 Вафель
 
13.02.17
15:13
Своя кнопка записать
2 toypaul
 
гуру
13.02.17
15:14
А если закрыл и записал
3 Вафель
 
13.02.17
15:15
также своя кнопка "записать и закрыть"
4 toypaul
 
гуру
13.02.17
15:15
не записал и закрыл. а закрыл, а тебя система спрашивает - записать изменения или нет
5 b_ru
 
13.02.17
15:17
Добавляем реквизит на форму РежимЗакрытия. По умолчанию пусть будет Ложь
ПередЗакрытием смотрим, если Не РежимЗакрытия, тогда Отказ = Истина и спрашиваем. А если РежимЗакрытия = Истина, тогда закрываемся.
6 Fragster
 
гуру
13.02.17
15:18
без своей кнопки никак
7 Fragster
 
гуру
13.02.17
15:18
потому что в перед записью никак не определить, нажал юзер на записать или на записать и закрыть
8 rozer76
 
13.02.17
15:19
Вопрос в обработчике формы ПередЗаписью

В обработчике события формы ПередЗаписью также может возникнуть потребность задать вопрос. Как и в предыдущем примере. Однако здесь вопрос так просто не решается. Отличие заключается в следующем.

В предыдущем примере, оказываясь в обработчике ПередЗакрытием, мы однозначно знали действие, которое должно быть выполнено. Это закрытие формы. Поэтому в обработке оповещения мы смело писали Закрыть().

Но в обработчике ПередЗаписью мы такой однозначной информации не имеем. В этом обработчике мы можем оказаться по двум причинам: если пользователь нажал Записать, или если он нажал Записать и закрыть. То есть дальнейший сценарий действий нам неизвестен. Определить его стандартными способами, находясь внутри этого обработчика, мы не можем.

Поэтому тут можно предложить три варианта, но все они, к сожалению, обладают недостатками:

    Изменить логику прикладного решения так, чтобы не было диалога с пользователем в этом обработчике. Это не всегда возможно;
    В обработке оповещения с помощью собственной блокирующей формы задавать пользователю развернутый вопрос, предполагающий точное описание дальнейших действий: Отказаться?, Только записать?, Записать и закрыть? Это может выглядеть не очень красиво, ведь пользователь уже нажал "Записать и закрыть", а его опять об этом спрашивают;
    Не использовать стандартные команды формы Записать, "Записать и закрыть". Вместо них создать собственные команды, в которых и выполнять необходимые алгоритмы. Создание собственных команд потребует дополнительных трудозатрат.
9 rozer76
 
13.02.17
15:19
10 toypaul
 
гуру
13.02.17
15:24
тут целая поэма на этот счет http://catalog.mista.ru/public/372973/

казалось бы простая задача , да?

меня прям умиляют защитники УФ, когда им говоришь, что в УФ куча головняков (на пустом месте). а они только и знают, что про прямые руки.
11 olegves
 
13.02.17
15:25
(0) 1. проверить наличие Параметра записи, напр, "Программно" Если параметр есть обходить задавание вопроса.
2. Если параметра нет, то задавать вопрос и уходить в отказ.
3. в процедуре обработки ответа если надо записать, то записать программно с установлением параметра записи "Программно"
Как-то так
12 olegves
 
13.02.17
15:27
(10) этот головняк имеет отношение не к УФ, а к браузеру Хром и подобным
13 Fragster
 
гуру
13.02.17
15:27
(10) уф и то, что 1с называет "отказом от модальности" (который по факту не является отказом от модальности) и "асинхронностью" (которая не является асинхронностью) - разные вещи. к сожалению., за ту неделю, которую 1с пилила поддержку хрома, когда он запретил блокирование основного потока, они не смогли сделать по нормальному, а потом уже было "нельзя нарушать обратную совместимость", и, что еще хуже - признавать то, что можно было выпустить через две недели, но с автоматическим async/await тем самым признав ошибку
14 toypaul
 
гуру
13.02.17
15:28
(12) если бы разработчики озаботились проблемами программистов, то добавили еще какой-нить обработчики. ПослеПослеЗаписи :)
15 Вафель
 
13.02.17
15:30
(14) Чтобы 1с озаботилось проблемами программистов? не в этой жизни
16 toypaul
 
гуру
13.02.17
15:31
(15) да ладно. чо уж поныть нельзя :)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший