Как в 1с написать сообщение пользователю

В прикладных решениях 1С часто требуется вывести пользователю информацию: уведомить об успешной операции, предупредить об ошибке или подсказать следующий шаг. Для этого в платформе предусмотрены разные способы отображения сообщений, отличающиеся по уровню важности и контексту применения.
Если требуется акцентировать внимание, применяют Предупреждение(). Оно блокирует выполнение текущего кода до подтверждения пользователем. Пример: Предупреждение(«Не заполнено обязательное поле!»);. Этот вариант актуален для контроля ввода и предотвращения ошибок.
Для более гибкого взаимодействия используется объект ДиалоговоеОкно. С его помощью можно формировать окна с кнопками «Да/Нет», вариантами выбора или запросом ввода данных. Такой инструмент позволяет не только донести информацию, но и получить ответ, влияющий на дальнейший алгоритм.
или Сообщить("Сумма: " + Строка(Сумма)).
При необходимости задать тип сообщения используется второй параметр: Сообщить("Ошибка при сохранении", СтатусСообщения.Важно). Доступные варианты – Обычное, Важное, Предупреждение.
Функция Сообщить() в 1С позволяет дополнительно задавать уровень важности сообщения, что влияет на его отображение в окне сообщений.
- Сообщить(«Текст», СтатусСообщения.Внимание); – выделяет сообщение как требующее внимания.
- Сообщить(«Текст», СтатусСообщения.Обычное); – стандартный вариант без акцентов.
Рекомендуется использовать разные типы в зависимости от сценария:
- Ошибки расчётов и критические сбои – Важно.
- Проверки заполнения реквизитов и предупреждения – Внимание.
- Информационные уведомления и подсказки – Обычное.
Указание статуса помогает пользователю быстрее оценить значимость сообщения и принять решение о дальнейших действиях.
Создание окна предупреждения с помощью Предупреждение()

Синтаксис:
Предупреждение(ТекстСообщения, Заголовок, Кнопки, ЗначениеПоУмолчанию)
Параметры:
| Параметр |
Описание |
| ТекстСообщения |
Строка, отображаемая в теле окна. |
| Заголовок |
Строка для шапки окна (необязателен). |
| Кнопки |
Определяет набор кнопок: ДаНет, ОКОтмена, ДаНетОтмена и др. |
| ЗначениеПоУмолчанию |
Кнопка, выделяемая по умолчанию. |
Пример использования:
Результат = Предупреждение("Удалить документ?", "Подтверждение",
КнопкиПредупреждения.ДаНет,
КнопкаПредупреждения.Нет);
Если Результат = КодВозвратаДиалога.Да Тогда
// удаление
КонецЕсли;
Возвращаемое значение – элемент перечисления КодВозвратаДиалога, позволяющий обработать выбор пользователя.
Использование Вопрос() для запроса подтверждения от пользователя

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

Для упрощения многократного использования создают собственные процедуры-обёртки, которые объединяют текст, тип сообщения и логику обработки пользовательского выбора. Это уменьшает дублирование кода и упрощает поддержку сценариев уведомлений.
Важно: в командном интерфейсе большие объемы текста отображаются построчно через массивы строк: Сообщить(Новый Массив("Строка 1", "Строка 2"));. Такой подход сохраняет читаемость сообщений и предотвращает их обрезку.
Формирование сообщений об ошибках с помощью ВызватьИсключение

В 1С для прерывания выполнения кода и информирования пользователя о критических ошибках используется функция ВызватьИсключение. Она принимает объект типа Структура или строку с текстом ошибки. Использование этой функции позволяет контролировать обработку ошибок и передавать детализированные сообщения в регистры обработки ошибок.