Реквизит плана характеристики

План видов характеристик

Планы видов характеристик — это прикладные объекты конфигурации. Они предназначены для хранения информации о характеристиках различных объектов.

С их помощью пользователь может создавать всевозможные характеристики, описывать тип этих характеристик и задавать их значения. Например, для того, чтобы описывать товары произвольным количеством произвольных характеристик (цвет, размер, запах и т. д.).

Структура

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

Однако основное назначение плана видов характеристик заключается в том, чтобы для каждой характеристики хранить тип значения, который она может принимать:


План видов характеристик

Возможный перечень типов, которые могут принимать характеристики, указывается разработчиком в процессе создания прикладного решения:


План видов характеристик

Создавая новые характеристики (или редактируя существующие), пользователь сможет выбрать для них один из типов, входящих в этот перечень.

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

Специально для таких ситуаций разработчик может создать специальный пустой справочник, и указать, что в нем будут храниться дополнительные значения характеристик:


План видов характеристик

Теперь, создавая характеристику Запах, пользователь сможет выбрать для нее тип значения этого специального справочника, а в самом справочнике создать нужные ему значения: СладкийРезкийКислый и т. д.

Формы плана видов характеристик

Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в плане видов характеристик, система поддерживает несколько форм его представления. Система может автоматически генерировать все нужные формы плана видов характеристик. Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию:


План видов характеристик

Форма списка

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


План видов характеристик

Форма характеристики

Для просмотра и изменения данных отдельных характеристик используется форма характеристики. Как правило, она представляет данные в удобном для восприятия и редактирования виде:


План видов характеристик

Кроме этого для планов видов характеристик, также как и для справочников, поддерживаются формы группы, выбора и выбора группы.

Объект конфигурации План видов характеристик (ПВХ) предназначен для описания видов характеристик, которые могут иметь разные типы.

Рассмотрим следующую практическую задачу. В справочнике “Контрагенты” должна быть возможность для каждого контрагента хранить произвольные дополнительные реквизиты. При этом заранее количество реквизитов неизвестно, поэтому создать их в конфигураторе не представляется возможным. Кроме того, типы данных дополнительных реквизитов могут различаться.

Например, для каждого контрагента нужно иметь возможность хранить следующие дополнительные реквизиты:

  • Количество сотрудников (число)
  • Дата регистрации (дата)
  • Страна (выбор из списка стран)
  • Регион (выбор из списка регионов)
  • Сфера деятельности (выбор из списка сфер деятельности)
  • Категория (важный, обычный, проблемный)

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

  • Справочник
  • План видов характеристик
  • Регистр сведений
  • Табличная часть справочника “Контрагенты”

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

План видов характеристик не подходит по тем же причинам, что и справочник.

Регистр сведений подходит для хранения дополнительных сведений, кроме того использование регистра сведений позволит избежать дублей, т.е. пользователь не сможет установить для одного контрагента два разных значения одного и того же дополнительного реквизита. Единственная особенность при использовании регистра сведений — для просмотра данных нужно открыть форму регистра, что не очень удобно.

Табличная часть справочника “Контрагенты” также подходит для решения поставленной задачи. В табличной части уже есть стандартный реквизит “Ссылка”, остается добавить только реквизиты “ДополнительныйРеквизит” и “Значение”. К тому же при использовании табличной части с данными можно работать непосредственно в форме контрагента. Минус использования табличной части — отсутствие контроля уникальности записей на уровне платформы. Но есть возможность реализовать программный контроль на дубли.

Итак, для хранения информации о дополнительных реквизитах подходит 2 типа объекта конфигурации: табличная часть и регистр сведений.

Рассмотрим решение с использованием табличной части справочника “Контрагенты”. Добавим табличную часть “ДополнительныеРевизиты” с двумя реквизитами “ДополнительныйРеквизит” и “Значение”:

image
Теперь нужно определиться с типом данных для этих реквизитов.

Поскольку один и тот же дополнительный реквизит может использоваться в разных контрагентах, то нужно в информационной базе хранить список всех возможных дополнительных реквизитов. При этом должна быть возможность пополнять этот список по мере необходимости.

Для хранения списка дополнительных реквизитов есть следующие варианты:

  • Справочник
  • План видов характеристик

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

В плане видов характеристик, напротив, есть возможность для каждого элемента хранить тип значения.

Создадим новый план видов характеристик “ДополнительныеРеквизиты” и в свойстве “Тип значения характеристик” отметим типы данных, которые будут доступны пользователю при выборе:

imageНа закладке “Данные” настроим длину кода и наименования:
imageВ свойствах реквизита “Значение” табличной части “ДополнительныеРеквизиты” справочника “Контрагенты” укажем тип — ПланВидовХарактеристикСсылка.ДополнительныеРеквизиты:
imageЧтобы для реквизита “Значение” были доступны типы данных, которые были указаны при создании плана видов характеристик, нужно выбрать тип данных “Характеристика.ДополнительныеРеквизиты”:
imageДля того чтобы при выборе значения не нужно было дополнительно выбирать его тип, настроим для реквизита “Значение” свойство “Связь по типу”:
imageВ этом случае тип реквизита “Значение” будет определяться типом выбранного дополнительного реквизита в конкретной строке табличной части.

Создадим в режиме пользователя необходимые дополнительные реквизиты в плане видов характеристик:

imageПосле этого переходим в форму конкретного контрагента и создаем необходимое количество записей в табличной части “Дополнительные реквизиты”:
imageПоскольку для дополнительных реквизитов “Регион”, “Страна” и “Сфера деятельности” был выбран тип данных “Строка”, значения нужно вводить вручную, что на практике совсем неудобно — для разных контрагентов значения этих реквизитов могут повторяться.

Чтобы исправить ситуацию, нужно для каждого дополнительного реквизита из плана видов характеристик иметь возможность хранить список возможных значений реквизита с возможностью пополнения этого списка по мере необходимости:

imageЧтобы хранить список значений для дополнительных реквизитов можно использовать отдельный справочник “ЗначенияДополнительныхРеквизитов”.
imageА чтобы отличать значения разных дополнительных реквизитов, этот справочник нужно сделать подчиненным плану видов характеристик “ДополнительныеРеквизиты”:
imageТеперь добавим этот справочник в качестве типа для плана видов характеристик “Дополнительные реквизиты”, а также заполним свойство “Дополнительные значения характеристик:
imageТакже настроим свойство “Связи параметров выбора” реквизита “Значение” в табличной части “ДополнительныеРеквизиты” справочника “Номенклатура для того чтобы при выборе значения в списке отображались только те значения, которые относятся к выбранному дополнительному реквизиту:
imageВ режиме “1С:Предприятие” для дополнительных реквизитов “Регион”, “Страна” и “Категория” изменить тип данных на “Значения дополнительных реквизитов”:
imageДля каждого дополнительного реквизита теперь есть возможность хранить список значений:
imageimageimage
Теперь при заполнении дополнительных реквизитов в форме контрагента, если выбрать один из реквизитов с типом “Значения дополнительных реквизитов”, то выбор осуществляется из справочника с отбором по конкретному дополнительному реквизиту:
image
Таким образом, с помощью плана видов характеристик мы реализовали возможность добавлять в справочник “Контрагенты” произвольное количество дополнительных реквизитов различного типа данных.

