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

Рис. 10.6. Создание обработчика события в модуле менеджера справочника «Номенклатура»
Вы увидите список событий, для которых вы можете создать обработчики в модуле менеджера. При выделении события в нижней части окна показывается синтаксическая подсказка для этого события (рис. 10.7).

Рис. 10.7. Создание обработчика события в модуле менеджера справочника «Номенклатура»
Выберите ОбработкаПолученияПолейПредставления() и нажмите ОК. В результате в модуле менеджера появится объявление процедуры обработчика события. Заполните его следующим образом (листинг 10.1).
Листинг 10.1. Процедура «ОбработкаПолученияПолейПредставления()»
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Добавить("Наименование");
Поля.Добавить("ВидНоменклатуры");
КонецПроцедуры
Таким же образом создайте обработчик события ОбработкаПолученияПредставления() и заполните его следующим образом (листинг 10.2).
**Листинг 10.**2. Процедура «ОбработкаПолученияПредставления()»
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если ЗначениеЗаполнено(Данные.ВидНоменклатуры) Тогда
Представление = Данные.Наименование + " (" + НРег(Строка(Данные.ВидНоменклатуры)) + ")";
Иначе
Представление = Данные.Наименование;
КонецЕсли;
КонецПроцедуры
В обработчике события ОбработкаПолученияПолейПредставления вы описываете, какие реквизиты будут участвовать в формировании представления документа. Для этого сначала вы устанавливаете параметр СтандартнаяОбработка в значение Ложь, а затем добавляете в массив Поля нужные реквизиты справочника. Если параметр СтандартнаяОбработка в обработчике не установлен в значение Ложь, то массив Поля будет заполнен именами реквизитов, используемыми для формирования стандартного представления данного объекта (в данном случае это Наименование и ВидНоменклатуры).
В обработчике события ОбработкаПолученияПредставления вы описываете алгоритм получения параметра Представление из массива полей, заданных вами в предыдущем обработчике. Данные, необходимые для формирования представления, передаются с помощью параметра Данные типа Структура. Для этого сначала вы устанавливаете параметр СтандартнаяОбработка в значение Ложь, а затем получаете представление номенклатуры путем добавления к ее наименованию вида номенклатуры, заключенного в скобки. Если параметр СтандартнаяОбработка в обработчике не установлен в значение Ложь, то система попытается сформировать стандартное представление объекта исходя из переданных данных.