#std746

Обработчики событий ОбработкаПолученияПредставления и ОбработкаПолученияПолейПредставления

1.

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

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
    Поля.Добавить("Наименование");
    СтандартнаяОбработка = Ложь;
КонецПроцедуры
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
    Представление = ?(
        ПустаяСтрока(Данные.Наименование),
        НСтр("ru = 'Без описания'"),
        Данные.Наименование);
    СтандартнаяОбработка = Ложь;
КонецПроцедуры
2.

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

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

3.

Обработчики могут быть также вызваны, в том числе, при записи и удалении объекта в режиме обмена данными. Представление объекта при этом запрашивается для формирования записи в журнал регистрации. Поэтому к ним предъявляются те же требования, что и к логике регистрации объектов - см. п. 1.2 #std701: Разработка планов обмена с отборами.

Эти требования также справедливы при разработке планов обмена для синхронизации с другими программами (не РИБ, по правилам конвертации) с помощью подсистемы «Обмен данными» Библиотеки стандартных подсистем. Например, недопустимо #std697: обращаться к предопределенным элементам, которые еще могли быть не загружены в базу или, наоборот, уже удалены в ходе обмена данными:

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;

    // Недопустимо: обращение к предопределенному элементу.
    Если Данные.ВидОбразования = Справочники.ВидыОбразованияФизическихЛиц.ПослевузовскоеОбразование Тогда
        Представление = НСтр("ru = 'Послевузовское образование'");
    КонецЕсли;
КонецПроцедуры
4.

При реализации обработчиков следует также учитывать требования о поддержке #std680: толстого клиента, управляемое приложение, клиент-сервер.

См. также
Проверки

#v8cs:module-accessibility-at-client

Источник

https://its.1c.ru/db/v8std#content:746