Другие примеры задач, где используются планы видов характеристик:

  • Хранение настроек пользователя
  • Список видов субконто (аналитик) бухгалтерского учета
  • Что такое объект конфигурации “Планы видов характеристик”
  • Создание плана видов характеристик
  • Хранение значений в табличной части
  • Хранение значений характеристик в регистре сведений
  • Дополнительные значения характеристик
  • Заключение

В статье рассмотрим, как знание и умение пользоваться объектами конфигурации 1С помогает решить вопросы, связанные с корректным учетом товаров и их свойств, и где это может пригодиться.

Разберем объект “План видов характеристик” (далее ПВХ). Пример использования ПВХ это “Цвет”, например “Белая” и “Синяя”, товара “Футболка”. Казалось бы все просто.

Какого цвета платье?

Есть особенности, которые при неправильной настройке или проектировании программы могут создать массу трудностей. Что это за особенности и где эти проблемы могут проявиться? При некорректном заведении характеристик номенклатуры в 1С могут дублироваться свойства. При выгрузке на сайт неправильно будут созданы фильтры, пересортица остатков товаров, неверные цены на один товар с разными свойствами и т.д.

Ниже рассмотрим правильное использование ПВХ детальнее.

Стандартный сценарий работы современного интернет-магазина — выгрузка каталога товаров из 1С. 

Фильтры на сайте — это инструмент, который упрощает навигацию по интернет-магазину, помогает пользователю найти необходимый товар. Фильтры в каталоге заменяют клиентам продавца, и они должны вести себя максимально предсказуемо и удобно, чтобы облегчить поиски нужного товара, а не запутать покупателя. 

Основа фильтра — характеристики товара, которые выбирают пользователи, а это не исключает ошибок.

На примере интернет-магазина, где значения характеристик вводят пользователи, продемонстрирую, как множатся одни и те же по сути, но разные по значению характеристики.

учет количества в 1с

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

характеристики товара в 1с

На этом примере продублированы сами характеристики товара, что тоже вводит в заблуждение.

В статье я хочу простыми словами рассказать, для чего и в каких случаях подходят объекты конфигурации 1С “Планы видов характеристик”, показать на примерах работу и несколько вариантов использования. Статья подойдет для начинающих программистов 1С и аналитиков.

Что такое объект конфигурации “Планы видов характеристик”

В системе «1С:Предприятие» объекты ПВХ предназначены для описания множеств однотипных объектов аналитического учета. В типовых конфигурациях ПВХ используется для реализации механизма “Дополнительные реквизиты и сведения”. Именно этот пример показателен и помогает понять, что такое ПВХ. Элементы ПВХ — это реквизиты, которые добавляют сами пользователи, указывая какого типа они будут. 

Элементы ПВХ 1С

реквизиты в 1с

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

Возможности ПВХ план видов характеристик

Для того, чтобы задействовать все механизмы настроек характеристик в 1С, недостаточно одного ПВХ. На примере товаров и дополнительных реквизитов, которые мы добавим через функционал ПВХ, рассмотрим работу механизма характеристик.

Настройки характеристик в 1С

На схеме изображена простая связь Товар-Характеристика-Значение. Товар — это Объект-Владелец характеристик, в нашем примере это будет Справочник Товары.

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

В статье поэтапно реализуется приведенная схема с постепенной настройкой ПВХ и других объектов. Не будем использовать встроенный язык для реализации этой схемы, задействуем только механизмы платформы.

Создание плана видов характеристик

Создадим новый план видов характеристик:

создание пвх в 1с

Уникальное свойство “Тип значения характеристики” предназначено для указания всех возможных типов значения, которые пользователи смогут указать при создании “пользовательских реквизитов”. 

При создании ПВХ в окне выбора типов объектов  появляется ветка “Характеристики” в которой будет одноименный элемент. 

характеристики пвх в 1с

Этот тип предназначен для значений характеристик ПВХ. Если для реквизита выбрать этот тип, то он сможет принимать любое значение указанное в “Тип значения характеристик”.

В режиме предприятия добавляем характеристики (элемент ПВХ) и для каждой указываем тип.

добавление характеристик пвх в 1с

Всё что мы храним в ПВХ, — это характеристика и тип ее  значения. Мы не храним значения сами по себе и не имеем связи с Объектом, которому принадлежит характеристика. 

Значения характеристик будут привязаны к характеристике и Объекту-Владельцу.

Рассмотрим два варианта хранения значений характеристик:

  • в табличной части Объекта-Владельца,

  • в регистре сведений.

хранение значений характеристик пвх в 1с

У каждого из способов хранения есть свои особенности: 

В табличной части Объекта-владельца

В регистре сведений

Не отслеживается уникальность записей с одинаковыми характеристиками. Это можно сделать программно, механизмов платформы для этого нет. Эта особенность является “Плюсом”, если для Объекта необходимо хранить разные значения одной и тоже характеристики.

Особенность этого метода — записи должны быть с уникальными ключевыми полями. 

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

Нужно хранить и значение и ссылку на Объект-Владелец

На примере созданного ПВХ разберем как организовать средствами платформы оба варианта.

На данный момент мы создали только ПВХ, где храним “пользовательские реквизиты”. Создадим справочник “Товары”, именно для него мы планируем хранить значения характеристик. 

пользовательские реквизиты пвх в 1с

Хранение значений в табличной части

Приступим к реализации первого варианта хранения значений — в табличной части Объекта-Владельца. 

Добавим табличную часть с реквизитами:

  •  ХарактеристикаТовара с типом значения — ПланВидовХарактеристикСсылка.Характеристики; 

  • ЗначениеХарактеристики с типом значения — Характеристика.Характеристики

добавление табличной части в реквизитах пвх 1с

С такими настройками при добавлении Товару характеристики и значения открывается окно выбора типа значений и на выбор доступны все, которые мы указали при создании ПВХ в свойстве “Тип значения характеристик”. 

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

создание товара с характеристиками 1с

Это происходит из-за того, что нет связи между характеристикой и доступными ей типами, которые мы указали в ПВХ.

Для того, чтобы автоматически выбирался тип, привязанный нами к характеристике, достаточно в табличной части заполнить свойство “Связь по типу” для реквизита ЗначениеХарактеристики, указав в каком реквизите будет сама характеристика.

