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