Теперь на примере отчета Отчет по продажам продемонстрируем работу с характеристиками объектов с помощью системы компоновки данных (). Пользователь может отобразить поля характеристик в отчете, установить по ним отбор, условное оформление и т. д. Для извлечения характеристик из базы данных в языке запросов разработано специальное расширение, применяющееся только в системе компоновки данных.
В демонстрационной конфигурации, прилагающейся к книге на компакт-диске, реализована возможность добавления дополнительных свойств к элементам справочника Контрагенты, таких как Категория и Регион.
Характеристики объектов конфигурации можно описывать в свойстве Характеристики этих объектов, а можно описывать в каждом конкретном отчете. Второй способ показан в предыдущем примере (), но в данном разделе мы покажем первый способ, являющийся наиболее универсальным. При этом если характеристики описаны в самом объекте конфигурации, то все отчеты и динамические списки, основанные на системе компоновки данных, могут использовать эти характеристики.
В этом примере мы покажем другой (отличный от предыдущего примера) способ хранения характеристик контрагентов. Здесь в качестве источника характеристик используется план видов характеристик ВидыХарактеристик, а значения характеристик находятся в табличной части ДополнительнаяИформация справочника Контрагенты. Данный способ хранения характеристик контрагентов описывается в свойстве Характеристики справочника Контрагенты (рис. 2.177).
Рис. 2.177. Описание дополнительных характеристик справочника «Контрагенты»
Подробнее о дополнительных характеристиках объектов конфигурации и способах их хранения можно прочитать в книге «Реализация прикладных задач в системе 1С:Предприятие 8.2» из серии «Профессиональная разработка».
Однако применить характеристики контрагентов мы сможем только после запуска отчета из режима 1С:Предприятие. Это связано с тем, что сначала должен быть выполнен запрос, извлекающий характеристики из базы данных.
Откроем отчет в режиме 1С:Предприятие. Выполним команду Все действия⇒Изменить вариант… В открывшемся окне полных настроек варианта отчета на закладке Поля раскроем поле Контрагент в списке доступных полей. Здесь мы увидим две наши дополнительные характеристики – Регион и Категория. Перенесем в список полей поле Регион (рис. 2.178).
Рис. 2.178. Диалог настроек варианта отчета
Нажмем Завершить редактирование и сформируем отчет за период – Этот месяц (рис. 2.179).
Рис. 2.179. Результат отчета
Мы видим, что характеристика контрагента Регион теперь отражается рядом с его наименованием. Заметьте, что характеристика отражается не для всех контрагентов, а только для тех, у которых характеристика Регион описана в табличной части ДополнительнаяИформация справочника Контрагенты (см. рис. 2.183). Так происходит потому, что в свойстве Характеристики справочника Контрагенты (см. рис. 2.177) описан именно такой способ хранения значений характеристик.
Поскольку характеристики аналогичны другим реквизитам поля Контрагент, то управлять их выводом можно на закладке Дополнительные/Другие настройки ().
Рис. 2.180. Диалог настроек варианта отчета
Теперь используем в отборе характеристику Категория. Выполним команду Все действия⇒Изменить вариант. В открывшемся окне полных настроек варианта отчета на закладке Отбор создадим новый элемент отбора по полю Категория со значением Постоянный партнер. Нажмем кнопку Свойства элемента пользовательских настроек и включим отбор в состав быстрых пользовательских настроек (рис. 2.181).
Рис. 2.181. Диалог настроек варианта отчета
Нажмем Завершить редактирование и сформируем отчет (рис. 2.182).
Рис. 2.182. Результат отчета
Мы видим, что в отчете присутствуют данные только по тем контрагентам, для которых значение характеристики Категория (в табличной части ДополнительнаяИформация справочника Контрагенты) соответствует заданному отбору (рис. 2.183).
Рис. 2.183. Дополнительные свойства контрагента
Однако настройки, произведенные в режиме 1С:Предприятие, не сохраняются в настройках по умолчанию схемы компоновки данных. Поэтому, чтобы в дальнейшем использовать характеристики контрагентов в нашем отчете, нужно сохранить их.
Поскольку мы изменяли настройки варианта отчета, то вопрос о сохранении варианта отчета автоматически появится при закрытии отчета. Можно сохранить сделанные изменения в новом варианте отчета, и в дальнейшем этот вариант отчета будет формироваться с учетом характеристик контрагентов (рис. 2.184).
Рис. 2.184. Диалог сохранения настроек
При этом если редактировался вариант отчета, созданный разработчиком в схеме компоновки данных, то предлагается сохранить изменения настроек в новом варианте отчета. Дальнейшие изменения нового варианта по умолчанию сохраняются в нем же. Это удобно, чтобы стандартный вариант всегда оставался таким, как его создал разработчик, в качестве образца, к которому всегда можно вернуться. Если же пользователь хочет самостоятельно выбрать вариант для сохранения изменений, то ему нужно выполнить команду Все действия⇒Сохранить вариант…
Следует понимать, что вариант отчета Характеристики будет доступен только конкретному пользователю, создавшему этот вариант, в то время как варианты отчета (Основной, Динамика продаж), созданные разработчиком в схеме компоновки данных, будут доступны для всех пользователей прикладного решения.