реквизит ЗначениеХарактеристики 1с

При добавлении строки в табличную часть Товаров и выборе характеристики из ПВХ — тип значения определяется автоматически.

добавление значения в характеристики товара в 1с

Мы реализовали простой способ хранения дополнительных характеристик, привязанных к справочнику. 

Посмотрим, как выводятся данные о товарах и значениях характеристик в универсальном отчете:

вывод данных о товарах и значениях характеристик в универсальном отчете

С такими настройками характеристики и их значения выводятся как подчиненные элементы для объектов справочника Товары. Их возможно использовать в настройках СКД, но “через точку”, а не как реквизиты.

О возможности использования “пользовательских реквизитов” как реквизитов, созданных в конфигураторе, мы говорили в начале статьи. Это одно из основных преимуществ использования механизмов ПВХ. Для того, чтобы “объяснить” конфигурации что является “пользовательскими полями” для Объекта-Владельца и где они будут хранится мы выполним настройку характеристик для справочника Товары. На закладке Данные переходим в редактирование данных о характеристиках нажав кнопку “Характеристики”.

редактирование характеристик пвх в 1с

Укажем, где хранятся ВидыХарактеристик (это ПВХ) и где хранятся ЗначенияХаратеристик. В нашем случае это табличная часть самого справочника товары.

где хранятся ВидыХарактеристик (это ПВХ) и где хранятся ЗначенияХаратеристик

После настройки проверим, как характеристики отображаются в отчетах:

отображение характеристик в отчетах 1с

Каждый элемент ПВХ, доступный для Товаров, отображается как реквизит объекта и доступен для сортировок и отборов в СКД. Также есть возможность выводить в колонки списков форм, использовать отборы и сортировки.

колонки списков форм, отборы и сортировки в 1С

Хранение значений характеристик в регистре сведений

Для реализации этой модели хранения значений нам понадобятся ранее созданные объекты:

  • справочник Товары — к его элементам привязываются значения свойств характеристик. Этот справочник является Объектом-Владельцем.

  • ПВХ — хранит все возможные характеристики (“пользовательские реквизиты”)

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

Структура данных регистра:

Реквизиты 

  • Товар с типом значения — СправочникСсылка.Товары

  • ХарактеристикаТовара  с типом значения — ПланВидовХарактеристикСсылка.Характеристики

Ресурс

  • ЗначениеХарактеристики с типом значения — Характеристика.Характеристики

регистр сведений ЗначениеХарактеристики 1с

У ресурса так же укажем  “Связь по типу”, как ранее делали  при записи в табличную часть.

Добавим значения характеристик в регистр сведений.

Значение характеристик товара в 1с

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

дубль характеристик в 1с

Не забываем указать для Справочника Товары  где хранятся характеристики и их значения. В этом варианте реализации сами характеристики хранятся также в ПВХ, а значения — в регистре сведений.

характеристики хранятся также в ПВХ, а значения — в регистре сведений

Проверим как выглядят характеристики в отчете.

проверка характеристик в отчете 1с

Также сами характеристики из ПВХ доступны для отборов, вывода как поля группировок и сортировок, отображаются при работе с настройками списков форм.

характеристики из ПВХ доступны для отборов 1с

Дополнительные значения характеристик

Мы реализовали механизм создания и хранения значений характеристик для объекта конфигурации. 

В примере использовали “пользовательские реквизиты” примитивных типов. Механизм платформы также позволяет использовать типы, созданные самими пользователями. 

Для того, чтобы пользователи не вводили значения, а выбирали их из предопределенного списка, созданного в режиме предприятия, нужно доработать наш ПВХ.

Добавим справочник, подчиненный нашему ПВХ, назовем его ЗначенияХарактеристик. В этом справочнике мы будем хранить варианты значений для “пользовательских реквизитов”.

хранение пользовательских реквизитов в 1с

После этого в нашем ПВХ в поле “Дополнительные значения характеристик” выберем подчиненный справочник, который стал доступен для выбора.

И в возможные типы значений характеристик тоже подключим этот справочник.

возможные типы значений характеристик 1с

В режиме предприятия заполним варианты цветов и укажем их для характеристики “Цвет”.

Для характеристики “Цвет” изменим тип значения на справочник “Значения характеристики”, в этом случае пользователи смогут выбирать цвета из предложенных значений и не смогут вводить сами. 

характеристика цвета товара в 1с

Вверху формы (формы созданы автоматически) появилась ссылка “Значения характеристики” для перехода к значениям подчиненного справочника и ввода значений, доступных для текущей характеристики.

переход к значениям подчиненного справочника и ввода значений 1с

Заполним и значениями для характеристики “Материал”.

значения характеристик товара в 1с

В списке всех, доступных значений мы видим, что каждое значение привязано к Характеристике-Владельцу.

Проверим как сейчас работает заполнение нашего значения характеристики “Цвет” для конкретного товара.

заполнение нашего значения характеристики “Цвет” для конкретного товара

Отбор по владельцу “Цвет” не установлен, и мы видим не только цвета, но и материалы. Для того, чтобы указать связь, для реквизита табличной части Товары — ЗначениеХарактеристики укажем “Связь параметров отбора”

Связь параметров отбора в справочнике товаров 1с

Проверим: 

проверка значений в 1с

Для характеристики “Цвет” система нам предлагает выбрать только введенные ранее значения.

После настройки ведения характеристик через ПВХ ошибки пользователя при заведении новых значений будут сведены к минимуму. Посмотрим как выглядит наш фильтр с таким способов хранения характеристик товаров:

настройки ведения характеристик через ПВХ 1с

Заключение

В своей статье я описала “базовые” настройки с помощью которых можно эффективно пользоваться таким объектом как ПланВидовХарактеристик. Этот объект платформы 1С является полезным при правильном применении. На примерах мы увидели, как настройка объекта в 1С может влиять на работу покупателей на сайте.

Фильтр каталога товаров — важная составляющая любого интернет-магазина. Если искать подходящий товар долго и неудобно, встречаются ошибки и неточности,  то покупатель уйдет с сайта, т.к. ценит свое время.

Синхронизация каталога между 1С и сайтом — фундамент для развития сайта. Чтобы сделать его правильно и с первого раза нужно иметь соответствующий опыт. Мы — имеем и готовы помочь Вам в интеграционных задачах. Обращайтесь!

Дополнительные реквизиты объектов с помощью плана видов характеристик

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

В этой статье я расскажу о том, как реализовать такую возможность с помощью плана видов характеристик и регистра сведений и поделюсь парой приёмов использования этих реквизитов в отчётах и списках.

Быстрый переход

  • Изменения в конфигурации
  • Использование дополнительных реквизитов в отчётах и списках
    • Вариант №1
    • Вариант №2

