для начинающих программистов: диалоги в 1С
Что такое диалог?
В 1С диалогом считается не просто сообщение, а отдельное окно, которое появляется у пользователя.
👉 Сообщить("Привет")
— это не диалог.
👉 А вот Предупреждение("Осторожно!")
или ВвестиЧисло(…)
— диалог, потому что у них есть собственные окна и они требуют реакции пользователя.
Диалоги нужны для:
- вывода информации,
- получения ответа или данных от пользователя.
Виды диалогов
Предупреждение
Простейший вариант:
Предупреждение("Осторожно!");
Программа покажет окно, остановится и будет ждать, пока пользователь его закроет.
Можно сделать сложнее:
Предупреждение("Важное сообщение!", 5, "Внимание!");
- окно закроется через 5 секунд,
- сверху вместо стандартного заголовка будет «Внимание!».
Ввод числа
Диалог, который не только что-то показывает, но и возвращает введённое значение.
Число = 0;
Результат = ВвестиЧисло(Число);
Если Результат = Истина Тогда
Сообщить("Вы ввели " + Строка(Число));
Иначе
Сообщить("Ввод отменён");
КонецЕсли;
- если нажали ОК → программа получила число,
- если нажали Отмена → программа знает, что пользователь отказался.
Вопрос пользователю
Здесь можно задать варианты ответа:
Результат = Вопрос("Продолжить работу?", РежимДиалогаВопрос.ДаНетОтмена);
Если Результат = КодВозвратаДиалога.Да Тогда
Сообщить("Отлично, идём дальше!");
ИначеЕсли Результат = КодВозвратаДиалога.Нет Тогда
Сообщить("Окей, останавливаемся.");
Иначе
Сообщить("Жаль, что вы нажали Отмена...");
КонецЕсли;
Модальность
Все рассмотренные диалоги — модальные.
То есть пока окно открыто — пользователь ничего другого в системе делать не может.
Немодальные окна (когда можно работать дальше) тоже есть, но о них мы поговорим позже.
📝 Домашнее задание
Сделайте программу, которая спрашивает:
«Нажмите Да, чтобы вывести числа от 1 до 10,
Нет — чтобы вывести числа от 10 до 100,
и ни в коем случае не нажимайте Отмена!»
В диалоге должны быть кнопки Да / Нет / Отмена
Добавить комментарий