- •Назначение
- •6.2. Непериодические регистры сведений
- •6.3. Периодические регистры сведений
- •6.4. Реквизиты регистра сведений
- •6.5. Режим записи
- •6.6. Приемы программирования регистров сведений
- •Описание менеджера регистра сведений
- •Описание набора записей регистра сведений
- •Модуль набора записей
- •Выборка из регистра сведений
- •Описание менеджера записи регистра сведений
- •6.4. Формы регистра сведений
Лекция 1_ИСБУ (V8). Регистры сведений
Назначение
Структура справочника:
КОД
|
Наименование
|
<прочие реквизиты>
|
Ключ таблицы (число или строка)
Р
егистры
сведений предназначены для хранения
информации, развернутой по комбинации
измерений. Если требуется хранить
историю изменений этой информации, то
регистр сведений нужно сделать
периодическим.
Таким образом, Регистр сведений – это тоже таблица, но с ключом произвольного типа. Кроме того, ключ может быть составным (из нескольких атрибутов)
Тип хранимой информации в ресурсах регистра сведений может быть как один из примитивных типов данных (число, строка, дата, булево), так и ссылка на объект базы данных (элемент справочника, документ, значение перечисления и др.). (Это принципиально отличает регистр сведений от регистра накоплений, в ресурсах которого может храниться только числовая информация, поддающаяся суммированию – см. следующую лекцию).
РС состоит из ИЗМЕРЕНИЙ, РЕСУРСОВ и РЕКВИЗИТОВ.
6.2. Непериодические регистры сведений
Пример 1. Можно завести регистр СведенияОСотрудниках с измерением Физлицо и ресурсом Состояние. Этот регистр будет хранить текущее состояние сотрудника.
Структура регистра сведений СведенияОСотрудниках такова:
Измерения: |
ФизЛицо |
СправочникСсылка. Физлица |
Ресурсы: |
Состояние
|
Перечисление. Состояние Сотрудника (значения: Работает, НеРаботает)
|
Возможное содержание регистра:
ФизЛицо |
Состояние |
Иванов Петров Сидоров Кузнецов
|
Работает Работает Работает НеРаботает |
Непериодический регистр сведений напоминает такой объект конфигурации, как справочник. Но справочник поддерживает уникальность только одного примитивного поля – кода элемента справочника, а регистр может поддерживать уникальность любого набора измерений любого типа, в том числе и агрегатного.
Пример 2. Непериодический регистр сведений МестаРаботыСотрудников с измерениями Сотрудник, Организация, Подразделение и ресурсами Должность, ДатаПриема.
Структура регистра сведений МестаРаботыСотрудников такова:
Измерения: |
Сотрудник |
СправочникСсылка. Сотрудники |
|
Организация |
СправочникСсылка. Организации |
|
Подразделение |
СправочникСсылка.Подразделения |
Ресурсы: |
Должность |
СправочникСсылка.Должности |
|
ДатаПриема |
дата |
Таблица записей этого регистра сведений будет выглядеть следующим образом:
Сотрудник |
Организация |
Подразделение |
Должность |
Дата приема |
Иванов |
Темп плюс |
Маркетинг |
Маркетолог |
12.01.2003 |
Иванов |
Темп плюс |
Отдел продаж |
продавец-консультант |
11.01.2003 |
Иванов |
Белый свет |
Отдел разработки |
программист |
10.01.2003 |
Становится понятно, что регистр сведений хранит информацию именно по комбинации измерений.
Необходимо учитывать одно важное свойство регистра сведений: каждая запись однозначно определяется комбинацией измерений. Если в регистр добавить запись с точно такими же измерениями, как уже существующая, то новая запись перезапишет прежнюю, или будет выдано сообщение об ошибке, в зависимости от варианта записи.
Замечание. В регистре сведений не может существовать две записи с одинаковым набором измерении, т.е. измерения играют роль ключа таблицы..
Структура регистра сведений в предыдущем примере предполагает, что сотрудник может работать в одной организации в разных подразделениях, но он не может занимать разные должности внутри подразделения одной и той же организации. Если требуется хранить и такие сведения, то нужно ресурс Должность сделать измерением.
Сотрудник |
Организация |
Подразделение |
Должность |
Дата приема |
Иванов
|
Темп плюс |
Маркетинг |
Начальник отдела |
12.01.2003 |
Иванов
|
Темп плюс |
Маркетинг |
Маркетолог |
12.01.2003 |
Иванов |
Темп плюс |
Отдел продаж |
продавец-консультант |
11.01.2003 |
Иванов |
Белый свет |
Отдел разработки |
программист |
10.01.2003 |
Данные в непериодический регистр вводятся, как правило, интерактивно пользователем (как в справочник), но могут вводиться документом – см. дальше.
