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

Таблица записей этого регистра будет такова:
