Регистры сведений – это объекты 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С, заменяя громоздкие самодельные решения. Освоив этот механизм, вы сможете создавать более надежные и функциональные конфигурации.Совет: Для отладки используйте
Сообщить(Результат.Курс)или выводите данные в табличный документ.

