Чем отличается справочник от регистра сведений
Перейти к содержимому

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

  • автор:

Регистры сведений 1С. Универсальная «палочка-выручалочка» разработчика

Основная трудность, с которой сталкиваются начинающие изучать 1С, заключается в том, что быстро разобраться что здесь к чему очень сложно. В платформе 1С:Предприятие вводится целый ряд оригинальных понятий. Объяснений этих понятий во встроенной справке, на сайте 1С и на прочих ресурсах много, но они мало что проясняют даже искушенному в ИТ. Здесь я расскажу об одном важном понятии в 1С. Простыми словами и со смыслом.

Определение

Приведу для начала две цитаты.

Основная задача регистра сведений — хранить существенную для прикладной задачи информацию, состав которой развернут по определенной комбинации значений и, при необходимости, развернут во времени.

Это из встроенной справки. Ее еще называют синтакс-помощник. Слова тут простые, но если смотреть свежим взглядом, лишены какого-либо смысла. Есть регистр, который хранит существенную информацию? А что, есть регистр, который хранит чепуху? Что означает «развернутость» информации? Она была «свернута», а потом «развернулась»? Хотелось бы понять детали этого процесса!

Регистры сведений — это прикладные объекты конфигурации. Они позволяют хранить в прикладном решении произвольные данные в разрезе нескольких измерений.

А это с сайта 1С https://v8.1c.ru/platforma/registr-svedeniy/ Как можно что-то «хранить в разрезе»? Что тут «режется» и зачем?

Мое определение понятия «регистр сведений» звучит так.

Регистр сведений — это полный аналог таблицы базы данных.

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

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

Для тех, кто не знаком с теорией баз данных поясню, по возможности коротко и просто.

Большинство современных баз данных называются реляционными, потому что они состоят из таблиц. Так или иначе, все имели дело с таблицами. Таблица — это множество однотипных строк, и множество колонок. Как добраться до колонки понятно. Надо назвать ее по имени. А как добраться до конкретной строки в таблице? Для этого нам потребуется т.н. ключ. В самом простом случае ключом для конкретной строки является значение в одной из колонок.

В этой таблице ключи находятся в колонке «Идентификатор». Для того, чтобы однозначно определять строку по ключу, каждое значения ключа должно быть уникальным в пределах таблицы. Какой-бы большой не была таблица, поиск по ключу происходит очень быстро, потому что ключи особым образом компонуются в структуру под названием индекс.

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

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

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

Регистр сведений со множеством измерений

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

Такие объекты платформы, как справочник или документ создаются с предопределенным первичным ключом. Этот первичный ключ состоит из одного поля. В 1С его называют ссылкой. Если же нам требуется составной первичный ключ, тогда мы используем регистр сведений.

Один пример я уже дал выше. Еще несколько примеров:

цены товаров у поставщиков;

подразделение и занимаемая должность работника;

место хранения товара на складе;

настройки заполнения банковских выписок;

график работы сотрудника.

Регистр сведений с одним измерением

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

Конечно, такая практика приводит к некоторой путанице. Открываешь справочник(документ) в режиме пользователя, вот он реквизит. Можно редактировать. Открываешь справочник(документ) в Конфигураторе, нет реквизита! Ищи в другом месте. Но есть и плюс, который заключается в том, что исходный справочник(документ) остается в неизменном виде. И если возникает именно такая задача (внести изменения, но не «трогать» исходный справочник или документ), тогда используют регистр сведений с одним измерением.

Регистр сведений без «измерений»

Можно создать регистр сведений вообще без измерений. Это не будет означать, что у регистра сведений нет ключа вообще и можно вводить сколько угодно записей. Это будет означать, что ключ есть, он представляет собой пустое значение и запись в таблице может быть только одна. В 1С:предприятие есть такой объект, который называется константа. Он не имеет ничего общего с тем, что под этим обычно подразумевается. Концептуально, константа в 1С — это таблица с одной колонкой и одной строкой. Чисто умозрительно, полезная штука, но на практике — не очень. Эти самые константы надо как-то группировать. Приходится задавать префиксы имен. Имена становятся уродливыми. Регистр сведений без измерений, по сути, представляет собой поименованное множество пар ключ-значение. И это отличная альтернатива константам.

