Указание источников в запросе Источники данных Можно сказать что система «1С:Предприятие 8.0» предоставляет две модели доступа к данным: • Объектная модель (доступ идет через свойства, методы объектов) • Табличная модель (конфигурация представляется набором таблиц). Таблицы, поля базы данных Таблицы в «1С:Предприятии 8.0» подразделяются на два основных класса: реальные и виртуальные. Реальные таблицы хранятся в базе данных. В случае использования реальной таблицы могут присутствовать вычисляемые поля, значения которых вычисляются как функция нескольких разных полей. Виртуальные таблицы в базе данных не хранятся. При обращении к информации виртуальных таблиц система автоматически собирает информацию реальных таблиц для выполнения запроса. Виртуальная таблица может быть параметризована. Отдельный подкласс таблиц образуют так называемые объектные таблицы. Эти таблицы предназначены для хранения состояния объектов системы, таких как справочники, документы и т.д. В таких таблицах присутствует поле «Ссылка» (ссылка на объект, данные которого содержит текущая запись таблицы). В свою очередь любая таблица состоит из набора полей. В качестве поля таблицы может фигурировать: • «Обычное поле» (содержащее какое-либо значение, либо значение типа «Null») • вложенная таблица Основное отличие обычного поля от вложенной таблицы состоит в том, что в рамках одной записи обычному полю соответствует одно единственное значение, а вложенной таблице соответствует значение типа «РезультатЗапроса» с заранее заданным набором колонок. Можно проиллюстрировать данное понятие следующим образом: Дата | Время | Контрагент | № | Товар | Кол-во | Сумма | Товары | | 01,01,03 | 11:00 | ООО «Все» | | Карандаш | | | | Ручка | | | 02,03,03 | 11:51 | «Куда» | | Кнопки | | | | | | | | | | | | Если продолжить разговор о полях, содержащих какие-либо значения, можно отметить: поле может содержать значение одного типа, может содержать значения нескольких типов (иметь составной тип), при этом для конкретной записи поле содержит значение «одного» типа. Структура запроса (описание запроса) Для выполнения запроса (получения необходимой выборки данных) необходимо составить текст запроса. Текст запроса - это инструкция, в соответствии с которой должен быть выполнен запрос. После составления текста запроса его необходимо выполнить. По окончании выполнения полученный результат необходимо «обойти» (разобрать результат запроса). Для формирования текста запроса существует специализированный язык запросов. Он определяет используемые синтаксические конструкции, структуру запроса. Можно сказать, что текст запроса состоит из следующих секций: • Описание запроса • Объединение запросов • Упорядочивание результатов • Автоупорядочивание • Описание итогов Из всех вышеуказанных секций обязательно наличие только описания запроса. В свою очередь, данная секция имеет следующую структуру: Выбрать [Различные] [Первые <Количество>] <Список полей выборки> [Из <Список источников>] [Где <Условие отбора>] [Сгруппировать По <Поля группировки>] [Имеющие <Условия отбора>] [Для изменения [[Of]<Список таблиц верхнего уровня>]] Уже в рамках данной секции обязательно только наличие «Выбрать» и указание полей выборки. Все остальные структурные элементы могут опускаться. Выполнение и работа с запросами во встроенном языке Для формирования запросов, выборки и обработки результатов запросов в языке предусмотрен специальный набор объектов. С помощью этих объектов выполняется формирование запроса, обход записей запроса и т.д. Рассмотрим в качестве первого примера отчет «Знакомство с Запросом». При создании отчета определим у него следующие реквизиты: • НачПериода тип «Дата» состав «Дата+Время» • КонПериода тип «Дата» состав «Дата+Время» • ЗначениеСсылка тип «СправочникСсылка» • ЗначениеЧисло тип «Число» • ЗначениеСтрока тип «Строка» • ЗначениеБулево тип «Булево» Определена табличная часть «ТЧ»: • Реквизит табличной части «ТЧСсылка», тип «СправочникСсылка» При настройке диалога основной формы отчета необходимо разместить элементы управления, связанные с реквизитами и табличной частью отчета на второй закладке. На первую необходимо поместить поле текстового документа «ПолеТД» и табличное поле «тПоле». У поля табличного документа в свойстве «Расширение» проставить значение «Язык запросов». У табличного поля определить тип значения «Таблица значений».  Текст процедуры, которая выполняется при нажатии на кнопку «Сформировать» приводится ниже: Процедура КнопкаСформироватьНажатие(Элемент) Запрос=Новый Запрос; Запрос.Текст = ЭлементыФормы.ПолеТД.ПолучитьТекст(); Запрос.УстановитьПараметр("ТЧ", ТЧ.ВыгрузитьКолонку("ТЧСсылка")); Запрос.УстановитьПараметр("НачПериода",НачПериода); Запрос.УстановитьПараметр("КонПериода",КонПериода); Запрос.УстановитьПараметр("ЗначениеСсылка",ЗначениеСсылка); Запрос.УстановитьПараметр("ЗначениеЧисло",ЗначениеЧисло); Запрос.УстановитьПараметр("ЗначениеБулево",ЗначениеБулево); Запрос.УстановитьПараметр("ЗначениеСтрока",ЗначениеСтрока); РезультатЗапроса = Запрос.Выполнить(); ЭлементыФормы.тПоле.Значение=РезультатЗапроса.Выгрузить(); //ЭлементыФормы.тПоле.ЧередованиеЦветовСтрок=Истина; ЭлементыФормы.тПоле.СоздатьКолонки(); Для Каждого Колонка из ЭлементыФормы.тПоле.Колонки Цикл Колонка.Ширина= 15; КонецЦикла; КонецПроцедуры Таблицы информационной базы данных Рассматривая более подробно таблицы - источники данных для запроса, будем одновременно знакомиться с языком описания запросов. Таблица констант Таблица констант имеет имя «Константы». Имена полей таблицы соответствуют именам констант, заданным в конфигураторе. Запишем в окне текстового документа следующий текст: Выбрать Константы.НазваниеОрганизации, Константы.ЮридическийАдрес После обязательного ключевого слова «Выбрать» следует описание полей выборки. Описание полей разделяются запятыми. После последнего описанного поля запятая не ставится. Указание источников в запросе Рассмотрим следующий запрос: Выбрать НазваниеОрганизации,ЮридическийАдрес Из Константы Источник запроса (под источником запроса обычно понимается таблица, реальная или виртуальная) указывается после ключевого слова «Из». В общем случае источников может быть несколько. Описание источников разделяется запятыми, после последнего источника запятая не ставится. Следующий запрос показывает содержимое всех полей в таблице констант Выбрать * Из Константы Исходя из назначения констант, таблица «Константы» всегда содержит одну строку.Таблица справочников Каждый справочник представлен таблицей, обладающей следующим набором полей: 
Для просмотра состава полей справочника «Номенклатура» можно воспользоваться следующим запросом: Выбрать * Из Справочник.Номенклатура |