Файл: Хрусталева Е. Ю. Язык запросов 1С-Предприятия 8 (2013).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.03.2019
Просмотров: 51763
Скачиваний: 8724
Глава 1. Механизм запросов
Как хранятся данные в «1С:Предприятии»
Прикладные решения, разработанные на платформе «1С:Предприятие», работают с
данными, которые интерактивно вводит пользователь, заполняя различные формы ввода
справочников, документов и т. д. Из этих форм данные с помощью встроенного языка
записываются в базу данных и хранятся в ней. На основе введенных данных
пользователю обычно требуется получить некоторую обобщенную информацию,
необходимые ему итоговые данные, отчеты и т. д. Для этого используется механизм
запросов, который рассматривается в данной книге.
Поэтому прежде чем начинать осваивать язык запросов, важно понять, как хранятся
данные в «1С:Предприятии». Для хранения данных «1С:Предприятие» использует
реляционные базы данных. Реляционная база данных представляет собой совокупность
различной информации, представленной в виде двумерных таблиц. Таблица базы данных
состоит из набора строк и столбцов. Каждая строка (запись) этой таблицы
характеризуется рядом значений, содержащихся в ее столбцах (полях).
Для примера можно привести данные о клиентах компании, хранящиеся в справочнике
клиентов. В самом упрощенном виде данные о клиентах хранятся в одной – основной
таблице, где каждому клиенту соответствует одна запись, имеющая один и тот же набор
полей, например, Код, Наименование, Адрес, Телефон и т. п. (табл. 1.1).
Таблица 1.1. Справочник клиентов в информационной базе (основная таблица)
Ссылка
Код
Наименование
Адрес
Телефон
Ref1
000000001 Соколов Иван Андреевич
Москва, …
8-916-222-33-55
Ref2
000000002 Орлов Сергей Иванович
Москва, …
8-926-555-66-77
Ref3
000000003 Маслова Ирина Николаевна Санкт-Петербург, … 8-915-4447799
Рассмотрим подробнее, как формируется структура таблицы справочника в
информационной базе «1С:Предприятия».
Например, при создании в конфигураторе справочника Клиенты платформа
«1С:Предприятие» автоматически создает в информационной базе основную таблицу
этого справочника с полями Ссылка, Код, Наименование, ПометкаУдаления,
Предопределенный и ВерсияДанных.
ПРИМЕЧАНИЕ
Имена полей
Код
,
Наименование
и т. п. мы используем для простоты изложения. На самом
деле имена полей таблиц в базе данных будут техногенными, например,
_Code
,
_Description
и т. п.
Затем пользователь в режиме 1С:Предприятие заполняет справочник данными, которые
сохраняются в базе данных (рис. 1.1).
Рис. 1.1. Структура простого справочника в конфигураторе, в «1С:Предприятии» и в информационной базе
Поле Ссылка является уникальным идентификатором записи о клиенте, поля Код,
Наименование, ПометкаУдаления, Предопределенный и ВерсияДанных являются
стандартными реквизитами, которые платформа добавляет в любой справочник.
На рис. 1.1 также показаны три понятия, которые важно отличать. В конфигураторе
создается объект конфигурации Справочник Клиенты. Данные этого объекта
конфигурации (все записи справочника) вводятся в режиме 1С:Предприятие, затем эти
данные записываются в таблицу справочника Клиенты в информационной базе. В этой
таблице объектом базы данных является одна запись (данные одного элемента
справочника), однозначно идентифицирующаяся значением поля Ссылка.
Каждый элемент справочника, как правило, содержит некоторую дополнительную
информацию, которая подробнее описывает этот элемент. Например, все элементы
справочника Клиенты могут содержать дополнительную информацию об адресе и
телефоне каждого клиента. Для описания этой информации используются реквизиты
справочника.
При добавлении реквизитов справочника в конфигураторе платформа создает поля
соответствующего типа в основной таблице справочника (рис. 1.2).
Рис. 1.2. Структура справочника, имеющего реквизиты, в конфигураторе, в «1С:Предприятии» и в информационной базе
Если справочник является иерархическим, то платформа добавляет в структуру основной
таблицы справочника в информационной базе поле Родитель и поле ЭтоГруппа (в
случае, если справочник имеет тип иерархии Иерархия групп и элементов), рис. 1.3.
Рис. 1.3. Структура иерархического справочника в конфигураторе и в информационной базе
Например, справочник Товары является иерархическим с иерархией групп и элементов.
При этом в таблице базы данных для записей, являющихся группой, поле ЭтоГруппа
принимает значение Истина; для записей, не являющихся группой, поле ЭтоГруппа
принимает значение Ложь, а поле Родитель является ссылкой на родительскую запись.
Благодаря этому можно получить информацию о дочерних записях и родителях для
каждого элемента справочника (рис. 1.4).
Рис. 1.4. Содержимое иерархического справочника в «1С:Предприятии» и в информационной базе
ПРИМЕЧАНИЕ
Поле
Родитель
на самом деле хранит ссылку на родительскую запись, но для большей
ясности в таблице на рис. 1.4 в этом поле отражено представление ссылки в виде
наименования.
Если справочник является подчиненным, например справочник РасчетныеСчета
подчинен справочнику Поставщики, то в основную таблицу подчиненного справочника
платформа добавляет поле Владелец, которое ссылается на элемент справочника-
владельца (рис. 1.5).