В режиме «1С:Предприятие»




Произвольное представление номенклатуры

Теперь, используя реквизит Вид номенклатуры, зададим произвольное представление номенклатуры в интерфейсе «1С:Предприятия».

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

Стандартное представление номенклатуры (как и любого другого элемента справочника) определяется свойством справочника Основное представление. По умолчанию это свойство установлено в значение В виде наименования (рис. 10.4).

Поэтому, например, в табличной части документов в колонке Номенклатура мы видим не ссылку на номенклатуру, а ее наименование (рис. 10.5).

Было бы удобно, чтобы при отображении ссылок на номенклатуру в интерфейсе «1С:Предприятия» рядом с наименованием номенклатуры показывался бы и ее вид (материал или услуга).

Выполним это изменение.

В режиме «Конфигуратор»

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

Вернемся в конфигуратор, выделим в дереве объектов конфигурации справочник Номенклатура, вызовем контекстное меню и выберем пункт Открыть модуль менеджера

Открывшийся модуль менеджера справочника заполним следующим образом (листинги 10.1, 10.2).

листинг 10.1. Модуль менеджера справочника «Номенклатура»

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь; Поля.Добавить("Наименование"); Поля.Добавить("ВидыНоменклатуры");

КонецПроцедуры

листинг 10.2. Модуль менеджера справочника «Номенклатура»

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

 

СтандартнаяОбработка = Ложь;

Если ЗначениеЗаполнено(Данные.ВидыНоменклатуры) Тогда

Представление = Данные.Наименование + " (" +

НРег(Строка(Данные.ВидыНоменклатуры)) + ")";

 

Иначе

Представление = Данные.Наименование;

КонецЕсли;

КонецПроцедуры

 

Прокомментируем этот код.

В обработчике события ОбработкаПолученияПолейПредставления мы описываем, какие реквизиты будут участвовать в формировании представления документа. Для этого сначала мы устанавливаем параметр СтандартнаяОбработка в значение Ложь, а затем добавляем в массив Поля нужные реквизиты справочника. Если параметр нужные реквизиты справочника. Если параметр СтандартнаяОбработка в обработчике не установлен в значение Ложь, то массив Поля будет заполнен реквизитами, используемыми для формирования стандартного представления данного объекта (в нашем случае – это Наименование).

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

 

В режиме «1С:Предприятие»

 

Запустим «1С:Предприятие» в режиме отладки.

В результате при открытии документа Оказание услуги в табличной части мы видим заданное нами представление номенклатуры (рис. 10.6).

Рис.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-07-25 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: