Вызывается при получении состава полей, из которых формируется представление объекта или ссылки.
Синтаксис
ОбработкаПолученияПолейПредставления(<Поля>, <СтандартнаяОбработка>)Полное описание, параметры и ограничения
ПланВидовХарактеристикМенеджер.<Имя плана видов характеристик>.ОбработкаПолученияПолейПредставления (ChartOfCharacteristicTypesManager.<Chart of characteristic types name>.PresentationFieldsGetProcessing)
ПланВидовХарактеристикМенеджер.<Имя плана видов характеристик> (ChartOfCharacteristicTypesManager.<Chart of characteristic types name>)
ОбработкаПолученияПолейПредставления (PresentationFieldsGetProcessing)
Доступен, начиная с версии 8.3.1.
Синтаксис:
ОбработкаПолученияПолейПредставления(<Поля>, <СтандартнаяОбработка>)
Параметры:
<Поля>
Тип: Массив.
Массив, содержащий имена полей, которые нужны для формирования представления объекта или ссылки.
<СтандартнаяОбработка>
Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события.
Если в теле процедуры-обработчика установить данному параметру значение Ложь, стандартная обработка события производиться не будет.
При стандартной обработке в массив полей добавляются поля, используемые платформой для формирования стандартного представления объекта или ссылки.
Значение по умолчанию: Истина.
Описание:
Вызывается при получении состава полей, из которых формируется представление объекта или ссылки.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Результат обработки события кэшируется для сеанса.
Не рекомендуется в качестве полей представления возвращать поля неограниченной длины, т.к. это может приводить к ошибкам исполнения запроса, если представление будет получено для составных ссылок.
Замечание:
Безопасный режим на время исполнения данного обработчика будет отключен. Данное замечание не относится к обработчикам событий, расположенным в расширении конфигурации.
Использование в версии:
Доступен, начиная с версии 8.3.1.
Методическая информация
Практические примеры
Сформировать собственное представление УчебныеХарактеристики: ОбработкаПолученияПолейПредставления
Ссылка получает подпись из собственного номера или наименования и комментария. Источник значений задан согласованным вторым обработчиком, а не неизвестным объектом в параметре.
Где и как запускать
Модуль менеджера УчебныеХарактеристики. Оба обработчика без клиентских директив. Проверочный код отдельно выполняется на сервере учебной базы.
Подготовка
Работайте только в собственной пустой учебной конфигурации. В Конфигураторе создайте ПланВидовХарактеристик УчебныеХарактеристики; не добавляйте эти учебные объекты в рабочую базу.
Код — строковый длиной 10, наименование длиной 100. Для справочника, плана обмена и плана видов характеристик включите автонумерацию. Для счетов и видов расчёта код назначается явно в примере.
У плана видов характеристик разрешите тип значения Число. Новый элемент получает ТипЗначения = Новый ОписаниеТипов("Число").
Добавьте реквизиты Комментарий (Строка 100), Лимит (Число 15.2 с разрешённым отрицательным знаком), ЗапретУдаления (Булево). Не делайте их автоматически обязательными: дополнительные правила описаны отдельными обработчиками.
В модуле менеджера УчебныеХарактеристики разместите оба обработчика из основного и дополнительного блоков. В модуль объекта и формы их не вставляйте; процедуры платформенные, отдельно назначать имя события не нужно.
После изменения модуля менеджера обновите учебную конфигурацию и начните новый сеанс: список полей представления кэшируется для сеанса. Дополнительный проверочный блок выполните в серверной процедуре своей учебной обработки.
Поля Наименование и Комментарий должны иметь ограниченную длину, как задано в подготовке. Представление ссылки не меняет сохранённые значения этих реквизитов.
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
Поля.Очистить();
Поля.Добавить("Наименование");
Поля.Добавить("Комментарий");
СтандартнаяОбработка = Ложь;
КонецПроцедурыТот же модуль менеджера: согласованный обработчик пары
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
Представление = СокрЛП(Строка(Данные.Наименование));
Если Не ПустаяСтрока(Данные.Комментарий) Тогда
Представление = Представление + " (" + Данные.Комментарий + ")";
КонецЕсли;
СтандартнаяОбработка = Ложь;
КонецПроцедурыСерверная учебная процедура: настоящий объект и запрос его представления
Объект = ПланыВидовХарактеристик.УчебныеХарактеристики.СоздатьЭлемент();
Объект.Наименование = "Учебная карточка";
Объект.ТипЗначения = Новый ОписаниеТипов("Число");
Объект.Лимит = 100;
Объект.Комментарий = "Учебный пример";
Объект.Записать();
Ссылка = Объект.Ссылка;
Сообщить(Строка(Ссылка));
Сообщить("Подпись сформирована из полей собственного сохранённого объекта");
Сообщить("Комментарий: " + Ссылка.Комментарий);Разбор по шагам
Первый обработчик задаёт массив имён полей Наименование и Комментарий, отключая стандартный набор.
Во втором обработчике Данные — структура значений именно этих выбранных полей. Непустой комментарий добавляется в скобках.
Строка(Ссылка) в проверочном блоке запрашивает представление у платформы. Обработчики вручную не вызываются и повторную запись не выполняют.
Как проверить результат
После создания собственного объекта показана подпись с его номером или наименованием и учебным комментарием в скобках.
Если перед записью нового объекта оставить комментарий пустым, скобки не добавляются. Для проверки изменённого списка полей начните новый сеанс.
Ожидаемый результат
Представление собственной ссылки построено согласованной парой платформенных обработчиков менеджера.
На что обратить внимание
ОбработкаПолученияПолейПредставления возвращает имена, а не сами значения. Данные второй процедуры содержит только запрошенные поля.
Не формируйте представление через Строка той же ссылки внутри обработчика: это повторный запрос представления и риск рекурсии.
Подпись не является уникальным ключом и не должна использоваться вместо ссылки. Рабочая конфигурация в этом уроке не меняется.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.