По позиции регистратора 1с что это

Регистр сведений

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

Структура

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

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

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

записи, хранимые в базе данных, будут выглядеть следующим образом:

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

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

Периодичность

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

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

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

Например, периодический регистр сведений Цены товаров может не только хранить информацию о том, какова цена на определенную номенклатуру сейчас, но и о том, как она изменялась в прошлом (или будет изменяться в будущем):

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

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

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

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

Например, изменение цен компании может производиться только определенным кругом лиц, и каждое такое изменение должно сопровождаться «бумажным» документом. В этом случае можно использовать режим подчинения регистратору, при котором изменение цен может быть выполнено только специальным документом — Изменение цен товаров.

Уникальность записей

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

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

Формы

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

Форма списка

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

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

Форма записи

Для просмотра и изменения отдельных записей регистра сведений используется форма записи. Как правило, она представляет данные в удобном для восприятия и редактирования виде:

Источник

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

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

Независимый регистр сведений

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

ТоварТип ценЦена
ШкафОптовая1000
ШкафРозничная2000
ТумбочкаОптовая500
ТумбочкаРозничная1200

На закладке Данные можно настроить состав измерений и ресурсов регистра сведений. Ресурсы — это как раз та самая информация, которая хранится в разрезе измерений:

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

При сохранении конфигурации базы данных будет создана таблица с тремя колонками: Товар, ТипЦен и Цена.

В пользовательском режиме можно добавлять в регистр новые записи:

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

При этом нельзя добавить две записи с одинаковым значением измерений. Если попытаться добавить еще одну цену на шкаф для оптовой цены, то при записи будет выброшено исключение: «Запись с такими ключевыми полями существует!»:

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

Контроль уникальности записей выполняется при записи и при изменении состава измерений в конфигураторе. Если удалить у регистра сведений измерение Тип цен и попытаться обновить конфигурацию базы данных, то при реструктуризации базы данных будет выдана ошибка «Имеются записи с одинаковыми измерениями», потому что после удаления измерения Тип цен стало по две записи с товарами Шкаф и Тумбочка:

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

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

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

Если попытаться добавить запись с пустым товаром, то будет выброшено исключение «Запись не верна! Значение поля «Товар» не может быть пустым!»:

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

Флаг Ведущее у измерения регистра сведений означает, то данная запись имеет смысл пока существует элемент базы данных, ссылка на который хранится в данном измерении. Если удалить из базы данных товар Шкаф, то автоматически из регистр сведений будут удалены все записи, где в измерении Товар был указан Шкаф. Если бы данный флаг не был установлен, то записи остались бы в регистре с битой ссылкой.

А также в карточке товара появляется гиперссылка для быстрого перехода к регистру сведений с отбором по текущему товару:

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

Флаг Основной отбор используется при регистрации записей в плане обмена и будет рассмотрен в соответствующей главе.

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

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

Регистр сведений, который был рассмотрен нами называется независимым, потому что в него можно добавлять и удалять записи вручную. У такого регистра на закладке Основные свойство режим записи равно Независимый:

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

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

На закладке Основные есть свойство Периодичность. Если там выбрать значение отличное от Непериодический, то в таблицу регистра будет автоматически добавлено поле Период. Периодичность бывает:

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

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

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

С помощью периодических регистров сведений можно хранить историю изменения ресурсов регистра.

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

На закладке Основные в свойстве Режим записи можно установить значение Подчинение регистратору:

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

В этом случае в таблицу регистра будет добавлено еще три колонки:

В роли регистратора всегда выступает документ. Список возможных документов-регистраторов указывается на закладке Регистраторы. Если не указать ни один документ, то при сохранении конфигурации базы данных будет ошибка: «РегистрСведений.ЦеныНаТовары: Ни один из документов не является регистратором для регистра».

Создадим новый документ УстановкаЦенНаТовары и отметим его как регистратор:

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

Теперь нельзя вручную добавлять новые записи в регистр. Записи должны формироваться документами-регистраторами при проведении. Добавим в обработку проведения документа УстановкаЦенНаТовары следующий код:

Источник

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

