Раздел 2: Организация и настройка регистров сведений в программе 1С
В программе 1С есть возможность создания и настройки регистров сведений. Регистры сведений представляют собой специальные объекты, которые позволяют хранить информацию в таблицах базы данных.
Чтобы создать регистр сведений, необходимо выполнить следующие шаги:
- Открыть программу 1С и перейти в режим разработки.
- В левой части экрана выбрать нужную конфигурацию, в которой будет создаваться регистр сведений.
- Щелкнуть правой кнопкой мыши на разделе «РегистрыСведений» и выбрать пункт «Добавить».
- В открывшемся окне ввести название регистра сведений и установить необходимые параметры, такие как тип, размерность, с учетом особенностей вашей программы.
- Щелкнуть правой кнопкой мыши на созданном регистре сведений и выбрать пункт «Реквизиты». В открывшемся списке добавить нужные реквизиты, например, «Дата», «Сумма», «Количество» и др.
- Настроить индексы регистра сведений при необходимости, чтобы ускорить операции по работе с данными.
Также при настройке регистров сведений можно задать различные ограничения на значения реквизитов, создать основные и дополнительные коды, настроить способы отображения данных и многое другое.
Помимо создания регистров сведений, также можно настраивать их использование в рамках программы 1С. Например, можно создать специальные обработчики событий для регистра сведений, чтобы автоматически выполнять определенные действия при добавлении или изменении данных в нем.
В итоге, организация и настройка регистров сведений в программе 1С позволяет удобно хранить информацию и проводить операции по работе с данными, упрощая и автоматизируя процессы в вашей программе.
Важность организации регистров сведений в программе 1С
В программах 1С создание и настройка регистров сведений является важной частью процесса разработки информационной системы. Регистр сведений представляет собой структурированный набор данных, который позволяет хранить и обрабатывать информацию о конкретных событиях или операциях
Организация регистров сведений позволяет установить единообразный способ хранения информации, обеспечивая возможность быстрого доступа к данным и удобный поиск по различным критериям. Создание и настройка регистров сведений в программе 1С позволяют установить необходимые атрибуты и связи между данными, что повышает эффективность работы информационной системы.
В программе 1С можно создать различные виды регистров сведений, в зависимости от требуемых задач и видов информации. Например, можно создать регистр сведений для учета финансовых операций или регистр сведений для учета клиентов. Каждый регистр сведений может иметь различные атрибуты и связи, которые позволяют более точно определить характеристики и свойства данных.
Организация регистров сведений в программе 1С также позволяет управлять доступом к данным и определять права пользователей на чтение и изменение информации
Это важно для обеспечения безопасности системы и предотвращения несанкционированного доступа к данным
Преимущества организации регистров сведений в 1С: |
---|
|
Таким образом, организация регистров сведений в программе 1С позволяет создать структурированное хранилище данных, обеспечивающее эффективную работу информационной системы. Данный подход позволяет установить необходимые свойства и атрибуты данных, контролировать доступ к информации и обеспечить безопасность системы.
Непериодический регистр сведений 1С
Основное предназначение регистров сведений в том, что в них должны храниться показатели аналитики. Например, у нас есть задача хранить виды топлива (АИ-92, АИ-95 и т.д.), но также и цену на этот вид топлива. Как это удобное всего организовать. Однозначно сами виды топлива необходимо хранить в каком-то справочнике. Так его и назовем – вид топлива. Но где же хранить цену на этот вид топлива? Самое первое решение в реквизите справочника.
Очевидно, такое решение имеет место, если цена у нас ни когда не изменяется. Но в жизни такое редко случается, поэтому если мы так сделаем, то возникнет необходимость каждый раз изменять элемент справочника при изменении цены. В принципе, почему бы и нет. Но, если мы еще добавим новый разрез цены – поставщик топлива: у одного и того же вида топлива может быть разная цена для разных поставщиков, то хранение цены в реквизите справочника станет принципиально не возможной: мы не будем знать, к какому поставщику относиться эта цена.
Для решения этих задач служит специальный объект конфигурации — регистр сведений. В этом регистре сведений можно создавать записи, в которых будет указано, что для такого-то вида топлива, для такого-то поставщика устанавливается такая-то цена.
Сейчас мы и решим эту маленькую прикладную задачу: в нашей конфигурации есть два справочника «Виды топлива» и «Поставщики топлива»
Необходимо организовать возможность хранения цены для каждого вида топлива с учетом поставщиков. Для этого в создадим новый регистр сведений ЦеныНаТопливо.
На закладке Основные
установим имя и синоним. Все остальное оставим как есть.
Теперь на закладке данные создадим два измерения – ВидТоплива и ПоставщикТоплива, типы которых ссылки на соответствующие справочники.
У обоих измерений поставим флаг – Ведущее
. Это значит, что если мы удалим элемент справочника, который указан в какой-то записи регистра сведений, то эта запись удалиться автоматически. Так же есть одно интерфейсное следствие этого флага: если флаг установлен, то в форме элемента справочника мы сможем посмотреть на записи этого регистра для этого элемента.
Установим для каждого измерения этот флаг.
У нас непериодический
регистр, и в нем два измерения ВидТоплива
и ПоставщикТоплива
это значит, что мы не сможем создать две записи с одинаковыми значениями полей ВидТоплива
и ПоставщикТоплива
. Программа выдаст ошибку. Что и разумно – не может быть две разных цены на один и тот же вид топлива у одного и того же поставщика. А если может, то это значит, что необходимо добавить еще один разрез (например, база поставщика).
Кроме измерений у регистра сведений существуют Ресурсы
и Реквизиты
. Ресурс
должен хранить основную информацию регистра сведений, т.е. те данные, ради которых он создан, а Реквизит
содержит дополнительную второстепенную информацию о записи.
Мы создадим ресурс – Цена
(тип число 10,2).
И всё. Сохраним конфигурацию и откроем этот регистр сведений и заведем какую-нибудь запись.
Если мы сейчас попробуем создать запись с точно таким же набором измерений, то возникнет ошибка: «Запись с такими ключевыми полями существует».
И последний момент: поскольку мы у измерения ВидТоплива
установили флаг «Ведущее», то у элемента справочника ВидыТоплива
появилась команда на открытие регистра сведений «Цена на топливо»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы.
Регистры сведений 1С
это структурированный набор данных с измерениями и ресурсами. Предназначен для хранения периодической информации.
Исправление ошибки «Записи регистра сведений стали неуникальными»
Последовательное обновление конфигурации без «пропусков»
Если конфигурация типовая и изменений в нее пользователем не вносилось, проведите обновление последовательно всеми вышедшими релизами, без пропусков. Возможно, разработчики что-то убирали в коде, а в следующем релизе — добавляли и пропуск этих промежуточных релизов привел к ошибке заполнения каких-то данных регистра по умолчанию.
Настройка автоматического обновления
Настройте автоматическое обновление 1С: раздел Администрирование — Настройки программы — Интернет-поддержка и сервисы — Обновление версии программы.
При автоматическом обновлении подобная ошибка, как правило, не появляется, так как все изменения разработчиков в «промежуточных» релизах, которые может пропустить пользователь при самостоятельном обновлении, учитываются автоматически.
Сравнение конфигураций
В самых сложных случаях придется сравнить основную конфигурацию с конфигурацией базы данных, анализ данных последней и приводит к ошибке.
В момент появления ошибки основная конфигурация и конфигурация базы данных отличаются. Именно появление ошибки и мешает завершению обновления конфигурации базы данных. Поэтому нужно разобраться, что происходит и какие данные в базе мешают ее обновлению.
Пошаговая инструкция сравнения основной конфигурации и конфигурации базы данных.
Шаг 1. Открытие Конфигуратора.
Войдите в Конфигуратор информационной базы.
Откройте конфигурацию по кнопке Конфигуратор — Открыть конфигурацию. В правом окне откроется список всех объектов 1С.
Выберите команду Сравнить конфигурации.
Шаг 2. Настройка сравнения конфигураций.
Установите настройки как показано на рисунке.
Шаг 3. Запуск сравнения конфигураций.
Нажмите на кнопку ОК. Программа 1С выдаст окно сравнения конфигураций, в котором нужно перейти на регистр сведения Цены номенклатуры и раскрыть различия, нажав на «+» справа от объекта.
Шаг 4. Исправление ошибки.
Из таблицы сравнения видно, что в регистре Цены номенклатуры в основной конфигурации отсутствует параметр измерения Тип цен.
Войдите в базу данных и откройте регистр Цены номенклатуры: кнопка Главное меню — Все функции — Регистры сведений — Цены номенклатуры.
Как видно из рисунка, сейчас в регистре сведений Цены номенклатуры для Комплекта постельного белья две записи для типов цен:
- Продажная — 3 670 руб.;
- Оптовая — 2 090 руб.
Поскольку реквизит Тип цен был удален из основной конфигурации, в регистре сведений должно остаться две записи с разными ценами на одинаковые ключевые параметры для Комплекта постельного белья. Правила записи в регистр этого не допускают, и программа 1С выдает ошибку при обновлении базы данных.
Удалите одну из записей для Комплекта постельного белья и выполните обновление сначала. На этот раз никаких ошибок программа 1С не выдаст!
Подписывайтесь на наши YouTube
и Telegram чтобы не
пропустить важные изменения 1С и законодательства
Чтение записей
Чтение информации из базы данных рекомендуется выполнять при помощи запросов. Данный способ обеспечивает гибкое применение отборов и группировок, а также возможность выбора записей из нескольких таблиц.
Для периодических регистров сведений есть возможность получить наиболее поздние записи, период которых меньше указанной даты — срез последних, и наиболее ранние записи, период которых больше указанной даты — срез первых. Для получения среза первых и среза последних запросом необходимо использовать одноименные виртуальные таблицы, в параметрах которых сразу можно задать дату среза и отборы. Отборы, если они необходимы, рекомендуется накладывать именно в параметрах виртуальных таблиц, т.к. это позволяет ускорить выполнение запроса.
Кроме чтения запросом возможно использование методов объектной модели.
Для непериодических регистров сведений:
- Выбрать(<Отбор>, <Порядок>) — выбирает записи с указанным отбором;
- ВыбратьПоРегистратору(<Регистратор>) — выбирает все записи указанного регистратора;
- Получить(<Отбор>) — получает ресурсы записи с отбором по всем измерениям.
Для периодических регистров сведений:
- Выбрать(<НачалоИнтервала>, <КонецИнтервала>, <Отбор>, <Порядок>) — выбирает записи с указанным отбором, у которых период находится между <НачалоИнтервала> и <КонецИнтервала>;
- ВыбратьПоРегистратору(<Регистратор>) — выбирает все записи указанного регистратора;
- Получить(<Период>, <Отбор>) — получает ресурсы записи с отбором по всем измерениям и периоду;
- ПолучитьПервое(<НачалоПериода>, <Отбор>) — получает ресурсы наиболее ранней записи, соответствующей указанным периоду и отбору;
- ПолучитьПоследнее(<КонецПериода>, <Отбор>) — получает ресурсы наиболее поздней записи, соответствующей указанным периоду и отбору;
- СрезПервых(<НачалоПериода>, <Отбор>) — получает таблицу наиболее ранних записей, соответствующую указанным периоду и отбору;
- СрезПоследних(<КонецПериода>, <Отбор>) — получает таблицу наиболее поздних записей, соответствующую указанным периоду и отбору.
Ключ записи
Совокупность полей записи, по которой контролируется уникальность записей в регистре.
В регистре не может быть двух записей с одинаковыми значениями полей, входящих в ключ записи.
Также используется для идентификации записей, например, чтобы спозиционироваться на строку в списке.
Полезные ссылки:
- ИТС — Особенности использования типов, предназначенных для манипулирования необъектными данными,
- ИТС — Работа с прикладными объектами средствами встроенного языка,
- ИТС — Организация выбора из произвольной формы (на примере выбора из списка регистра сведений),
- ИТС — Периодические регистры сведений
Как удалить одну запись из регистра сведений?
Первый способ — использование объекта МенеджерЗаписи:
Для периодического регистра сведений:
С помощью этого кода удаляется запись из набора записей с установленными значениями ключевых полей. Как уже было сказано , объект менеджер записи работает с одной записью, которая будет предварительно выбрана, например, по значению служебного поля Период и измерения Валюта, если говорить про код периодического регистра сведений. Если присвоить значение только служебному полю период, то удаления не произойдет, так как в регистре сведений не будет найдено записи с пустым значением валюты. То же самое справедливо и в отношении кода по регистру сведений АдресныйКлассификатор, если значение присвоить только, например, одному измерению Код.
Второй способ — использование объекта НаборЗаписей:
Для периодического регистра сведений:
Поясним код выше. С помощью отбора производится получение одной записи в наборе. Затем этот отбор очищается и записывается в регистр сведений. Так как параметр <Замещать> метода Записать() по умолчанию имеет значение Истина, то найденная запись удаляется без добавления новой, так как не было команды для этого.
как получить ключ записи регистра сведений?
Мне нужно получить ключ записи регистра сведений. Для того чтобы потом получить навигационную ссылку картинки.
СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(НУЖЕН КЛЮЧ, «Картинка»);
Спасибо за ответы!
(1) Это же новый ключ создается. А я ищу старые
РСВ = РегистрыСведений.КартинкиНоменклатуры.Получить(Новый Структура(«ссылка», Объект.Ссылка)); СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(РСВ, «Картинка»);
вот так не дает, говорит ошибка.
Я через медеджер записи пробовал, тоже не работает.
РСВ = РегистрыСведений.КартинкиНоменклатуры.СоздатьМенеджерЗаписи(); РСВ.Ссылка = Объект.Ссылка; РСВ.Прочитать(); Если РСВ.Ссылка = Справочники.Номенклатура.ПустаяСсылка() тогда Иначе СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(РСВ, «Картинка»); КонецЕсли;
(15) Семен сенонов так где там ответ сказали. Вот отличный ответ сейчас проверю М = Массив; М.Добавить(Новый Структура(«Тут через запятую измерения регистра», Тут значения измерений)); КлючЗаписи = Новый («РегистрСведенийКлючЗаписи.ТвойРегистрСведений», М);
Характеристики
Регистр бывает как периодическим, так и непериодическим, когда не нужно сохранять последовательность изменений. Но если все-таки хранить нужно, то устанавливается, в пределах какого периода программа установит контроль уникальности записей: посекундно, за день, месяц, за квартал и год.
Рис.2 Периодичность и режим записи
Если попытаться создать две записи в пределах одного периода, программа выдаст ошибку «Запись с такими ключевыми полями существует!» и не даст произвести запись в базу данных.
Также можно указать режим записи. Первый с «Подчинением регистратору», при котором записи будут регистрироваться документами и в каждой из них будет указан документ-регистратор. Если выбирать второй – независимый режим, то данные регистрируются не регистратором, а добавляются, например, непосредственно из списка или как обработка.
Рис.3 Режимы записи
Особенность периодического регистра в том, что можно использовать срез крайних или первых, получая готовые значения из базы данных о последнем/первом установленном значении на определенную дату.
Изменение записи через менеджер записей
Реализуем внесение штрихкода номенклатуры программно м помощью менеджера записи. Порядок действий следующий:
- Создаем менеджер записей
- Вносим данные о номенклатуре штрихкоде и характеристике
- Пытаемся записать
МенеджерЗаписи = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи(); МенеджерЗаписи.Номенклатура = Номенклатура; МенеджерЗаписи.Штрихкод = Штрихкод; Если ЗначениеЗаполнено(Характеристика) Тогда МенеджерЗаписи.Характеристика = Характеристика; Иначе МенеджерЗаписи.Характеристика = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка(); КонецЕсли; Попытка МенеджерЗаписи.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки;
Реализуем внесение штрихкода, через менеджер записей с отбором.
- Создадим менеджер записи регистра сведений
- Установим отборы
- Прочитаем регистр
- Далее действуем в зависимости от того найдена запись в регистре или нет
- Если запись найдена заменяем штрихкод
- Если запись не найдена заполняем все реквизиты
- Записываем запись в регистр
МенеджерЗаписи = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи(); МенеджерЗаписи.Номенклатура = Номенклатура; МенеджерЗаписи.Характеристика = Характеристика; МенеджерЗаписи.Прочитать(); Если МенеджерЗаписи.Выбран() Тогда МенеджерЗаписи.Штрихкод = Штрихкод; Иначе МенеджерЗаписи.Номенклатура = Номенклатура; МенеджерЗаписи.Характеристика = Характеристика; МенеджерЗаписи.Штрихкод = Штрихкод; КонецЕсли; Попытка МенеджерЗаписи.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки;
Дополнительная информация по теме:
- Про регистры сведений на сайте v8.1c — ссылка
- Заметки про программирование на платформе 1с — ссылка
Выбор правильного ключа
При работе с регистром сведений в 1С необходимо правильно выбирать ключ записи. Ключ является уникальным идентификатором записи в регистре и позволяет осуществлять поиск, фильтрацию и сортировку данных
Важно выбирать ключ правильно, чтобы обеспечить эффективность работы с данными
При выборе ключа записи нужно учитывать следующие факторы:
Уникальность ключа: Ключ записи должен быть уникальным для каждой записи в регистре. Таким образом, каждая запись должна иметь уникальное значение ключа, чтобы исключить возможность дублирования данных.
Однозначность ключа: Ключ должен однозначно идентифицировать запись в регистре. Необходимо выбрать такие поля, которые будут обеспечивать уникальность и полноту идентификации записи.
Тип данных ключа: Ключ может быть любого типа данных, такого как строка, число, дата и время и т.д
Важно выбрать тип данных, который наиболее соответствует характеристикам записи и позволяет эффективно производить операции с данными.
Длина ключа: Длина ключа должна быть оптимальной для обеспечения эффективности работы с данными. Слишком длинный ключ может занимать большой объем памяти, а слишком короткий ключ может не обеспечить уникальность идентификации или не позволить осуществлять эффективный поиск и сортировку.
Стабильность ключа: Ключ должен быть стабильным и неизменным для каждой записи
Если ключ записи может изменяться с течением времени или изменениями в данных, это может привести к проблемам с поиском и обработкой данных.
При выборе ключа записи важно учитывать все вышеперечисленные факторы, чтобы обеспечить правильное функционирование и эффективность работы с регистром сведений в 1С
Изменение существующей записи
Для работы с одной записью используется объект «МенеджерЗаписи».
Пример:
зСтавка = РегистрыСведений.СтавкиПоПроектам.СоздатьМенеджерЗаписи();
зСтавка.Сотрудник = ПараметрыСеанса.ТекущийСотрудник;
зСтавка.Проект = ВыбПроект;
зСтавка.Прочитать();
зСтавка.Ставка = НоваяСтавка;
зСтавка.Записать();
1 2 3 4 5 6 7 8 |
зСтавка = РегистрыСведений.СтавкиПоПроектам.СоздатьМенеджерЗаписи(); зСтавка.Сотрудник = ПараметрыСеанса.ТекущийСотрудник; зСтавка.Проект = ВыбПроект; зСтавка.Прочитать(); зСтавка.Ставка = НоваяСтавка; зСтавка.Записать(); |
В данном случае мы создаем менеджер записи и указываем ему поля, необходимые для точной идентификации записи. Затем изменяем одно из поле («Ставка») и записываем изменения.
Если запись не будет найдена по указанным полям, то будет создана новая запись с указанными полями.
Если по указанным полям запись нельзя точно идентифицировать (находиться две или больше записи с указанными полями), то будет создана новая запись, в которой поля, использовавшиеся для отбора будут пустыми, а изменяемые поля заполнены соответствующими значениями (при тесте получилось именно так, поправьте если не прав).
Выбор правильного ключа
При работе с регистром сведений в 1С необходимо правильно выбирать ключ записи. Ключ является уникальным идентификатором записи в регистре и позволяет осуществлять поиск, фильтрацию и сортировку данных
Важно выбирать ключ правильно, чтобы обеспечить эффективность работы с данными
При выборе ключа записи нужно учитывать следующие факторы:
Уникальность ключа: Ключ записи должен быть уникальным для каждой записи в регистре. Таким образом, каждая запись должна иметь уникальное значение ключа, чтобы исключить возможность дублирования данных.
Однозначность ключа: Ключ должен однозначно идентифицировать запись в регистре. Необходимо выбрать такие поля, которые будут обеспечивать уникальность и полноту идентификации записи.
Тип данных ключа: Ключ может быть любого типа данных, такого как строка, число, дата и время и т.д
Важно выбрать тип данных, который наиболее соответствует характеристикам записи и позволяет эффективно производить операции с данными.
Длина ключа: Длина ключа должна быть оптимальной для обеспечения эффективности работы с данными. Слишком длинный ключ может занимать большой объем памяти, а слишком короткий ключ может не обеспечить уникальность идентификации или не позволить осуществлять эффективный поиск и сортировку.
Стабильность ключа: Ключ должен быть стабильным и неизменным для каждой записи
Если ключ записи может изменяться с течением времени или изменениями в данных, это может привести к проблемам с поиском и обработкой данных.
При выборе ключа записи важно учитывать все вышеперечисленные факторы, чтобы обеспечить правильное функционирование и эффективность работы с регистром сведений в 1С
Причины возникновения ошибки
Связано это может быть с несколькими причинами:
- не последовательным обновлением конфигурации релиз за релизом, а «перепрыгиванием» сразу через несколько релизов;
- конфликтом введенных в базу данных самим пользователем и добавленных в конфигурацию разработчиками предопределенных значений;
- ошибками переноса баз данных в новые конфигурации;
- доработкой конфигурации самим пользователем.
Какой бы ни была причина появления этой ошибки, она говорит об одном: в регистре сведений есть запись с ключевыми параметрами, для которой имеется несколько значений, и программа 1С не знает: какая из этих записей правильная.
При работе в пользовательском режиме при попытке записи в регистр разных данных с одинаковыми ключевыми параметрами выдается ошибка, не позволяющая провести документ. PDF Пользователь при этом сразу видит ошибку, понимает в чем дело и исправляет ее.
В режиме обновления конфигурации ситуация более сложная, хотя отслеживание таких ситуаций регулируется в большинстве случаев в 1С автоматически. Разработчики вносят в программу изменения таким образом, что программа сама, по заложенному алгоритму и анализу данных, определяет какая из записей неактуальна и удаляет ее, продолжив обновление.
Но бывают случаи, когда определить самостоятельно какую из записей оставить, а какую удалить, программа 1С не может и тогда пользователь уже должен сам исправить ситуацию. Обычно это происходит при удалении каких-то ключевых параметров из регистра сведений в новом обновлении и наиболее часто проявляется у любителей «обновляться редко, но сразу на последний релиз».
При возникновении ошибки будет выдано предупреждение о возникшей ситуации с регистром, которое не позволит продолжить обновление, пока не будет исправлена ошибка.
Структура объекта 1С «Регистры сведений»
Информация в регистре сведений хранится в виде записей, каждая из которых содержит:
- значения измерений регистра (описывают разрезы, в которых хранится информация);
- соответствующие им значения ресурсов (непосредственно содержат хранимую информацию).
Например, регистр сведений цены товаров может иметь следующую структуру:
где » Вид цен» может иметь значения «Оптовая», «Розничная», и т.д.
Вместе с каждой записью, находящейся в регистре сведений, в его реквизитах можно хранить дополнительную произвольную информацию.
Периодичность регистра сведений 1С
Одной из возможностей регистра сведений является хранение данных не только в разрезе указанных измерений, но и в разрезе времени.
Данное свойство позволяет добавить к списку измерений регистра дополнительное измерение — «Период».
Разработчик может указать минимальную периодичность, с которой записи будут заноситься в регистр:
Периодичность может принимать следующие значения:
- Непериодический;
- В пределах секунды;
- В пределах дня;
- В пределах месяца;
- В пределах квартала;
- В пределах года.
В этом случае к каждой записи регистра будет добавляться поле «Период», хранящее дату, которой были внесены записи в регистр.
При выборе периодичности, отличной от варианта «Непериодический», система будет контролировать уникальность записей в пределах заданного промежутка времени. Если запись не уникальна, система 1C выдаст сообщение » Запись с такими ключевыми полями существует !» и не даст произвести запись в базу данных.
Например, периодический регистр сведений «Цены товаров» может не только хранить информацию о том, какова цена на определенную номенклатуру сейчас, но и о том, как она изменялась в прошлом (или будет изменяться в будущем).
Особенность периодического регистра сведений:
Возможность получать готовые значения «Срез первых» и «Срез последних». Эта информация позволяет очень быстро получить из базы данных информацию о последнем (первом) установленном значении на определенную дату.
Подчинение регистратору
Внесение изменений в регистр сведений может выполняться:
В случае, когда изменения в регистр сведений вносятся с помощью документов, к каждой записи регистра добавляется специальное поле, в котором хранится информация о регистраторе — документе, с которым связана эта запись.
Какой именно режим записи будет использоваться данным регистром сведений указывается разработчиком в процессе создания прикладного решения:
Свойство «Режим записи»может быть в значении:
- « Независимый » — записи можно произвести как программно, так и из формы списка регистра сведений;
- « Подчинение регистратору » — обязательно указание документа-регистратора записи.
Например, изменение цен компании может производиться только определенным кругом лиц, и каждое такое изменение должно сопровождаться «бумажным» документом. В этом случае можно использовать режим подчинения регистратору, при котором изменение цен может быть выполнено только специальным документом — «Изменение цен товаров».
Уникальность записей регистра сведений
Система обеспечивает контроль уникальности записей, хранящихся в регистре сведений. Таким образом, в регистре сведений не может находиться двух одинаковых записей (с одинаковым ключом записи). Ключ записи формируется системой автоматически, на основании значений, содержащихся в полях записи, и зависит от вида регистра сведений.
В общем случае в формировании ключа записи будут участвовать значения регистратора, периода и значения измерений.
Таким образом, например, в непериодическом регистре сведений «Цены товаров» с независимым режимом записи не может существовать двух записей о розничной цене конфет ассорти. Точно так же, как в периодическом регистре сведений «Цены товаров», подчиненном регистратору, не может существовать двух записей о розничной цене конфет ассорти, внесенных одной и той же датой, одним и тем же документом «Изменение цен товаров».
Свойства измерения регистра сведений
Особое внимание следует обратить на флаги «Ведущее» и «Основной отбор» палитры свойств измерений регистра сведений
- Ведущее — свойство измерения, указывающее на то, что без значения этого измерения запись регистра не имеет смысл. Установка флага означает что система при удалении значения из измерения удаляет еще и запись регистра с «Ведущим» измерением. Может быть установлено только одно измерение.
- Основной отбор — если регистр независимый, то по этим измерениям будет устанавливаться регистрация изменений для плана обмена. Аналогично использование «Основной отбор» по периоду включает основной отбор для периода периодических регистров.