Основные объекты: Регистры сведений. Часть 1. Основные положения

"...Однако содержание последнего пакта таково,

что если Лига наций зарегистрирует его,

то придется признать, что...".

(И. Ильф, Е. Петров. Двенадцать стульев)

Рассмотрим несколько таблиц (см. рис. 1-6).

Рис. 1. Таблица “Сведения по адресации” (непериодическая, не подчинена регистратору).

 

Рис. 2. Таблица “Свойства номенклатуры” (непериодическая, не подчинена регистратору).

 

Рис. 3. Таблица “Курсы валют” (периодическая, не подчинена регистратору).

 

Рис. 4. Таблица “График” (периодическая, не подчинена регистратору).

 

Рис. 5. Таблица “Цены поставщиков” (периодическая, подчинена регистратору).

 

Рис. 6. Таблица “Штатное расписание” (периодическая, подчинена регистратору).

Все приведенные выше таблицы были оформлены в системе 1С с помощью объектов конфигурации “Регистры сведений”. Регистры сведений хранят информацию, имеющую определенное значение для управления хозяйственной организацией. Некоторые из этих таблиц внешне очень похожи на справочники и на списки документов. Однако их особенностью, в отличие от справочников и списков документов, является то, что они обычно не составляют самостоятельную часть набора данных, хранящегося в базе. Чаще всего, они формируются на основании данных, находящихся в реальных таблицах (в нашем случае, в объектах конфигурации “Справочники”, “Документы” и др.). Таблицы, не хранящиеся в базе данных и формирующиеся, исходя из данных других таблиц, программисты и администраторы баз данных называют “представлениями”, “просмотрами” или “вьюшками” (от английского слова View – просмотр) Изменение данных в реальных таблицах базы данных приводит к соответствующему изменению содержимого всех представлений, построенных на основании этой таблицы.

Часть приведенных ниже таблиц не включают в себя параметр времени (как выражаются специалисты по системе 1С, “информация в них не развернута во времени”). Такими, например, являются таблицы, изображенные на рис. 1 и 2. Они называются “непериодическими”.

Другие таблицы (как, например, таблицы на рис. 3, 4, 5 и 6) “развернуты во времени”. Они называются “периодическими”.

Имеется и другая важная классификация этих таблиц по способу их формирования. Они могут быть подчинены определенному регистратору (см. рис. 5 и 6) или не подчинены никакому регистратору (программисты 1С условно называют такие таблицы “независимыми” (см. рис. 1-4)). Регистраторами для указанных экономических таблиц обычно являются документы.

Каждая строка объекта “Регистры сведений” именуется записью.

Как мы увидим далее, в составе данных этого объекта имеются измерения, ресурсы и реквизиты.

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

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

Реквизит – это поле, содержащее дополнительную информацию о записи. В них можно записывать пояснения, касающиеся отдельных записей.

Примеры измерений и ресурсов для регистров сведений на рис. 1-6 приведены в следующей таблице:

Наименование таблицы

Измерения

Ресурсы

1. Сведения по адресации

Сотрудник,
Подразделение

2. Свойства номенклатуры

Номенклатура,
Свойство

Значение

3. Курсы валют

Валюта

Курс

4. График

Дата

Значение

5. Цены поставщиков

Поставщик,
Номенклатура

Цена

6. Штатное расписание

Подразделение,
Должность

Количество ставок

В составе совокупности измерений в системе 1С выделяют так называемое “ведущее измерение”, у наименования которого в конфигураторе устанавливается флажок “ведущий”. Например, если для приведенного выше на рис. 5 регистра сведений “Цены поставщиков” ведущим измерением будет назначено измерение “Поставщик”, то после удаления конкретного поставщика из регистра сведений будут удалены все записи, связанные с этим поставщиком.

Давайте перейдем сейчас к созданию первого нашего простого регистра сведений “Курсы валют”.

Для создания регистра сведений “Курсы валют” нам понадобится справочник “Валюты”, который был нами создан ранее, в разделе “Основные объекты: Справочники. Часть 3. Предопределенные элементы”.

Создадим регистр сведений “КурсыВалют”.

Обратите внимание на выпадающий список поля “Периодичность”. Здесь можно выбрать следующие значения:

- Непериодический;
- В пределах секунды;
- В пределах дня;
- В пределах месяца;
- В пределах квартала;
- В пределах года.

Для данного регистра сведений мы выбираем значение “В пределах дня” и в этом случае в графе период будут отражаться даты.

На закладке Данные добавляем одно измерение “Валюта” (“ведущее”, тип СправочникСсылка.Валюта):

Также добавляем два ресурса “Курс” (тип Число) и “Кратность” (тип Число).

На закладке Формы устанавливаем режим редактирования “в диалоге”:

Настраиваем формы списка и записи.

Далее перейдем в программу 1С, проверим, что регистр сведений работает корректно и начнем заполнять его значения (регистр сведений можно вызвать через главное меню: Операции – Регистр сведений – Курсы валют):

Попробуем ввести еще одно значение курса доллара с той же датой и получим сообщение об ошибке:

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

Упражнение: Запрограммируйте форму записи регистра сведений “Курсы валют” так, чтобы при открытии записи параметр Кратность устанавливался равным 1. Для этого воспользуйтесь свойствами формы записи, создайте в модуле формы процедуру ПриОткрытии, соответствующую событию “При открытии”, и введите в эту процедуру, например, следующий код:

Если Кратность = 0 Тогда

Кратность = 1;
КонецЕсли;

Проверьте в программе 1С корректность работы этой процедуры.