Изменения в конфигурации

Разработку конфигурации будем вести на базе платформе 1С: Предприятие 8.2 с установленным свойством “Основной режим запуска” – “Управляемое приложение”. В качестве основы для разработки подойдет любая демо-конфигурация. Добавим новый план видов характеристик “Виды характеристик”. На закладке “Основные” плана видов характеристик в поле “Тип значения характеристик” выберем необходимые типы.

plany-vidov-harakteristik-tip-znacheniya

В качестве одного из возможных типов значений характеристик выберем предварительно добавленный в конфигурацию справочник “Значения характеристик”, подчиненный плану видов характеристик “Виды характеристик”. Его же выберем в поле “Дополнительные значения характеристик”. Это позволит добавлять характеристики с произвольными ссылочными значениями (например, цвет или размер).

Создадим регистр сведений “Характеристики” с измерениями “Объект”, “Вид характеристики” и ресурсом “Значение”. Измерение “Объект” должно включать в себя все типы объектов для которых необходимо использовать дополнительные реквизиты. В нашем случае это будет справочник “Контрагенты”, В свойствах измерения “Объект” должны быть установлены флаги “Ведущее”, “Основной отбор” и “Запрет незаполненных”.

osnovnoj-otbor-u-rekvizitaЭто обеспечит связь объекта с записями регистра сведений. В форме элемента справочника “Контрагенты” переход к редактированию характеристик будет возможен с помощью соответствующего пункта меню “Перейти” в левой части формы.

Измерению “Вид характеристики” необходимо назначить тип “ПланВидовХарактеристикСсылка.ВидыХарактеристик”, а ресурсу “Значение” – “Характеристика.ВидыХарактеристик”.

Для обеспечения взаимосвязи значений ресурса “Значение” со значениями измерения “ВидХарактеристик” регистра “Характеристики” необходимо чтобы в свойстве “Связи параметров выбора” ресурса “Значение” было указано “Отбор.Владелец(ВидХарактеристики)”, а в свойстве “Связь по типу” – “ВидХарактеристики”

otbor-znacheniya-po-tipu-v-harakteristka

Теперь всё готово для того чтобы мы могли вводить в базу данных дополнительные реквизиты справочника “Контрагенты”.

Попробуем добавить дополнительный реквизит “Адрес”

primer-ispolzovaniya-plana-harakteristik

Использование дополнительных реквизитов в отчётах и списках

После того как все необходимые изменения в конфигурации выполнены возникает вопрос о том как использовать дополнительные реквизиты для вывода и фильтрации данных в отчётах и списках.

Вариант №1

Начнём с использования характеристик в отчёте, разработанном с использованием системы компоновки данных. За основу возьмём отчёт “Ведомость взаиморасчетов”. Добавим в конфигурацию копию этого отчёта и назовём его “Ведомость взаиморасчетов (с характеристиками)”.

Оригинал отчёта нам понадобится для демонстрации второго варианта использования характеристик.

Итак, откроем набор данных “Взаиморасчеты” схемы компоновки данных нашего отчета в конструкторе запросов и перейдем на закладку “Характеристики”.

konstruktor-harakteristika

  • В таблицу на вкладке “Характеристики” добавим строку.
  • В поле “Тип” выберем “СправочникСсылка.Контрагенты” (это объект для которого в отчёте необходимо использовать дополнительные характеристики).
  • В поле “Источник видов” выберем вариант “Запрос” (хотя в нашем случае можно ограничиться и вариантом “Таблица”).
  • В колонку “Виды характеристик” внесём текст запроса, которым будут выбираться виды характеристик, используемые для справочника “Контрагенты”.

Текст запроса обязательно должен содержать три поля – ссылка на вид характеристики, наименование характеристики и тип значения характеристики. Наименования этих полей выбираются в колонках “Поле ключа”, “Поле имени” и “Поле типа значения” таблицы на закладке “Характеристики”.

  • Для визуального выделения дополнительных реквизитов объекта в запросе по видам характеристик к наименованиям добавлен текст “(доп. реквизит)”.
  • В колонке “Источник значений” на вкладке “Характеристики” выберем вариант “Таблица”.
  • В колонке “Значения характеристик” выберем “РегистрСведений.Характеристики”,
  • в колонке “Поле объекта” – наименование измерения регистра “Объект”,
  • в колонке “Поле вида” – наименование измерения “ВидХарактеристики”,
  • в колонке “Поле значения” – наименование ресурса “Значение”.

В тексте запроса схемы компоновки результат добавления характеристик выглядит следующим образом (в обычных запросах применение таких конструкций невозможно):

{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.Контрагенты)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
        ВидыХарактеристик.Ссылка,
        ВидыХарактеристик.Наименование + » (доп. реквизит)» КАК Наименование,
        ВидыХарактеристик.ТипЗначения
    ИЗ
        ПланВидовХарактеристик.ВидыХарактеристик КАК ВидыХарактеристик)
ПОЛЕКЛЮЧА Ссылка
ПОЛЕИМЕНИ Наименование
ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.Характеристики
ПОЛЕОБЪЕКТА Объект
ПОЛЕВИДА ВидХарактеристики
ПОЛЕЗНАЧЕНИЯ Значение }

Проверим работу отчёта. Для этого откроем отчёт “Ведомость взаиморасчетов (с характеристиками)”. Перейдем в пункт меню “Все действия -> Изменить вариант”. В окне настроек перейдём на закладку “Отбор” и добавим отбора по дополнительному реквизиту контрагента “Адрес”

otbor-v-skd

Вариант №2

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

dopolnitelnye-harakteristiki-obekta-metadannyh

  • В открывшемся окне “Дополнительных характеристик объекта метаданных” добавим строку.
  • В колонке “Виды характеристик” выберем “ПланВидовХарактеристик.ВидыХарактеристик”, в колонке “Поле ключа” – “Ссылка”.
  • В колонке “Значения характеристик” выберем “РегистрСведений.Характеристики”, в колонке “Поле объекта” – “Объект”,
  • в колонке “Поле вида” – “ВидХарактеристики”, в колонке “Поле значения” – “Значение”.

Сохраним конфигурацию и попробуем воспользоваться дополнительными характеристиками справочника “Контрагенты” в форме списка (в отчёте “Ведомость взаиморасчетов” использование дополнительных реквизитов будет выглядеть аналогичному тому как это было описано в Варианте №1, с той лишь разницей, что наименованию вида характеристики не будет добавляться текст “(доп. реквизит)”).

Откроем список справочника “Контрагенты”, перейдем в пункт меню “Все действия -> Настройка списка” и установим отбор по дополнительному реквизиту “Адрес”.

nastrojka-spiska-dobavlenie-v-otbor

