HelpF.pro

Как вывести сообщение, чтобы оно указывало на поле формы, в котором ошибка?

Когда платформа проверяет заполненность реквизитов при записи, она, в случае ошибки, выводит сообщение, привязанное к тому реквизиту формы, который не заполнен:
title

Как самому вывести такое же сообщение, если в моей обработке введены неправильные данные?

Для вывода таких сообщений предназначен объект СообщениеПользователю. Такой объект можно создать конструктором и для того, чтобы указать поле, возле которого выводится сообщение, нужно правильно заполнить его свойство Поле.

Например, есть обработка, форма которой содержит реквизит Комментарий:
title

В некоторый момент нужно проверить, заполнено это поле или нет. Если поле не заполнено - выдать сообщение.

Для этого в форме обработки можно использовать такой код:
Код 1C v 8.2 УП
 Если СокрЛП(Комментарий) = "" Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Поле = "Комментарий";
Сообщение.Текст = "Нужно написать комментарий.";
Сообщение.Сообщить();
КонецЕсли;

Здесь в свойстве Поле указывается имя реквизита формы. В результате выведенное сообщение будет привязано к тому элементу формы, который связан с этим реквизитом формы:
title

Аналогичным образом можно привязать сообщение и к любой ячейке таблицы, расположенной в форме. В этом случае кроме имени реквизита, содержащего таблицу, необходимо будет указать индекс нужной строки в таблице и имя колонки таблицы.

Например, так:
Код 1C v 8.2 УП
 МаксимальныйИндекс = Таблица.Количество() - 1;
Для Индекс = 0 По МаксимальныйИндекс Цикл
Если Таблица[Индекс].Количество = 0 Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Поле = "Таблица[" + Индекс + "].Количество";
Сообщение.Текст = "Нужно указать количество.";
Сообщение.Сообщить();
КонецЕсли;
КонецЦикла;

В результате сообщение будет привязано именно к той ячейке колонки Количество, в которой содержится значение 0:
title
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq82/view/1352.html