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

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

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

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

Структура

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

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


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

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


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

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

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

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


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

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

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

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


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

Форма списка

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


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

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

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


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

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

Реализация простого плана видов характеристик на платформе 1С
Реализация простого плана видов характеристик на платформе 1С

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

План видов характеристик можно представить как справочник с элементами разного типа. Осталось лишь правильно сконфигурировать этот объект.

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

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

На первый взгляд все понятно. Интуективно хочется в свойства ПВХ «Тип значения характеристик» или в «Дополнительные значения характеристик» добавить справочник «Номенклатура», но не все так просто. Вернемся к определению ПВХ – хранить характеристики, они могут быть разного типа, например, диагональ и мощность – число, а материал – это строка (почему это не строка разберем дальше).

Определяем составной тип плана видов характеристик "ДополнительныеСвойстваНомеклатуры" (Простые типы)
Определяем составной тип плана видов характеристик “ДополнительныеСвойстваНомеклатуры” (Простые типы)

Раскроем «Тип значения характеристик». Укажем что наши характеристики могут иметь тип «Число», «Строка», «Дата» и «Булево». Вернемся к нашему свойству «Материал». Да, данное свойство может быть строкой, то тогда в базе возникает вероятность дублирования. Один пользователь напишет «Материал», другой «материал», но это не главное. Главное это то, что это будут совершенно разные элементы. Поэтому необходимо ввести объект, который будет являться отдельным типом. Таким объектом будет справочник «СвойстваНомеклатуры», который будет содержать все значения свойств материала (пластик, металл, стекло).

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

Выбрав справочник "СвойстваНомеклатуры" как тип данных пользователь может создавать новое свойство, а тип свойства будет определен как "СвойстваНомеклатуры"
Выбрав справочник “СвойстваНомеклатуры” как тип данных пользователь может создавать новое свойство, а тип свойства будет определен как “СвойстваНомеклатуры”

Продолжим развитие нашего учета и ПВХ. Пусть необходимо хранить не только значения свойства «Материал» но и свойства «Цвет». Делая вывод из ранее сказанного необходимо создать еще один справочник и назвать его «СвойстваНомеклатурыЦвет», но это решение не подходит, так как разработчик не может знать заранее всех свойств номеклатуры. Для решения этой задачи воспользуемся свойством ПВХ «Дополнительные значения характеристик». Это свойство позволит через владельца элемента справочника «СвойстваНомеклатуры» указать какие значения есть у данного свойства.

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

Обновим конфигурацию и запустимся в режиме отладки. Заполним справочник «Номенклатура» значениями Чайник и Телевизор.

Перейдем в ПВХ «ДополнительныеСвойстваНоменклатуры» и создадим свойство Материал с типом значений «Свойства номенклатуры», Цвет с типом значений «Свойства номенклатуры», Мощность с типом значений «Число», Диагональ с типом значений «Число».

Определение дополнительных свойств в плане видов характеристрик
Определение дополнительных свойств в плане видов характеристрик

Структура ПВХ позволяет пользователю создавать «реквизиты справочника», самостоятельно определяя как реквизит называется и какой у реквизита тип.

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

Для выполнения этой задачи потребуется регистр сведений. Создадим регистр сведений «ЗначенияСвойствНомеклатуры». Установим свойства Периодичность: «Непереодический», Режим записи «Независымый». Такие свойства исключают дублирование свойств номеклатуры и позволяют вносить изменения без регистратора.

В регистре будем вести учет по 2 измерениям:

«Номенклатура» с типом СправочникСсылка.Номенклатура

«Свойство» с типом ПланВидовХарактеристикСсылка.ДополнительныеСвойстваНомеклатуры

по значению:

«Значение» с типом Характеристика.ДополнительныеСвойстваНомеклатуры

Состав регисра сведений "ЗначенияСвойствНомеклатуры"
Состав регисра сведений “ЗначенияСвойствНомеклатуры”

Рисунок 6.7

В палитре свойств измерения «Номеклатура» установим свойство «Ведущее». Установка данного свойства означает «бессмысленность» записи если данное измерение не заполнено, такая запись будет удалена. Также данное свойство повлияет на внешний вид формы элемента справочника «Номеклатура». Обновим конфигурацию, запустим отладку, перейдем в справочник «Номеклатура». Откроем элемент «Чайник».

Форма элемента справочника "Номеклатура" с командой "Значения свойств номеклатуры"
Форма элемента справочника “Номеклатура” с командой “Значения свойств номеклатуры”

В форме элемента появилась команда «Значения свойств номенклатуры». Если такой команды не появилось выполните слудующее:

  1. Проверте установку свойства «Ведущее» в измерении «Номеклатура» регистра сведений «ЗначенияСвойствНомеклатуры»
  2. Откройте палитру свойств регистра сведений и переустановите свойство «Использовать стандартные команды»
  3. Перейдите в форму элемента справочника «Номеклатура» и установите видимость команды «Значения свойств номенклатуры»
При отсутствии команды с данными регистра сведений на форме элемента справочника переключите свойство "Использовать стандартные команды" в палистре свойств этого регистра сведений
При отсутствии команды с данными регистра сведений на форме элемента справочника переключите свойство “Использовать стандартные команды” в палистре свойств этого регистра сведений
Проверте видимость команды в командном интерфейсе формы элемента справочника
Проверте видимость команды в командном интерфейсе формы элемента справочника

Вернемся в пользователький режим и перейдем по команде «Значения свойств номенклатуры». Теперь можем добавить свойства для чайника.

При выборе значения свойства платформа предлает вновь выбрать тип данных, хотя он был определен ранее
При выборе значения свойства платформа предлает вновь выбрать тип данных, хотя он был определен ранее

При попытке задать значение для свойства «Материал» откроется диалоговое окно выбора типа данных. Ранее при заполнении ПВХ «ДополнительныеСвойстваНомеклатуры» было явно указано, что свойство «Материал» имеет тип «Свойство номеклатуры», так почему платформа вновь требует указать тип? Дело в том, что сейчас используется регистром сведений «ЗначенияСвойствНомеклатуры», а настроен он не до конца. Перейдем в режим конфигуратора, откроем палитру свойств ресурса «Значение», изменим свойство «Связи параметра выбора». Так же устанавливаем свойство «Связь по типу» в значение «Свойство».

Настройка свойств ресурса "Значение" регистра сведений. Для автоматического подбора типа данных свойства.
Настройка свойств ресурса “Значение” регистра сведений. Для автоматического подбора типа данных свойства.

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

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

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

Конечно, это упрощенный вариант работы с планом видов характеристик, однако, данный пример показывает механизм работы с объектом конфигурации.

#Программирование 1с #1c предприятие #r71 #1с разработчик #worldskills russia #ДЭ 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С может влиять на работу покупателей на сайте.

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

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

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

Создаем ПВХ в 1С

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

Планшет

Приглашаем на
бесплатный вебинар!

06 июня в 11:00 мск

1 час

Еще одна ситуация, где ПВХ будет оптимальным решением – перепроверка элементов с указанием новых свойств. К примеру, в 1С номенклатуру всегда добавляли, указывая только наименование, а теперь решили, что нужно указывать цвет, длину и марку. Многие решают эту ситуацию с помощью текстового поля «Комментарий», куда заносят всю информацию через запятую. Этот путь ведет к проблеме усложнения получения правильных данных из отчетов, в отличие от добавления плана видов характеристик.

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

Рис.1 Создаем ПВХ
Рис.1 Создаем ПВХ

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

Рис.2 Добавляем дополнительный справочник
Рис.2 Добавляем дополнительный справочник

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

  1. Измерение «Номенклатура». Тип – ссылка на соответствующий справочник, отметка «Ведущее» обязательна, чтобы в 1С при открытии номенклатуры пользователь мог указывать дополнительные показатели;
  2. Измерение «СвойствоНоменклатуры». Тип – ссылка на созданный ПВХ;
  3. Ресурс «ЗначениеСвойстваНоменклатуры». Тип – Характеристика.СвойствоНоменклатуры, в свойство «Связь по типу» указываем Свойствономенклатуры. Для удобства пользователей настройте связи параметров выбора, указав отбор по владельцу (СвойствоНоменклатуры).