Стоит отметить, что при использовании Варианта №1 в отчётах с использованием СКД отключается приведенный механизм платформы и используется описанный пользователем.

Статья найдена на просторах интернета.

Искусство пропаганды в том виде, как его понимают современные политики, напрямую связано с искусством рекламы. Психология как наука во многом обязана рекламодателям.

Редактирование плана видов характеристик

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

Свойство «Тип значения характеристик»

Данное свойство описывает перечень типов, которые в дальнейшем могут быть указаны в качестве типа (одного или нескольких) значения конкретного вида характеристики. Возможность такого выбора типа(-ов) не требует изменения структуры и программного кода прикладного решения. Также следует отметить, что для задания типа реквизита, хранящего значение характеристики, связанной с конкретным планом видов характеристик, служит специальный тип Характеристика.<ИмяПланаВидовХарактеристик>. Реквизит, для которого указан такой тип, не может быть составного типа.

Если в состав свойства Тип значения характеристик входят типы ЧислоДата, СправочникСсылка.Номенклатура и СправочникСсылка.Контрагенты, то появляется возможность создать вид характеристики Размер с типом Число или вид характеристики Поставщик с типом СправочникСсылка.Контрагенты. Однако нельзя создать вид характеристики с типом Булево, т. к. этот тип не входит в состав свойства Тип значения характеристик. В связи с этим следует тщательно подходить к выбору набора типов при создании плана видов характеристик.

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

ВНИМАНИЕ! Изменение в описании списка типов, используемых видов характеристик, после ввода пользовательских значений, может привести к потере значений, введенных пользователем. Например, если из списка типов исключить какой-либо тип, то значения характеристик, связанных с исключенным типом, будут очищены. Если исключенный тип был единственным типом для вида характеристик, то новым типом этого вида характеристик станут все типы, указанные в свойстве Тип значения характеристик.

Создание плана видов характеристик не является единственным шагом при реализации механизма учета характеристик для объектов метаданных. В зависимости от поставленной задачи, необходимо создавать дополнительные объекты метаданных и особым образом их настраивать. Далее будут рассмотрены несколько примеров реализации механизма характеристик.

Примеры реализации механизма характеристик

Будем рассматривать следующие примеры

  • Пример №1 Самый простой пример механизма учета характеристик. Для каждого объекта метаданных создается свой план видов характеристик и регистр сведений, который хранит значения характеристик.
  • Пример №2 В данном примере рассматривается случай, когда необходимо создавать виды характеристик таких типов, которые не описаны в прикладном решении. При этом сохраняются все возможности предыдущего примера.
  • Пример №3 Этот пример следует использовать при необходимости использовать один план видов характеристик для описания видов характеристик всех необходимых объектов метаданных, а для хранения значений характеристик использовать один регистр сведений.
  • Пример № 4 . Такой пример следует использовать в тех случаях, когда необходимо использовать один и тот же вид характеристик для различных объектов метаданных (наборы характеристик). При этом значения характеристик хранятся в регистре сведений.
  • Пример №5 Если доступ к характеристикам и их значениям должен ограничиваться с помощью механизма ограничения доступа к данным, наложенным на сам объект, то можно воспользоваться этим примером реализации механизма.

Пример 1

Самый простой пример механизма учета характеристик. Для каждого объекта метаданных создается свой план видов характеристик и регистр сведений, который хранит значения характеристик.

Задача

Виды характеристик хранятся в плане видов характеристик и при этом один план видов характеристик «обслуживает» один объект метаданных. Т.е. для справочника Номенклатура создается план видов характеристик ХарактеристикиНоменклатуры, для справочника Контрагенты ‑ ХарактеристикиКонтрагентов и т. д. Сами значения характеристик для конкретных объектов будут храниться в регистрах сведений. Каждый регистр сведений будет хранить информацию о данных, видах характеристик и значениях характеристик одной пары «объект метаданных ‑ план видов характеристик». Для простоты будет рассматриваться один объект метаданных, один план видов характеристик и один регистр сведений.

Реализация

Регистр сведений «ЗначенияХарактеристикНоменклатуры»

В регистре сведений, предназначенном для хранения значений характеристик, следует создать два измерения и один ресурс. Измерения будут отвечать за объект, для которого хранится значение характеристики, и вид характеристики, а ресурс будет хранить само значение характеристики.

Рассмотрим структуру регистра подробно:

  • Объект ‑ измерение. Содержит ссылку на объект метаданных, для которого хранится значение характеристики. Измерение будет иметь тип того объекта метаданных, для которого будут храниться характеристики. В рассматриваемом примере это будет тип СправочникСсылка.Номенклатура. Для измерения следует установить свойство Ведущее, что позволит автоматически удалять значения характеристик объекта при его (объекта) удалении и позволит открывать список характеристик непосредственно из формы объекта (соответствующая ссылка в панели навигации формы).
  • ВидХарактеристики ‑ измерение. Содержит ссылку на вид характеристики (в качестве типа значения необходимо указать ПланВидовХарактеристикСсылка.ХарактеристикиНоменклатуры). В данное измерение будут попадать значения из плана видов характеристик.
  •  ЗначениеХарактеристики ‑ ресурс. Хранит значение одного из типов, выбранных в качестве типа значения вида характеристики, указанной в измерении ВидХарактеристики. Типом значения ресурса будет Характеристика. ХарактеристикиНоменклатуры. Невозможно указать для данного ресурса составной тип, состоящий из нескольких типов Характеристика. Именно поэтому для хранения значений характеристик (в рамках рассматриваемого примера) нужно использовать несколько регистров сведений (по одному на каждую пару «объект метаданных ‑ план видов характеристик»).

Для ресурса необходимо в свойство Связи параметров выбора добавить параметр с именем Отбор.Владелец, связанный с измерением ВидХарактеристики и с режимом использования Очищать. Такая настройка при редактировании в форме обеспечит очистку значения характеристики при смене вида характеристики.

Настройки ресурса «Значение»

Также следует заполнить свойство ресурса Связь по типу. В это свойство следует указать измерение ВидХарактеристики. После указания связи начнет действовать одна из особенностей объекта План видов характеристик: в зависимости от того, какой вид характеристики указан в измерении ВидХарактеристики, система будет автоматически изменять перечень доступных типов для ресурса ЗначениеХарактеристики.

Следующим шагом следует указать системе, как связаны объект, для которого будут учитываться характеристики, план видов характеристик и регистр сведений, который хранит значения характеристик объектов. Это следует сделать с помощью окна Дополнительные характеристики объекта метаданных, вызвать которое можно из контекстного меню объекта метаданных (пункт Характеристики).

Описание характеристик справочника «Номенклатура»

В данном окне описывается, какой объект и каким образом обеспечивает виды характеристик (левая часть окна) и где хранятся значения характеристик (правая часть окна). В рассматриваемом примере:

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

Описание хранения будет использовано системой в тех случаях, когда необходимо получить перечень значений характеристик для какого-либо объекта метаданных.

Значения характеристик

Например, для получения списка значений отбора в динамическом списке. В данном примере описана следующая схема хранения значений характеристик:

  • Для хранения используется регистр сведений ХарактеристикиНоменклатуры (свойство Значения характеристик).
  • Для хранения ссылки на объект, для которого задаются значения характеристик, используется измерение Объект (типа СправочникСсылка.Номенклатура). Это указывается в свойстве Поле объекта.
  • Для хранения ссылки на характеристику объекта используется измерение ВидХарактеристики (свойство Поле вида).
  • Значение характеристики хранится в ресурсе ЗначениеХарактеристики (свойство Поле значения).

В общем случае, в качестве объекта для хранения значений характеристик может служить любой объект, в котором существуют реквизиты необходимых типов, а именно:

  • Реквизит типа того объекта, для которого хранится значение характеристики ‑ поле объекта.
  • Реквизит типа плана видов характеристик, который хранит собственно характеристику ‑ поле вида.
  • Реквизит типа значения характеристики (собственно значение характеристики) ‑ поле значения.

При редактировании поля диалога Значения характеристик система предоставит выбор только из тех объектов, которые удовлетворяют выше описанным требованиям (при этом должно быть обязательно заполнено поле Виды характеристик в этой строке, где выполняется редактирование). Редактирование характеристик доступно для следующих объектов метаданных:

  • Справочники,
  • Документы,
  • Перечисления,
  • Планы видов характеристик,
  • Планы счетов,
  • Планы видов расчета,
  • Планы обмена,
  • Бизнес-процессы,
  • Задачи.

Результат

Реализация данного примера позволит:

  • В плане видов характеристик создавать виды характеристик, которые необходимы для элементов «своего» объекта метаданных.
  • Для каждого элемента справочника Номенклатура указывать собственный набор характеристик и указывать для каждого вида характеристик необходимое значение характеристики.

Пример 2

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

Задача

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

Для реализации такой задачи необходимо создать специальный справочник, который будет являться хранилищем дополнительных значений характеристик. Этот справочник будет являться подчиненным для плана видов характеристик. Затем надо будет указать этот справочник в специальном свойстве плана видов характеристик ‑ Дополнительные значения характеристик. Также этот справочник нужно будет указать в качестве одного из возможных типов свойства Тип значения характеристик.

Реализация

Создадим справочник, который будет хранить дополнительные значения характеристик (он будет называться ЗначенияХарактеристик). Все остальные объекты прикладного решения будут эквивалентны объектам из примера 1 (см. здесь). Затем следует выполнить следующие действия с данным справочником:

● Указать для справочника ЗначенияХарактеристик план видов характеристик в качестве владельца. В результате для каждого вида характеристики будет доступен тот набор значений, который указан именно для этого вида характеристики.

Рис. 171. Владелец справочника «ЗначенияХарактеристик»

● Указать справочник ЗначенияХарактеристик в качестве одного из значений составного типа для свойства Тип значений характеристик плана видов характеристик ХарактеристикиНоменклатуры.

● Выбрать справочник ЗначенияХарактеристик в качестве значения свойства Дополнительные значения характеристикплана видов характеристик.

Свойство «Дополнительные значения характеристик»

Настройки, которые были выполнены в окне Дополнительные характеристики объекта метаданных для справочника Номенклатура, не изменяются.

Результат

Реализация данного примера позволит:

  • Создавать виды характеристик, для хранения значений (дополнительных значений характеристик) которых в прикладном решении нет подходящих типов.
  • Указывать в качестве значений характеристик дополнительные значения характеристик.

Пример 3

Этот пример следует использовать при необходимости использовать один план видов характеристик для описания видов характеристик всех необходимых объектов метаданных, а для хранения значений характеристик использовать один регистр сведений.

Задача

Этот пример можно рассмотреть при необходимости использовать для описания видов характеристик всех объектов метаданных один план видов характеристик, а для хранения значений характеристик использовать один регистр сведений. Разделение видов характеристик между объектами метаданных будет выполняться с помощью реквизита плана видов характеристик. Значение этого реквизита будет определять «принадлежность» конкретному объекту (реквизит содержит значение) или всем объектам метаданных (реквизит не задан).

Реализация

Необходимо создать план видов характеристик (с именем ХарактеристикиОбъектов). У созданного объекта следует создать реквизит ТипВидаХарактеристики типа Перечисление.ВидыОбъектов. Состав перечисления будет определять те объекты метаданных, для которых будут храниться виды характеристик.

ПРИМЕЧАНИЕ. Для ускорения отборов нужных видов характеристик, желательно для реквизита ТипВидаХарактеристикиустановить свойство Индексировать в значение Индексировать с доп. упорядочиванием.

