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

Запись и чтение данных из периодического регистра сведений
1. Ручная запись данных
-
В режиме предприятия откройте:
Операции
→Регистры сведений
→ [Ваш регистр] -
Нажмите кнопку "Добавить"
-
Заполните:
-
Период - дата актуальности данных
-
Измерения (например, валюта)
-
Ресурсы (например, курс)
-
-
Сохраните (кнопка "Записать")
2. Программная запись данных
Используйте объект РегистрСведений
:
// Запись новой строки в регистр
Процедура ЗаписатьКурсВалюты()
// Создаем запись
Запись = РегистрыСведений.КурсыВалют.CreateRecord();
// Указываем период (обязательно для периодических!)
Запись.Период = '20231201'; // или ТекущаяДата()
// Заполняем измерения
Запись.Валюта = Справочники.Валюты.НайтиПоНаименованию("Доллар США");
// Указываем ресурс
Запись.Курс = 92.45;
// Записываем
Запись.Записать();
КонецПроцедуры
3. Чтение данных
Вариант 1. Получить значение на конкретную дату:
Функция ПолучитьКурс(Валюта, ДатаКурса) Отбор = Новый Структура; Отбор.Вставить("Валюта", Валюта); Отбор.Вставить("Период", ДатаКурса); Возврат РегистрыСведений.КурсыВалют.Получить(Отбор).Курс; КонецФункции
Вариант 2. Выбрать записи за период:
Запрос = Новый Запрос; Запрос.Текст = " ВЫБРАТЬ КурсыВалют.Период, КурсыВалют.Валюта, КурсыВалют.Курс ИЗ РегистрСведений.КурсыВалют КАК КурсыВалют ГДЕ КурсыВалют.Валюта = &Валюта И КурсыВалют.Период МЕЖДУ &НачалоПериода И &КонецПериода"; Запрос.УстановитьПараметр("Валюта", Справочники.Валюты.USD); Запрос.УстановитьПараметр("НачалоПериода", '20230101'); Запрос.УстановитьПараметр("КонецПериода", ТекущаяДата()); Результат = Запрос.Выполнить().Выгрузить();
4. Обновление существующей записи
Процедура ОбновитьКурс() // Находим запись Отбор = Новый Структура("Валюта, Период", USD, '20231201'); Запись = РегистрыСведений.КурсыВалют.Получить(Отбор); // Изменяем и сохраняем Запись.Курс = 95.30; Запись.Записать(); КонецПроцедуры
5. Удаление записи
РегистрыСведений.КурсыВалют.Удалить(Отбор); // Отбор - как в примере выше
Важные нюансы:
-
Для периодических регистров обязательно указывать дату
-
При дублировании записей (одинаковые измерения + период) будет ошибка
-
Для массовой обработки используйте
НаборЗаписей
:Набор = РегистрыСведений.КурсыВалют.CreateRecordSet(); Для i = 1 По 10 Цикл Запись = Набор.Добавить(); Запись.Период = Дата + i; // ... заполнение полей КонецЦикла; Набор.Записать();
Периодические регистры сведений в 1С — это мощный инструмент для работы с изменяющимися во времени данными. Они позволяют эффективно хранить исторические значения, автоматически управлять актуальностью информации и быстро получать нужные показатели на любую дату. Они существенно упрощают работу с временными данными в 1С, заменяя громоздкие самодельные решения. Освоив этот механизм, вы сможете создавать более надежные и функциональные конфигурации.Совет: Для отладки используйте
Сообщить(Результат.Курс)
или выводите данные в табличный документ.