Рис.3 Вкладка «Данные»
Рис.3 Вкладка «Данные»

Проверка работоспособности

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

Рис.4 Проверка работоспособности
Рис.4 Проверка работоспособности

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

Рис.5 Показатели номенклатуры
Рис.5 Показатели номенклатуры
Рис.6 Свойства номенклатуры
Рис.6 Свойства номенклатуры

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

Рис.7 Созданное свойство номенклатуры
Рис.7 Созданное свойство номенклатуры

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

Рис.8 Показатели номенклатуры
Рис.8 Показатели номенклатуры
Рис.9 Ошибка
Рис.9 Ошибка

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

Рис.10 Данные нового справочника
Рис.10 Данные нового справочника

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

Часто возникает необходимость задать какие-то дополнительные свойства для уже существующих в базе элементов. Стандартно для этого используется “реквизит” справочника. Но что делать разработчику конфигурации, если он не хочет добавлять 1000 реквизитов “на все случаи” в свой справочник, а лишать пользователя такой возможности не хочет? Правильно, надо разработать систему которая позволит пользователю самостоятельно добавить к целевому справочнику новое свойство, не заходя в конфигуратор.

Например, клиенту надо добавить “пол” (Муж, Жен). Если в справочнике “контрагенты” нет такого реквизита, то можно воспользоваться универсальными “свойствами” и задать новое свойство для справочника прямо во время работы, ну конечно программист должен предварительно предоставить такую возможность пользователю.

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

1. Определим костяк системы хранения свойств.

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

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

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

После создания справочника выберем его в нашем ПВХ (его также надо выбрать и в “тип значений”):

Теперь создадим новый регистр, где и будут храниться назначенные свойства:

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

Также в ресурсе “Значение свойства” надо указать связку с измерением “характеристика”:

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

2. Тестирование плана видов характеристик.

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

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

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

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

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

Тут же потестируем свойства номенклатуры. Создадим новую карточку товара. Также видим ссылку на свойства.

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

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

Выбрав тип строка мы разрешили пользователю в это свойство вбивать произвольную строку, например “37-46”.

3. Фильтрация свойств по типу объекта

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

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

В типовых конфигурациях для хранения этого самого “списка типов” сделали отдельный регистр и еще один план видов характеристик. Мы не будем так усложнять пример и сделаем более легкий способ, просто перечислим типы через запятую в этом поле. Таким образом для реквизита назначаем тип “строка 100”. А в режиме предприятия тут через запятую укажем виды справочников.

В режиме предприятия от руки впишем целевые виды объектов в новый реквизит

В конфигураторе, создадим форму записи регистра, переопределим выбор характеристики (подсунем свой список)

&НаКлиенте
Процедура ХарактеристикаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДанныеВыбора = ПолучитьДоступныеХарактеристики(Запись.Объект);
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПолучитьДоступныеХарактеристики(Объект)
	мИмяТипа = Объект.Метаданные().Имя;
	Запрос = Новый Запрос();
	Запрос.Текст = "ВЫБРАТЬ
	               |	СвойстваСправочников.Ссылка КАК Ссылка
	               |ИЗ
	               |	ПланВидовХарактеристик.СвойстваСправочников КАК СвойстваСправочников
	               |ГДЕ
	               |	СвойстваСправочников.НазначениеХарактеристики ПОДОБНО &НазначениеХарактеристики";
	Запрос.Параметры.Вставить("НазначениеХарактеристики", "%"+мИмяТипа+"%");
	Массив = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
	СписокХарактеристик = Новый СписокЗначений;
	СписокХарактеристик.ЗагрузитьЗначения(Массив);
	Возврат СписокХарактеристик;
КонецФункции

Укажем что не надо показывать историю выбора характеристики (чтобы платформа не выдала ту характеристику которую мы хотим скрыть)

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

4. Красивая фильтрация в отчетах на СКД по свойствам.

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

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

Открыть свойства справочника, перейти на вкладку “Данные”, нажать “Характеристики”

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

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

В отчетах в режиме предприятия можно задавать свойства и как отборы и как измерения

На этом тема по ПВХ закрыта, удачного программирования!

You have no rights to post comments

Добавить комментарий