Подчинение регистратору

Регистры сведений входят в семейство регистров 1С. По правде сказать, они не совсем полноправные члены этой семьи. Регистры сведений — это универсальный инструмент, в то время как регистры накопления гораздо более специализированы, а уж регистры бухгалтерии и регистры расчетов специализированы очень сильно. Единственное, что обнаруживает родственную связь регистров сведений с прочими регистрами, это то, что записи в регистрах сведений могут создаваться на основании документов. Здесь же, кстати, можно увидеть и отличие регистров сведений от остальных регистров. Во всех прочих регистрах записи создаются ТОЛЬКО на основании документов, а для регистров сведений этот вопрос оставлен на усмотрение разработчика. В принципе, этим пользуются и в типовых и в нетиповых конфигурациях, но лично я не вижу в этом большого смысла. Здесь имеет место скорее некоторая инерция. Разработчики привыкают использовать связку документ-регистр для регистров накопления, а потом переносят эту практику на регистры сведений.

Регистр сведений с измерением типа дата

Есть такая довольно часто встречающаяся задача, которая называется «Получить последние значения чего-либо». У нее есть известное решение, укладывающееся в три строки SQL запроса. В 1С-овском диалекте это выглядит так:

Чтобы избавить разработчиков от необходимости вспоминать это решение, в 1С решили сделать так. Регистры сведений, у которых в составе первичного ключа есть дата, были объявлены особенным подвидом и названы периодическими регистрами сведений. У этих периодических регистров сведений появились виртуальные таблицы под названием срез последних. При обращении к этим таблицам происходит выполнение запроса, являющегося аналогом того, что я указал выше. Там, правда, действует странное ограничение. Получить последние значения вы можете только по полному списку измерений. Это противоречит опыту, который разработчики получают при взаимодействии с регистрами накопления. Обращение к виртуальной таблице оборотов регистра накопления возможно по любому подмножеству измерений. Но в целом, периодические регистры сведений — это полезный инструмент. Хотя, в последнее время, с появлением версионирования и истории версий, он несколько утратил свое значение.

Заключение

Сильная сторона 1С в том, что можно не знать многие вещи, например, о базах данных. И при этом создавать работоспособные приложения. В большинстве случаев, вам не требуется знать или помнить в деталях для чего нужны первичные ключи и как они работают. Система все сделает за вас. Но когда вам потребуется сделать что-то из области универсального, тогда начальные знания о том, как это работает, все-таки будут нелишними.

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

В чем отличия справочника от регистра сведений 1с

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

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

Основное предназначение регистров сведений в том, что в них должны храниться показатели аналитики. Например, у нас есть задача хранить виды топлива (АИ-92, АИ-95 и т. д.), но также и цену на этот вид топлива. Как это удобное всего организовать. Однозначно сами виды топлива необходимо хранить в каком-то справочнике. Так его и назовем – вид топлива. Но где же хранить цену на этот вид топлива? Самое первое решение в реквизите справочника.

Очевидно, такое решение имеет место, если цена у нас ни когда не изменяется. Но в жизни такое редко случается, поэтому если мы так сделаем, то возникнет необходимость каждый раз изменять элемент справочника при изменении цены. В принципе, почему бы и нет. Но, если мы еще добавим новый разрез цены – поставщик топлива: у одного и того же вида топлива может быть разная цена для разных поставщиков, то хранение цены в реквизите справочника станет принципиально не возможной: мы не будем знать, к какому поставщику относиться эта цена.

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

В чем разница между справочником и регистром сведений?

