Регистры сведений 1С

Регистр сведений в 1С: Предприятие (РС) – это объект метаданных, предназначенный для хранения справочной информации в разрезе определенных разработчиком измерений.

Курс 1С: Эксперт. Основная таблица (кластерный индекс) РС
Основная таблица (clustered index) Регистра Сведений

Но самая главная возможность регистра сведений  – это  формировать составной индекс (по измерениям).

Основные таблицы Регистра сведений 1С: Предприятие

Обычный (непереодический)

У обычного регистра сведений создается одна таблица, которая является кластерным по измерениям, ресурсам и реквизитам.

Курс 1С: Эксперт. Основная таблица обычного РС
Основная таблица обычного регистра сведений

Если мы проиндексируем произвольный реквизит или измерение, то будет дополнительная таблица, где сначала идет реквизит, далее идут измерения (без ресурсов и реквизитов).

Курс 1С: Эксперт. Обычный РС - индекс реквизита
Обычный регистр сведений — индекс по реквизиту.

Тем самым в 1С: Предприятие для регистра сведений очень важен порядок измерений, т.к. если мы будем искать по второму «Отчество», то мы не попадем в индекс и будет выполняться сканирование всей таблицы основной таблицы.

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

Периодический регистр сведений

У периодического регистра сведений основная таблица строится по Периоду:

Курс 1С: Эксперт. Периодический РС Курсы Валют.
Периодический регистр сведений «Курсы Валют».

Если проиндексировать произвольный ресурс, реквизит или измерение, то будет дополнительная таблица, где сначала идет индексируемый реквизит, далее период и измерения (без ресурсов).

Курс 1С: Эксперт. Периодический РС индекс по ресурсу
Периодический регистр сведений. Индекс по ресурсу.

Важно понимать суть периодического регистра сведений в в 1С: Предприятие – он содержит именно периодические данные, а не просто информацию с датой.

Следовательно, если у вас есть поле с датой, то не обязательно, что ваш регистр будет периодическим, важно понимать, будем ли мы отбирать наши записи по этой дате или дата – это просто одно из измерений/ресурсов.

Например, Номер и Дата первичного документа для отсканированного файла (акт поставщика) – это просто справочная информация, а не периодическая. В отличие от курсов валют, которые являются строго периодической информацией и курс валют мы всегда получаем в разрезе даты.

Регистр сведений, подчиненный регистратору

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

Курс 1С: Эксперт. РС. Подчинение регистратору
РС. Подчинение регистратору.

Дополнительные таблицы строятся по измерениям.

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

Основные отличия регистра сведений от справочника

  1. У РС нет первичного ключа (ссылки), т.е. мы не можем ссылаться на запись регистра сведений
  2. У РС составной индекс, в отличие от справочника. В справочнике мы не можем это сделать сразу по нескольким произвольным полям (средствами 1С). Исключением может быть только индексация реквизита с доп. упорядочиванием, тогда будет таблица с реквизитом и полем основного представления.
  3. РС записывается только набором записей. Даже когда мы записываем одну запись, она преобразуется в набор записей, это можно легко отследить в модуле объекта в обработчике перед записью. Объектом записи является набор записей.

Курс 1С: Эксперт. Регистры сведений 1С

При проектировании крайне важно понимать, какие поля поиска нам нужны, а это зависит от целей регистра сведений:

  1. Если цель – это хранение справочной информации, то достаточно просто кластерного индекса, т.е. основной таблицы.
  2. Если цель – быстрое извлечение информации, то необходимо тщательно продумать, какие поля будут участвовать в поиске.

Данная тема подробнее рассматривается в пакете видео-курса «Секреты 1С: Эксперта» Шаг 2. Занятие 05-01 Регистры сведений.

Константин Ефимов | 1С: Эксперт. Фриланс Вьетнам.

 

КОНСТАНТИН ЕФИМОВ
Комментарии и вопросы