Источники данных (таблицы) запросов
В качестве источников данных языка запросов выступают таблицы базы данных. Таблицы подразделяются на два основных класса: реальные и виртуальные.
Реальные таблицы хранятся в базе данных, то есть интерпретируются из реально существующей таблицы базы данных. В случае использования реальной таблицы могут присутствовать вычисляемые поля, значения которых вычисляются как функция нескольких реальных полей.
Виртуальные таблицы не хранятся в базе данных. При обращении к информации виртуальных таблиц система автоматически собирает информацию реальных таблиц базы данных для выполнения запроса. Виртуальная таблица может быть параметризована, то есть реальное наполнение виртуальной таблицы может определяться значениями параметров, фактические значения которых задаются в тексте запроса.
Для каждой виртуальной таблицы определяется имя, которое используется в запросах для идентификации таблицы. Имя таблицы может быть задано на английском и русском языках. Например, Справочник.Товары. Имена таблиц и полей не могут совпадать с ключевыми словами языка запросов.
Отдельный подкласс таблиц образуют так называемые объектные таблицы. В качестве объектной таблицы обязательно выступает реальная таблица базы данных. Смысловое отличие объектных таблиц от прочих следует из названия - объектные таблицы предназначены для хранения состояния объектов системы 1C Предприятие, таких как справочники, документы и т. п. Каждой объектной таблице соответствует тип объектов системы 1C Предприятие. Например,
объектам
типа Справочник.Товары соответствует одна таблица, объектам типа Справочник.Контрагенты - другая. Каждая отдельная запись объектной таблицы хранит состояние отдельного объекта соответствующего типа. В соответствии с этим у каждой объектной таблицы определено поле типа Ссылка на текущую запись. Кроме того, для объектных таблиц определен способ получения как пользовательского представления объекта из содержимого полей записи.
Объектные таблицы могут быть также иерархическими Для иерархических таблиц определяется специально выделенное поле Родитель, содержащее ссылку на запись, которой в соответствии с иерархией подчиняется текущая запись.
В качестве поля таблицы может фигурировать:
• поле виртуальной или реальной таблицы;
• вложенная таблица.
Основное отличие обычного поля от вложенной таблицы состоит в том, что в рамках одной записи обычному полю соответствует одно единственное значение, а вложенной таблице соответствует значение типа РезультатЗапроса с заранее заданным набором колонок. Примером вложенной таблицы может являться табличная часть документа или справочника.
В качестве типов значения полей таблиц может выступать значение типа Null. Такие значения содержатся в полях записей таблиц, для которых данное поле не определено или не имеет смысла. Например, значения такого типа содержатся в записях, относящимся к группам справочника, по полям, для которых установлено, что они могут иметь значение только у элементов этого справочника.