1С 8.3 Задать вопрос после записи (Асинх) - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Задать вопрос после записи (Асинх)

Данные > Примеры кода 1С > 1С 8.3 Диалоги
Перейти в раздел примеры кода 1С 8.3:
Задать вопрос после закрытия обработчика в 1С 8.3 (с телеграм канала Ju):

// Иногда хочется задать вопрос уже после записи (например, элемента справочника).
// Т.е. уже в тот момент, когда прошли все проверки заполнения и мы точно знаем, что "всё ок".
// Например, открыть какую-то дополнительную форму или добавить комментарий истории данных.

// Чтобы задать вопрос, необходимо делать это, например, в событии "ПослеЗаписи".
// Это может быть вопрос или через обработчик оповещения, или через новый Асинх метод.
// Но в обоих случаях, если пользователь нажмёт "Записать и закрыть", то вопроса он не увидит.

// Но если вам всё же нужно задавать вопрос и в таком случае, то есть интересный костыль, связанный с особенностью Асинх в 1С.
// Нужно в самом начале асинх процедуры с вопросом вставить такую строчку:  Ждать 1
// На этом всё, расходимся)

// Смысл в том, что, как только срабатывает оператор Ждать, то управление возвращается в вызывающий код.
// Событие ПослеЗаписи завершается и закрывает форму, а потом платформа снова возвращается в наш Асинх метод
// и далее уже задаёт вопрос. Теперь этот вопрос с формой и не связан и мы можем на него спокойно ответить.


&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)

   ЗадатьВопросАсинх();

КонецПроцедуры


&НаКлиенте
Асинх Процедура ЗадатьВопросАсинх()

   Ждать 1;

   Ответ = Ждать ВопросАсинх("Сделать ещё что-то?", РежимДиалогаВопрос.ДаНет);
   Если Ответ = КодВозвратаДиалога.Да Тогда
       // Делаем ещё что-то
   КонецЕсли;

КонецПроцедуры

0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 12.03.2024
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому