Подчиненные справочники



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

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

Это означает, что «Контрагент владеет расчетными счетами, а расчетные счета принадлежат контрагенту».

В 1 С: Предприятии 8.0 у справочника может быть несколько владельцев, то есть справочник может быть подчинен сразу нескольким справочникам или другим объектам. Но каждый элемент подчиненного справочника имеет одного и только одного владельца, который хранится в одном из объектов-владельцев. Например, справочник РасчетныеСчета может быть одновременно подчинен справочнику Контрагенты и справочнику Фирмы. Структура расчетного счета одинакова при любом владельце, поэтому целесообразно завести не два разных справочника, каждый из которых подчинен или справочнику Фирмы, или справочнику Контрагенты, а один справочник РасчетныеСчета, подчиненный сразу двум справочникам. При этом каждый расчетный счет будет принадлежать только одному владельцу (или фирме, или контрагенту). Такая схема позволит избавиться от дублирования кода и упростить конфигурацию.

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

Например, можно завести справочник ЗначенияДопСвойств, подчиненный плану видов характеристик ДопСвойства. Это означает, что в справочнике будет храниться перечень возможных значений для каждой характеристики, например, список цветов (красный, зеленый, синий) для такой характеристики, как «Цвет», или для характеристики «Тип разъема» значения «PS/2», «USB» и т.д.

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

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

 

Табличные части

В 1С: Предприятии 8.0 появилась возможность для справочника создать одну или несколько табличных частей. Эту возможность рекомендуется использовать для отражения информации, связанной с данным элементом, но не имеющей собственной объектной сущности (для таких объектов рекомендуется завести подчиненный справочник). Например, для справочника Товары может быть создана табличная часть ЕдиницыИзмерения.

Обратите внимание, что при использовании табличной части уже нельзя будет ссылаться на строки табличной части, т.е. нельзя будет создать реквизит, соответствующий понятию «строка табличной части».

Например, если для справочника Сотрудники завести табличную часть Образование (вместо подчиненного справочника), то для реквизитов документов мы не сможем выбрать тип, аналогичный понятию «место учебы сотрудника». Это надо учитывать при выборе между подчиненным справочником и табличной частью.

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

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

Ситуация 1

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

Решение: Справочник Контрагенты и подчиненный ему справочник РасчетныеСчета с полями Банк, Номер, КоррСчет.

Ситуация 2

Допустим, для справочника Номенклатура есть потребность хранить список единиц измерения для каждого товара с указанием коэффициента пересчета в основную единицу измерения. Эти сведения подбираются из справочника ЕдиницыИзмерения, который хранит все существующие в природе единицы измерений. Каждая строка такого подчиненного списка не имеет собственной объектной сущности, а нужна только для пересчета из одной единицы измерения в другую.

Решение: Справочник Номенклатура и табличная часть ЕдиницыИзмерения с полями ЕдиницаИзмерения и КоэффициентПересчета.

Ситуация 3

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

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

Ситуация 4

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

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

 


Дата добавления: 2015-12-20; просмотров: 39; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!