Регистр сведений (далее РС) изменяется информация с течением времени, а в справочнике информация почти постоянная , только если руками не изменить. На РС запросы работают быстрее, чем в справочнике. В регистре можно узнать что было на заданный период.Sep 21, 2018

Что быстрее регистр сведений или справочник?

Регистр работает быстрее справочника.

В чем разница между документом и справочником в 1с?

Следует понимать отличие справочников и документов: справочники хранят справочную информацию о контрагентах, товарах, структуре предприятия. Документы меняют остатки товаров, изменяют взаиморасчеты с контрагентами и т.

В чем разница между регистром сведений и регистром накопления?

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

Зачем нужно измерение у регистра 1с?

Измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию. В регистре сведений нужно хранить информацию, которая может различаться (ресурсы – цены, типы цен и т. п.)

Чем отличается справочник от регистра сведений 1С?

Основное отличие, правильно сказали, ссылочность. Справочник можно связать с другими объектами, из РС можно только использовать информацию. Элементы справочника — ссылочного типа, в отличие от записи регистра сведений.

Чем отличаются регистры в 1С?

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

Для чего нужен справочник?

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

Какие бывают виды справочников?

Виды справочниковСловариОрфоэпические словариЭтимологические словариСловари общего типаСловари трудностей (правильностей)Словари полного типаСловари новых словГрамматические словари

В чем разница между справочником и регистром сведений? Ответы пользователей

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

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

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

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

Информация в регистре сведений хранится в виде записей, каждая из которых содержит значения измерений и соответствующие им значения ресурсов. Измерения регистра .

Информация в регистре сведений хранится в виде записей, каждая из которых содержит значения измерений и соответствующие им значения ресурсов.

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

Измерения регистра сведения, какие есть возможности во время создание регистра. . Разница между ними в том, что в каждой записи РС, .

Каждый экземпляр объекта метаданных представлен отдельной записью регистра сведений 1с. Например, если мы рассмотрим справочник «ЦеныКомпании», то его .

Чем отличается справочник от регистра сведений?

В регистре можно узнать что было на заданный период. Основное отличие , правильно сказали, ссылочность. Справочник можно связать с другими объектами, из РС можно только использовать информацию. Элементы справочника — ссылочного типа, в отличие от записи регистра сведений .

Что быстрее регистр сведений или справочник?

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

В чем отличие регистра сведений от регистра накопления?

Чем Регистры сведений отличаются от Регистров накопления ? Регистры сведений предназначены для хранения информации, развернутой по комбинации измерений, а регистры накопления предназначены для хранения информации, развернутой по комбинации измерений и поддающиеся суммированию.

Для чего используется регистр сведений?

Регистры сведений — это прикладные объекты конфигурации. Они позволяют хранить в прикладном решении произвольные данные в разрезе нескольких измерений. Например, в регистре сведений можно хранить курсы валют в разрезе валют, или цены предприятия в разрезе номенклатуры и типа цен.

Что такое измерения и ресурсы регистра?

Измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию. В регистре сведений нужно хранить информацию, которая может различаться ( ресурсы – цены, типы цен и т.

Когда лучше использовать справочник когда регистр сведений?

Если не нужно ссылаться на запись, ИМХО, предпочтительнее сделать регистр сведений . В общем, будет работать быстрее. Особенно, если в конфигурации много реквизитов типа «любая ссылка». и использование этой ссылки в других объектах — справочник .

Для чего предназначен объект регистр сведений?

Регистр сведений предназначен для описания структуры хранения данных в разрезе нескольких измерений; . Ключ записи (Однозначно позволяет идентифицировать запись) является совокупностью значений измерений регистра и периода; Что такое периодический регистр сведений и что такое независимый регистр сведений ?

Зачем нужно измерение у регистра?

Измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию. В регистре сведений нужно хранить информацию, которая может различаться (ресурсы – цены, типы цен и т. п.)

Что означает режим записи подчинение регистратору?

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *