HelpF.pro

Сообщение пользователю с привязкой текста к полю из контекста клиента в форме СообщениеПользователю

Частенько нужно сообщить пользователю какую-то информацию, раньше использовали Сообщить() или

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

Код 1C v 8.3
 Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Комментарий не указан";
Сообщение.Поле = "КомментарийКЗадаче";//ИмяТабличнойЧасти[ИндексСтроки].ИмяРеквизита
Сообщение.УстановитьДанные(Объект);
Сообщение.Сообщить();

//////////////////// КОД для ТИПОВЫХ конфигураций:
//Для БСП:
//в модуле объекта
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(“Текст ошибки”,                
                        ЭтотОбъект,
                        "Договор",,
                        Отказ);
//в форме объекта
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Дублирование пременной'"), ,
"Запросы["+ИдентификаторСтроки+"].ИмяПеременнойЗапроса",//путь к данным
 "Объект", Отказ);

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

еще примеры:

Код 1C v 8.3
 

// Сообщение.КлючДанных = Ссылка на объект базы или ключ записи

// Сообщение.ПутьКДанным = содержит путь в форме до объекта.

// показываем сообщение из обработки

// КлючДанных и ПутьКДанным - пустые

Сообщение = Новый СообщениеПользователю;

Сообщение.Поле = "Комментарий";

Сообщение.Текст = "Заполните комментарий";

Сообщение.Сообщить();

// показываем сообщение из документа

// КлючДанных - пустой, ПутьКДанным заполнится автоматически

Сообщение = Новый СообщениеПользователю;

Сообщение.Поле = "Товары[0].Количество";

Сообщение.Текст = "Не заполнено количество товара в первой строке!";

Сообщение.УстановитьДанные(ЭтотОбъект);

Сообщение.Сообщить();


Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/1796.html