Как задать вопрос пользователю перед выполнением кода?: различия между версиями
Перейти к навигации
Перейти к поиску
Irit (обсуждение | вклад) Нет описания правки |
Irit (обсуждение | вклад) Нет описания правки Метки: ручная отмена визуальный редактор отключён |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 7: | Строка 7: | ||
Чтобы задать вопрос программно, используется механизм ОписаниеОповещений. | Чтобы задать вопрос программно, используется механизм ОписаниеОповещений. | ||
Для формирования вопроса необходимо добавить кнопку и определить у нее команду. Затем заполнить по примеру ниже:<syntaxhighlight | Для формирования вопроса необходимо добавить кнопку и определить у нее команду. Затем заполнить по примеру ниже: | ||
<syntaxhighlight> | |||
&НаКлиенте | &НаКлиенте | ||
Процедура МояКнопка(Команда) | Процедура МояКнопка(Команда) |
Текущая версия от 11:32, 14 июля 2023
Вопрос:
Как задать вопрос пользователю программно перед выполнением кода, например когда нужно предупредить о наличии данных перед очисткой и заполнением?
Ответ:
Чтобы задать вопрос программно, используется механизм ОписаниеОповещений.
Для формирования вопроса необходимо добавить кнопку и определить у нее команду. Затем заполнить по примеру ниже:
&НаКлиенте
Процедура МояКнопка(Команда)
Если ВыполняетсяУсловие Тогда
Оповещение = Новый ОписаниеОповещения("МояКнопкаЗавершение", ЭтаФорма);
ПоказатьВопрос(Оповещение, "Мой вопрос. Ответишь?", РежимДиалогаВопрос.ДаНет);
Иначе
МояКнопкаЗавершение(КодВозвратаДиалога.Да, Неопределено);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура МояКнопкаЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат = КодВозвратаДиалога.Да Тогда
ДальнейшееДействие();
КонецЕсли;
КонецПроцедуры
Такой метод формирования вопроса не блокирует интерфейс пользователя, код после выполнения процедуры "ПоказатьВопрос" продолжает выполняться дальше, если необходимо. После нажатия на кнопку управление перейдет к процедуре "МояКнопкаЗавершение", где в поле "Результат" будет указан ответ пользователя.