1С 8.3 Правила создания диалоговых окон
Данные > Примеры кода 1С > 1С 8.3 Диалоги
Перейти в раздел примеры кода 1С 8.3:
Основные правила для сообщения об ошибке (с телеграм форума):
🚩 Расскажите пользователю, что он сделал или что произошло
🚩 Объясните проблему
🚩 Объясните как исправить ошибку
🚩 Используйте активный, а не пассивный залог
🚩 Приведите пример
Диалоговое окно открывается для вопроса или предупреждения пользователю. Это блокирующее сообщение, которое требует обязательного внимания пользователя. Обычно выводится для необратимых действий, например, очистка табличной части или установка особого режима работы.
Правила для хорошего диалогового окна:
🚩 Сообщение диалога должно быть понятным. Важно рассказать, что планируется сделать и что требуется от пользователя. Сам вопрос лучше начинать с новой строки, чтобы явно выделить действие.
🚩 Описания действий на кнопках должны быть четкие. В утвердительной кнопке лучше повторить действие из вопроса, которое запрашивается у пользователя. Стоит обратить внимание на действия со словом Отмена, чтобы избежать ситуаций, когда будет две кнопки «Да, отменить» и «Отменить».
🚩 У пользователя должна быть возможность закрыть диалог без выбора действия. Обычно пользователь для этого закрывает диалог по крестику в правом верхнем углу. Но если нет кнопки с КодВозвратаДиалога.Отмена, то иконка будет доступна. Стоит такую кнопку добавлять самостоятельно, например, вместо негативного действия.
Пример диалога в 1С 8.3:
&НаКлиенте
Процедура ЗадатьВопрос()
ТекстВопроса =
"Для отключения уведомлений и комфортной работы рекомендуем использовать режим тишины.
|В этом режиме будут приходить только важные уведомления
|
|Установить режим тишины?";
Кнопки = Новый СписокЗначений;
Кнопки.Добавить(КодВозвратаДиалога.Да, "Установить режим тишины");
Кнопки.Добавить(КодВозвратаДиалога.Отмена, "Нет, оставить как есть);
ОписаниеОповещения = Новый ОписаниеОповещения("УстановитьРежимТишиныЗавершение", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, Кнопки);
КонецПроцедуры
Процедура ЗадатьВопрос()
ТекстВопроса =
"Для отключения уведомлений и комфортной работы рекомендуем использовать режим тишины.
|В этом режиме будут приходить только важные уведомления
|
|Установить режим тишины?";
Кнопки = Новый СписокЗначений;
Кнопки.Добавить(КодВозвратаДиалога.Да, "Установить режим тишины");
Кнопки.Добавить(КодВозвратаДиалога.Отмена, "Нет, оставить как есть);
ОписаниеОповещения = Новый ОписаниеОповещения("УстановитьРежимТишиныЗавершение", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, Кнопки);
КонецПроцедуры
Пример диалога на Асинх в 1С 8.3:
&НаКлиенте
Асинх Процедура ЗадатьВопросАсинхронно()
ТекстВопроса =
"Для отключения уведомлений и комфортной работы рекомендуем использовать режим тишины.
|В этом режиме будут приходить только важные уведомления
|
|Установить режим тишины?";
Кнопки = Новый СписокЗначений;
Кнопки.Добавить(КодВозвратаДиалога.Да, "Установить режим тишины");
Кнопки.Добавить(КодВозвратаДиалога.Отмена, "Нет, оставить как есть");
Результат = Ждать ВопросАсинх(ТекстВопроса, Кнопки);
Если Результат = КодВозвратаДиалога.Да Тогда
Сообщить("Режим тишины установлен");
КонецЕсли;
КонецПроцедуры
Асинх Процедура ЗадатьВопросАсинхронно()
ТекстВопроса =
"Для отключения уведомлений и комфортной работы рекомендуем использовать режим тишины.
|В этом режиме будут приходить только важные уведомления
|
|Установить режим тишины?";
Кнопки = Новый СписокЗначений;
Кнопки.Добавить(КодВозвратаДиалога.Да, "Установить режим тишины");
Кнопки.Добавить(КодВозвратаДиалога.Отмена, "Нет, оставить как есть");
Результат = Ждать ВопросАсинх(ТекстВопроса, Кнопки);
Если Результат = КодВозвратаДиалога.Да Тогда
Сообщить("Режим тишины установлен");
КонецЕсли;
КонецПроцедуры
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник