1С СообщениеПользователю


1С СообщениеПользователю выводит сообщение пользователю (после окончания обработки) или сохраняет его в очередь, если сообщение невозможно вывести «прямо сейчас», например:
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = "Привет, мир!";
Сообщение.Сообщить();


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

1С СообщениеПользователю записывает сообщения в «некоторую» очередь, и, после окончания обработки выводит их пользователю, если это возможно. Иначе – весь список сообщений возможно получить с помощью метода ПолучитьСообщенияПользователю().

Чтобы вывести сообщение пользователю с помощью 1С СообщениеПользователю в конкретной, уже открытой форме, дополнительно нужно установить идентификатор формы:
Сообщение.ИдентификаторНазначения = Форма.УникальныйИдентификатор;

Чтобы сообщение 1С СообщениеПользователю было выведено во всплывающем окне у конкретного поля формы, в модуле которой выполняется код, нужно указать «путь» к нему:
Сообщение.Поле = "Наименование"; //где Наименование – это реквизит формы
Сообщение.Поле = "Объект.Наименование"; //где Наименование – это реквизит объекта (т.е. справочника, чья форма редактируется)
Сообщение.Поле = "Товары[3].Цена"; //где Товары – таб.часть на форме, Цена – колонка этой таб.части

Чтобы сделать то же, но в модуле другого объекта (общем модуле), нужно дополнительно указать объект (СправочникОбъект, ДокументОбъект и т.п.):
Сообщение.Поле = "Наименование"; //где Наименование – это реквизит СправочникОбъект
Сообщение.УстановитьДанные(СправочникОбъект);
//При двойном щелчке на сообщение будет открыта форма объекта со всплывающим сообщением у требуемого поля

Другой способ связать сообщение 1С СообщениеПользователю с данными объекта:
//для справочника, документа..
Сообщение.КлючДанных = СправочникСсылка;
Сообщение.ПутьКДанным = "Объект";

//для записей регистра
Сообщение.КлючДанных = РегистрМенеджерЗаписи.ИсходныйКлючЗаписи; //обычно основной реквизит формы, связанный с регистром
Сообщение.ПутьКДанным = "Запись";

В типовых конфигурациях на управляемых формах для тонкого клиента, например «Управление торговлей, редакция 11» и «Бухгалтерия, редакция 3», в общем модуле ОбщегоНазначенияКлиентСервер имеется функция СообщитьПользователю(), которая «универсализирует» работу с данным объектом. Синтаксис функций в разных конфигурациях – разный.

Так как 1С СообщениеПользователю формирует список сообщений, чтобы его обнулить (например, перед выполнением сложной обработки), можно вызвать функцию:
ПолучитьСообщенияПользователю(Истина);

Обработать накопившийся список сообщений 1С СообщениеПользователю, после обработки, можно следующим образом:


Только зарегистрированные пользователи VIP группы могут видеть этот контент.



Проголосовать за этот пост:

1 Star2 Stars3 Stars4 Stars5 Stars (7 голосов, среднее: 3,43 из 5)
Загрузка...

Добавить комментарий