В 1С:Предприятии 8 появилась возможность для справочника создать одну или несколько табличных частей. Эту возможность рекомендуется использовать для отражения информации, связанной с данным элементом, но не имеющей собственной объектной сущности (для таких объектов рекомендуется завести подчиненный справочник). Например, для справочника "Товары" может быть создана табличная часть "ЕдиницыИзмерения".
Обратите внимание, что при использовании табличной части уже нельзя будет ссылаться на строки табличной части, т.е. нельзя будет создать реквизит, соответствующий понятию «строка табличной части». Например, если для справочника "Сотрудники" завести табличную часть "Образование" (вместо подчиненного справочника), то для реквизитов документов мы не сможем выбрать тип, аналогичный понятию "место учебы сотрудника". Это надо учитывать при выборе между подчиненным справочником и табличной частью.
Если даже в перспективе может возникнуть потребность ссылаться на подчиненные объекты, например, создавать ссылающиеся на них реквизиты документов или других справочников, то лучше сразу завести подчиненный справочник. Если же ссылка на такие сведения не имеет смысла и никогда не может быть типом какого-либо реквизита, тогда можно завести табличную часть.
Ниже представлен перечень ситуаций и наиболее корректный выбор между подчиненным справочником и табличной частью. Просьба изучить эти ситуации очень тщательно, чтобы не допускать ошибок при выборе.
Ситуация 1
В базе данных необходимо хранить список расчетных счетов каждого контрагента. Почти наверняка в платежных документах будет необходимо, кроме контрагента, указывать его расчетный счет. Такая информация имеет четкую объектную природу и может быть идентифицирована как "расчетный счет".
Решение: Справочник "Контрагенты" и подчиненный ему справочник "РасчетныеСчета" с полями "Банк", "Номер",
"КоррСчет".
Ситуация 2
Допустим, для справочника "Номенклатура" есть потребность хранить список единиц измерения для каждого товара с указанием коэффициента пересчета в основную единицу измерения. Эти сведения подбираются из справочника "ЕдиницыИзмерения", который хранит все существующие в природе единицы измерений. Каждая строка такого подчиненного списка не имеет собственной объектной сущности, а нужна только для пересчета из одной единицы измерения в основную.
Решение: Справочник "Номенклатура" и табличная часть "ЕдиницыИзмерения" с полями "ЕдиницаИзмерения" и "КоэффициентПересчета".
Ситуация 3
Допустим, встроенной системы задания прав пользователей не хватает для некоторых специальных приложений. Например, часто требуется разработать механизм утверждения документов разными пользователями. Тогда для сотрудника нужно хранить список документов, которые он может утверждать, и с этим отлично справится табличная часть "УтверждаемыеДокументы" справочника "Сотрудники". Такая информация не имеет объектной природы, а просто связывает документ и сотрудника, поэтому вряд ли понадобится когда-либо в будущем создавать ссылки на нее.
Решение: Справочник "Сотрудники" и табличная часть "УтверждаемыеДокументы" с полем "Документ" и флажком "Утверждается". Заметим, что эту задачу также можно решить с использование регистров сведений.
Ситуация 4
Для справочника "Сотрудники" требуется хранить сведения о составе семьи сотрудника, т.е. вносить информацию о членах семьи и их родственных отношениях к сотруднику (муж, жена, сын, дочь и т.д.). Обычно эта списковая информация полностью подчинена элементу справочника "Сотрудники", и возникает мысль о том, чтобы завести табличную часть. Но если подумать, то такая информация имеет четкую объектную природу и может быть идентифицирована как "член семьи". Для некоторых приложений может потребоваться создавать ссылки на членов семьи сотрудника. Аналогичная ситуация наблюдается со сведениям об образовании и о предыдущих местах работы сотрудника.
Решение: Выбор между подчиненным справочником и табличной частью зависит от назначения конфигурации. Если в будущем может возникнуть потребность создавать ссылки на такие сведения, то лучше завести подчиненные справочники "СоставСемьи", "Образование" и "ТрудоваяДеятельность".
Важное замечание. Необходимо помнить, что при обращении к элементу справочника он весь, вместе со всеми табличными частями, считывается из базы данных в память. Если табличная часть содержит достаточно большое количество строк это может заметно сказаться на производительности системы.
Таким образом, табличную часть стоит использовать, если не надо хранить ссылки на элементы, и количество элементов ограничено.