Многие программисты, знакомые с версией 7.7 и желающие освоить версию 8, спрашивают, куда делись периодические реквизиты справочников и периодические константы. А если их нет, то какой механизм их заменяет? В 1С:Предприятии 8 для хранения истории изменения значений предназначены периодические регистры сведений.

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

Для периодического реквизита при создании указывается свойство «Периодичность» из следующих возможных значений:

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

Самый простой пример периодического регистра сведений — КурсыВалют. Этот регистр сведений хранит курсы всех валют на каждый день. Структура регистра представлена ниже:

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

Подробная информация о структуре регистра сведений КурсыВалют приведена в следующей таблице:

Измерения:Валютытип «СправочникСсылка.Валюты», ведущее, запрет незаполненных значений
Ресурсы:тип «число», длина 15, точность 4, неотрицательное
тип «число», длина 10, точность 0, неотрицательное
ПериодичностьВ пределах дня
Режим записиНезависимый

Данные в этот регистр сведений можно вводить вручную с помощью формы списка.

По позиции регистратора 1с что это. Смотреть фото По позиции регистратора 1с что это. Смотреть картинку По позиции регистратора 1с что это. Картинка про По позиции регистратора 1с что это. Фото По позиции регистратора 1с что это

ВНИМАНИЕ. В регистр сведений с определенной периодичностью, не равной «По позиции регистратору», нельзя ввести две записи с одинаковым набором измерений и периодом, т.е. нельзя ввести два курса одной валюты в один день. Если периодичность записи регистра имеет значение «По позиции регистратора», то ключ уникальности записи также содержит и ссылку на документ-регистратор, т.е. в таком регистре не может существовать две записи с одинаковым набором измерений, периодом и регистратором. Это неотъемлемое свойство регистра сведений, отличающее его от остальных регистров.

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

Обращение к периодическим сведениям с помощью методов

Объект РегистрСведенийМенеджер позволяет обращаться к «итогам» регистра. Под «итогами» периодического регистра сведений понимаются первые или последние значения ресурсов по указанным измерениям. При этом применяются следующие методы:

Возвращает в виде структуры значения ресурсов одной записи регистра, соответствующей указанным значениям всех (!) измерений регистра и периоду.

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

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

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

Продемонстрируем использование этих методов на примерах:

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

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

Пример 3. Получение актуальных курсов всех валют на заданную дату (отбор не указан, т.е. мы хотим получить сведения по всем значениям измерений).

Пример 4. Получение актуальных оптовых цен на товары (указан отбор по измерению «ТипЦен»)

Обращение к периодическим сведениям с помощью запросов

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

ПолеОписание
Набор полей, содержащий значения измерений регистра. Имена полей соответствуют именам измерений.
Набор полей, содержащий значения реквизитов регистра.
Набор полей, который содержит значения ресурсов регистра.
АктивностьСодержит признак активности записи. Записи, для которых значение данного свойства установлено в Ложь, не будут учитываться при получении «первых» или «последних» записей регистра, а также при получении сведений на определенный момент времени.
МоментВремениСодержит момент времени записи регистра.
НомерСтрокиСодержит номер строки, определяемый как порядковый номер записи в наборе записей.
ПериодСодержит период, к которому относится запись регистра.
РегистраторСодержит ссылку на документ-регистратор движения.

При обращении к виртуальным таблицам СрезПервых и СрезПоследних можно указать следующие параметры:

ПараметрОписание
ДатаУказывается дата или момент времени, на которые будут получены сведения. Если параметр не задан, будут выбираться наиболее поздние/ранние записи.
УсловиеУказывается условие на языке запросов. Оно будет использовано для ограничения состава записей, среди которых будут выбираться наиболее поздние/ранние. Условие будет применяться к исходным записям, а не к уже отобранным.

Приведем примеры обращения к записям регистра сведений с помощью запросов:

Пример 1. Выбрать все записи регистра сведений

Пример 2. Получить актуальный курс одной валюты на заданную дату

Пример 3. Выбрать актуальные курсы всех валют на заданную дату

Пример 4. Получить актуальный прайс-лист на заданную дату (указан определенный тип цен, например, «Розничная»)

Источник

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

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