ПЛАН ВИДОВ ХАРАКТЕРИСТИК 1С

Jul 10, 2022 19:17

image Click to view



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

Рассмотрим пример, у нас есть справочник Регионы, и нужно в базе хранить дополнительную информацию об этих регионах (расположение, количество жителей, экономический статус и т.п). Мы можем для этого использовать реквизиты объекта, но у данного варианта имеется ряд недостатков. Во-первых, мы можем не знать точно, какие характеристики у регионов будут на момент разработки конфигурации. Во-вторых, не все характеристики для всех регионов могут быть применимы. Например, для какого-то региона нужно использовать характеристики А, Б, В, а для другого - Б,Д,Е, тогда лишние характеристики на форме элемента справочника будут загружать форму.

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

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

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

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



В конструкторе плана видов характеристик на закладке «Основные» обратите внимание на поле «Тип значения характеристик», в этом поле необходимо указать тип (или типы). Характеристики нового плана вида характеристик будут только тех типов, которые указаны в этом поле. Если нажать на кнопку «…» данного поля, то откроется окно редактирования типа данных. Выберем все примитивные типы (для выбора нескольких типов нужно установить флаг Составной тип данных).



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

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

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

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



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



Но это еще не всё, в плане видов характеристик нужно указать, что значения характеристик хранятся именно в справочнике Свойства регионов. Указывается это в свойстве «Дополнительные значения характеристик» закладки «Основные».



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

Сделаем это, создадим непериодический и независимый регистр сведений, который назовем Значение свойств регионов.



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



У измерения Регион установим свойство Ведущее.



И создадим ресурс «Значение», тип которого будет характеристика плана видов характеристик «Дополнительные свойства регионов».



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

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



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



У характеристик Расположение и Экономический статус создадим подчиненные им элементы справочника Свойства регионов.





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



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



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



После таких настроек, тип у поля Значение будет подбираться автоматически.



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



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



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





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



Смотрите также:
Электронный учебник по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Игра "Кто хочет стать миллионером?" с вопросами на определенную тематику (язык программирования JavaScript, английские, немецкие, французские, испанские, португальские, ни­дер­ландские, итальянские слова, электробезопасность, промышленная безопасность, бокс и т.п.), написанная на 1С
Программирование в 1С 8.3 с нуля - краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки

программирование

Previous post Next post
Up