Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОО_ИСБУ_Лек1.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
374 Кб
Скачать
☆

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

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

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

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

• в пределах секунды,

• в пределах дня,

• в пределах месяца,

• в пределах квартала,

• в пределах года,

• по позиции регистратора (доступен, если режим записи у регистра - «Подчинение регистратору»).

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

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

Пример 1. Регистр сведений «Курсы валют», заполняемый в форме самого регистра.

Данные в такой регистр сведений также вводятся интерактивно.

С помощью метода ПолучитьПоследнее можно получить значение курса валюты, действовавшее на определенную дату. Если в регистре сведений записи на эту дату не окажется, то будет воз­вращено значение на ближайшую предыдущую дату. Например, для валюты USD на дату 02.01.2007 не был введен курс, тогда бу­дет браться курс на ближайшую предыдущую дату, т.е. на 01.01.2007.

Пример 2. Регистр сведений «Цены номенклатуры», заполняемый при проведении документа типовой конфигурации «УстановкаЦенНоменклатуры».

Этот ре­гистр будет хранить текущие цены на товары, например, рознич­ную и оптовую цену.

Сделаем регистр сведений ЦеныНоменклатуры периодическим, чтобы развернуть во времени информацию о ценах на товары с периодичностью «День»:

Измерения:

Номенклатура

СправочникСсылка. Номенклатура

Тип цен

СправочникСсылка.ТипыЦен

Ресурсы:

Цена

число

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

В пределах дня

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

Период

Номенклатура

Тип цен

Цена

01.01.2012

Монитор 19"

Розничная

1500,00

01.01.2012

Монитор 19"

Оптовая

1400,00

01.01.2012

Мышь 2-кноп.

Розничная

1,50

01.02.2012

Монитор 19"

Розничная

1350,00

01.02.2012

Монитор 19"

Оптовая

1300,00

01.02.2012

Мышь 2-кноп.

Розничная

1,20

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

Некоторые измерения любого (как периодического, так и непериодического) регистра сведений можно назначить ведущими, что возможно только для измерений, которые являются ссылками на объекты базы данных. Это нужно сделать, если записи регистра не имеют смысла без данного объекта. Тогда удаление объекта базы данных приведет к автоматическому удалению записей регистра сведений, ссылающихся на этот объект. Например, записи о курсе валюты не имеют смысла, если сама валюта была удалена.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]