Найти в Дзене

Простой план видов характеристик. 1С:Предприятие 8.3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

по значению:

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

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

Рисунок 6.7

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

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

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

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

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

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

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

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

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

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

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

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

#Программирование 1с #1c предприятие #r71 #1с разработчик #worldskills russia #ДЭ 1С #программирование с нуля #демонстрационный экзамен 1с