Для хранения значений реквизитов следует создать регистр сведений с именем ЗначенияХарактеристикОбъектов, при этом его состав и настройки следует взять из примера 1 (регистр ЗначенияХарактеристикНоменклатуры. Отличие от примера 1 заключается в том, что тип измерения Объект будет составного типа и в состав типов должны входить все ссылочные типы, для которых планируется вести учет характеристик.

Аналогично примеру 2 следует создать справочник для учета дополнительных значений характеристик .

В результате должна получиться следующая структура объектов метаданных:

Структура конфигурации

В данном примере предполагается, что характеристики буду учитываться только для справочников Номенклатура и Контрагенты.

Задание принадлежности характеристики

Теперь следует «объяснить» системе, как выполнять отбор видов характеристик для того или иного объекта метаданных (это необходимо проделать для каждого объекта, обладающего характеристиками):

  • В каком объекте расположен список характеристик.
  • По какому ключевому полю будет происходить получение конкретной характеристики для определения типа значения (вида характеристики) и представления характеристики.
  • По какому реквизиту характеристики (и с каким значением отбора) будет определяться список характеристик, связанных с конкретным объектом метаданных.

Далее приведен пример указания правила отбора характеристик для справочника Номенклатура.

Привязка характеристик к объекту метаданных

Настройка, выполняемая в окне Дополнительные характеристики объекта метаданных аналогична рассмотренной в примере 1 . Дополнительно указываются значения двух полей:

  • В свойстве Поле отбора видов указывается, какой реквизит плана видов характеристик, является ключевым полем, по которому буду отбираться виды характеристик для того или иного объекта метаданных. В данном примере это реквизит ТипВидаХарактеристики плана видов характеристик.
  • Свойство Значение отбора видов содержит значение, которое должно содержаться в реквизите, указанном в свойстве Поле отбора видов, чтобы элемент плана видов характеристик (указанный в свойстве Виды характеристик) считался «подходящим» для нужного объекта метаданных. В данном примере настройка выполняется для справочника Номенклатура, поэтому в свойство Значение отбора видов выбрано значение перечисления ВидыОбъектов.Номенклатура.

Если в прикладном решении существуют виды характеристик, которые могут использовать со всеми объектами, для которых ведется учет характеристик, то систему можно настроить таким образом, чтобы в списки характеристик выводились и виды характеристик, «принадлежащие» объекту метаданных и «общие» виды характеристик. Для этого необходимо добавить в окно настройки характеристик еще одну строку:

Отбор «свободных» характеристик

При этом «общими» будут считаться те виды характеристик, в которых значение реквизита ТипВидаХарактеристики не заполнено. Хранение значений характеристик описывается аналогично примеру 1 .

Расширение

Если в рассматриваемом примере потребуется реализовать поддержку характеристик для нового объекта метаданных, то необходимо выполнить следующие действия:

  • В перечисление ВидыОбъектов добавить нужное значение.
  • В список типов измерения Объект регистра ЗначенияХарактеристикОбъектов добавить тип, соответствующий объекту метаданных, для которого добавляется учет характеристик.
  • Для объекта заполняются свойства в окне Дополнительные характеристики объекта метаданных, по аналогии с вышеописанными примерами.

Результат

Реализация данного примера позволит:

  • Использовать для хранения видов характеристик всех объектов один план видов характеристик.
  • Разделять виды характеристик на «принадлежащие» конкретным объектам и общие для всех объектов.

Пример 4

Задача

Данный пример можно использовать в тех случаях, когда один вид характеристики необходимо использовать для нескольких объектов метаданных. Например, вид характеристики Срок поставки может использоваться и для контрагента (например, он будет означать срок поставки товаров данным контрагентом) и для товара (в этом случае он будет означать, например, срок поставки данного товара). Реализация данной задачи с помощью предыдущего примера потребует создания нескольких видов характеристик, «привязанных» к конкретным объектам метаданных и имеющих одинаковые имена (для упрощения идентификации).

Схема, удовлетворяющая вышеописанным требованиям, выглядит следующим образом:

  • План видов характеристик хранит список видов характеристик.
  • В предопределенных данных специального объекта (справочника) хранятся наборы характеристик – т. е. перечень характеристик, которые могут быть заданы объектам метаданных, для которых выбрана возможность указания характеристик. Список доступных характеристик задается в режиме «1С:Предприятие», а не в конфигураторе.
  • Значения характеристик хранятся в регистре сведений.

Реализация

Рассмотрим эту схему более подробно на примере справочника Номенклатура. План видов характеристик аналогичен предыдущим примерам. Для хранения допустимых наборов характеристик нужно создать специальный справочник (с именем НаборыХарактеристик). В этом справочнике нужно создать табличную часть СоставНабора, в которой создать единственный реквизит ВидХарактеристики (типа ссылка на план видов характеристик ПланВидовХарактеристикСсылка.ХарактеристикиОбъектов), а так же предопределенные элементы в количестве, совпадающем с количеством объектов метаданных, для которых следует учитывать характеристики. В рассматриваемом случае в этом справочнике следует завести один элемент для справочника Номенклатура.

Хранение списка характеристик в табличной части справочника

Регистр сведений, в котором хранятся значения характеристик для объектов, аналогичен регистру, предложенному в примере 3

Следующим шагом необходимо настроить связь между объектом метаданных, объектом, хранящим список характеристик и объектом, хранящим значения выбранных характеристик:

Интерактивная настройка характеристик

В результате получается следующая схема:

  • Представление и типы значений характеристики получаются с помощью косвенной адресации. Для этого используется свойство Поле ключа окна настройки характеристик.
  • Для получения списка доступных характеристик (для справочника Номенклатура) используется предопределенный элемент Номенклатура справочника НаборыХарактеристик. Для этого в свойстве Поле отбора видов указано, что нужный элемент из справочника НаборыХарактеристик будет отбираться по ключевому полю Ссылка. Значением отбора (свойство Значение отбора видов) является ссылка на предопределенный элемент.
  • Хранение значений характеристик не отличается от ранее рассмотренных примеров.

Косвенная адресация плана видов характеристик

Рассматриваемая схема хранения списка характеристик не обеспечивает автоматического формирования списка выбора характеристик при добавлении в объект новой характеристики (из перечня доступных). Для формирования такого списка следует особым образом сформировать форму выбора объекта метаданных план видов характеристик.

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

ВЫБРАТЬ
    ПланВидовХарактеристик.Ссылка,
    ПланВидовХарактеристик.Код,
    ПланВидовХарактеристик.Наименование,
    ПланВидовХарактеристик.ТипЗначения
ИЗ
    ПланВидовХарактеристик.ХарактеристикиОбъектов КАК ПланВидовХарактеристик
        {ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НаборыХарактеристик.СоставНабора КАК СоставНабора
        ПО ПланВидовХарактеристик.Ссылка = СписокХарактеристик.ВидХарактеристики}
{ГДЕ
    СписокХарактеристик.Ссылка.* КАК НаборХарактеристик}

Также следует указать в качестве основной таблицы динамического списка ПланВидовХарактеристик.ХарактеристикиОбъектови установить флажок Динамическое считывание данных.

Форма выбора плана видов характеристик

В модуле формы необходимо определить обработчик события ПриСозданииНаСервере:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Предопределенные = Новый Соответствие;
    Предопределенные.Вставить(Тип("СправочникСсылка.Номенклатура"), Справочники.НаборыХарактеристик.Номенклатура);
    Если Не Параметры.Свойство("ОбъектОтбораВидовХарактеристик") Тогда
        Возврат;
    Иначе
        ОбъектОтбора = Параметры.ОбъектОтбораВидовХарактеристик;
        ТипОбъектаОтбора = ТипЗнч(ОбъектОтбора);
        Если Предопределенные.Получить(ТипОбъектаОтбора) <> Неопределено Тогда
            НовыйЭлемент = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("НаборХарактеристик");
            НовыйЭлемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
            НовыйЭлемент.ПравоеЗначение = Предопределенные[ТипОбъектаОтбора];
            НовыйЭлемент.Использование = Истина;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

Подробнее рассмотрим особенности реализации формы выбора. Для указания, из какого элемента справочника НаборыХарактеристик следует получить список доступных характеристик, используется параметр формы ОбъектОтбораВидовХарактеристик. Этот параметр присутствует у расширения управляемой формы для плана видов характеристик. Если параметр формы указан (как это сделано при создании реквизита ВидХарактеристики табличной части Характеристики справочника Номенклатура), то анализируется тип этого параметра и проверяется, есть или нет предопределенный элемент справочника НаборыХарактеристик для этого типа (в соответствии Предопределенные, которое заполняется «вручную»). Если в соответствии задан требуемый тип (и, следовательно, существует необходимый предопределенный элемент) ‑ выполняется установка отбора динамического списка с именем НаборХарактеристик. Если параметр формы ОбъектОтбораВидовХарактеристик не указан или для типа значения, указанного в параметре, не задано предопределенного значения ‑ отбор не устанавливается, и будет отображаться весь список.

Следует также обратить внимание на то, каким образом сформирован запрос, выступающий в качестве источника динамического списка, для реализации описанного поведения. Такое поведение достигается благодаря тому, что отбор и соединение указаны как конструкции расширения языка запросов для системы компоновки данных . Если отбор не указан, то система компоновки данных (которая используется для работы динамического списка) не будет включать в результирующий запрос ни соединение, ни отбор. Следовательно, в список выбора попадут все виды характеристик. Такое поведение будет использовано при добавлении вида характеристики в список доступных характеристик.

Расширение

Если в описанный пример необходимо добавить поддержку характеристик для еще одного объекта метаданных, то следует выполнить следующие действия:

  • В справочнике НаборыХарактеристик создать новый предопределенный элемент.
  • Для «нового» объекта метаданных следует настроить связь между объектом конфигурации и справочником НаборыХарактеристик (по аналогии с примером из данного раздела).
  • В форме выбора плана видов характеристик добавить нужный тип в код заполнения соответствия Предопределенные. Например, для справочника Контрагенты добавляемая строчка будет выглядеть следующим образом (предопределенный элемент справочника НаборыХарактеристик будет называться Контрагенты):
Предопределенные.Вставить(Тип("СправочникСсылка.Контрагенты"), Справочники.НаборыХарактеристик.Контрагенты);
  • Расширить тип измерения Объект регистра сведений ЗначенияХарактеристикОбъектов, добавив в него тип «нового» объекта метаданных.
  • В режиме «1С:Предприятие» заполнить табличную часть нового предопределенного элемента допустимыми видами характеристиками.

Результат

Реализация данного примера позволит:

  • Вести единый список видов характеристик для всех объектов метаданных, для которых нужно вести учет характеристик.
  • Формировать, в режиме «1С:Предприятия», для каждого объекта метаданных список допустимых видов характеристик.

Пример 5

Задача

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

При этом можно выделить несколько особенностей такого способа хранения характеристик:

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

Реализация

Схема, удовлетворяющая вышеописанным требованиям, выглядит следующим образом:

  • План видов характеристик хранит список видов характеристик.
  • В предопределенных данных специального объекта хранятся наборы характеристик – т. е. перечень характеристик, которые могут быть заданы объектам метаданных, для которых выбрана возможность указания характеристик. Список доступных характеристик задается в режиме «1С:Предприятие», а не в режиме Конфигуратор.
  • В объекте, для которого имеется возможность указания характеристик, существует специальная табличная часть, которая хранит вид характеристики (из списка допустимых) и конкретное значение этой характеристики.

Характеристики в табличной части ‑ общая схема

Рассмотрим схему подробнее на примере характеристик для справочника Номенклатура. План видов характеристик аналогичен предыдущим примерам. Для хранения значений характеристик необходимо в справочнике Номенклатура завести табличную часть (например, с именем Характеристики). В данном случае табличная часть будет выступать аналогом регистра сведений, который использовался в предыдущих примерах для хранения значений характеристик. В табличной части необходимо создать два реквизита:

  • ВидХарактеристики ‑ ссылка на используемый план видов характеристик (тип ПланВидовХарактеристикСсылка. ХарактеристикиОбъектов). В этом реквизите будет находиться ссылка на характеристику.
  •  ЗначениеХарактеристики ‑ значение характеристики (типа Характеристика.ХарактеристикиОбъектов). Хранит значение одного из типов, выбранных в качестве типа значения вида характеристики, указанной в реквизите ВидХарактеристики.

Хранение характеристик и их значений в табличной части справочника

Настройка свойств реквизитов табличной части будет происходить аналогично настройкам измерений и ресурсов регистра, используемого для хранения значений характеристик.

Для реквизита ВидХарактеристики необходимо в свойство Связи параметров выбора добавить параметр с именем ОбъектОтбораВидовХарактеристик, связанный с измерением Ссылка и с режимом использования Очищать. Такая настройка при выборе вида характеристики обеспечит отображение только тех характеристик, которые указаны в соответствующем предопределенном элементе справочника НаборыХарактеристик.

Настройки реквизита справочника «ВидХарактеристики»

Для реквизита ЗначениеХарактеристики следует:

  • В свойство Связи параметров выбора добавить параметр с именем Отбор.Владелец, связанный с реквизитом Характеристики.ВидХарактеристики и с режимом использования Очищать. Такая настройка при редактировании в форме обеспечит очистку значения характеристики при смене вида характеристики.
  • Свойство Связь по типу установить в значение Характеристики.ВидХарактеристики.

Организация хранения списка используемых характеристик для каждого объекта метаданных (равно как и специальная форма выбора плана видов характеристик) аналогично примеру, рассмотренному в примере 4.

Расширение

Если в описанный пример необходимо добавить поддержку характеристик для еще одного объекта метаданных, то следует выполнить следующие действия:

  • В «новый» объект добавить табличную часть Характеристики по аналогии с примером из данного раздела (указав все необходимые свойства реквизитов).
  • В справочнике НаборыХарактеристик создать новый предопределенный элемент.
  • Для «нового» объекта метаданных следует настроить связь между объектом конфигурации и справочником НаборыХарактеристик (по аналогии с примером из данного раздела).
  • В форме выбора плана видов характеристик необходимо добавить нужный тип в код заполнения соответствия Предопределенные. Например, для справочника Контрагенты добавляемая строчка будет выглядеть следующим образом (предопределенный элемент справочника НаборыХарактеристик будет называться Контрагенты):
Предопределенные.Вставить(Тип("СправочникСсылка.Контрагенты"), Справочники.НаборыХарактеристик.Контрагенты);

Результат

Реализация данного примера позволит:

  • Вести единый список видов характеристик для всех объектов метаданных, для которых нужно вести учет характеристик .
  • Формировать, в режиме «1С:Предприятия», для каждого объекта метаданных списки допустимых видов характеристик.
  • Применять ограничения доступа к данным, заданные для объектов данных, также и для ограничения доступа к значениям характеристик.

Понравилась статья? Поделить с друзьями:

Вот еще несколько интересных статей нашего сайта:

  • Монгольские компании в москве
  • Мондиал бизнес консорциум ооо
  • Монетка реквизиты организации
  • Монополия на большую компанию
  • Монопольные компании в россии

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии