Отчет РеестрДокументовОказаниеУслуги
Первым отчетом, на основе которого мы начнем знакомиться языком запросов, будет отчет «РеестрДокументовОказаниеУслуги». Этот отчет просто будет выводить список существующих в базе данных документов «ОказаниеУслуги» в порядке их дат и номеров.
Создадим в конфигураторе новый объект конфигурации Отчет «РеестрДокументовОказаниеУслуги». Перейдем на закладку «Макет» и запустим конструктор выходной формы.
В качестве источника данных для запроса выберем объектную (ссылочную) таблицу документов «ОказаниеУслуги». Из этой таблицы выберем следующие поля:
· «Дата»,
· «Номер»,
· «Склад»,
· «Мастер»,
· «Клиент»:
Обратите внимание, что при выборе полей «Склад», «Мастер» и «Клиент» в список выбранных полей подбираются также поля «Склад.Представление», «Мастер.Представление» и «Клиент.Представление». Дело в том, что в общем случае подразумевается, что эти поля будут выводиться в ячейки табличного документа. Поскольку соответствующие поля «Склад», «Мастер» и «Клиент» являются ссылочными, то в случае, если в качестве значения параметра для вывода будет передано значение-ссылка, система будет выполнять дополнительный запрос для получения представления этого поля (которое и будет выведено в документ), в результате чего вывод отчета замедлится. Поэтому система, при выборе ссылочных полей, предлагает сразу же включить в список выбранных полей и представления ссылочных полей, в расчете на то, что именно они и будут использованы для вывода в документ.
|
|
После этого перейдем на закладку «Порядок» и укажем, что результат запроса должен быть сначала упорядочен по значению поля «Дата», а затем - по значению поля «Номер»:
Перейдем на закладку «Отчет» и сбросим флаг «Использовать построитель отчета»:
Нажмем «ОК» Конструктор сформирует форму отчета и макет. Откроем модуль формы и найдем в нем процедуру «РеестрДокументовОказаниеУслуги». В этой процедуре как раз формируется текст запроса, который будет использован для получения интересующих нас данных:
Запрос Текст =
"ВЫБРАТЬ
ОказаниеУслуги.Дата КАК Дата,
ОказаниеУслуги.Номер КАК Номер,
ОказаниеУслуги.Склад,
ОказаниеУслуги.Склад.Представление,
ОказаниеУслуги.Мастер,
ОказаниеУслуги.Мастер.Представление,
ОказаниеУслуги.Клиент,
ОказаниеУслуги.Клиент.Представление
ИЗ
Документ.ОказаниеУслуги КАК ОказаниеУслуги
УПОРЯДОЧИТЬ ПО
Дата,
Номер";
Текст запроса начинается, как мы говорили выше, с части описания запроса:
"ВЫБРАТЬ
ОказаниеУслуги.Дата КАК Дата,
ОказаниеУслуги.Номер КАК Номер,
ОказаниеУслуги.Склад,
ОказаниеУслуги.Склад.Представление,
|
|
ОказаниеУслуги.Мастер,
ОказаниеУслуги.Мастер.Представление,
ОказаниеУслуги.Клиент,
ОказаниеУслуги.Клиент.Представление
ИЗ
Документ.ОказаниеУслуги КАК ОказаниеУслуги
Описание запроса начинается с обязательного ключевого слова ВЫБРАТЬ. Затем следует список полей выборки, в котором описываются поля, которые должны содержаться в результате запроса. Этот список может содержать как собственно поля, так и некоторые выражения, вычисляемые на основе значений полей.
После ключевого слова ИЗ указываются источники данных - исходные таблицы запроса, содержимое которых обрабатывается в запросе. В данном случае это объектная (ссылочная) таблица «Документ.ОказаниеУслуги» После ключевого слова КАК указывается псевдоним источника данных. В нашем случае это «ОказаниеУслуги». В дальнейшем к этому источнику данных можно будет обращаться в тексте запроса, используя псевдоним. Такое обращение мы видим в описании полей выборки:
"ВЫБРАТЬ
ОказаниеУслуги.Дата КАК Дата,
ОказаниеУслуги.Номер КАК Номер,
ОказаниеУслуги.Склад,
ОказаниеУслуги.Склад.Представление,
ОказаниеУслуги.Мастер,
ОказаниеУслуги.Мастер.Представление,
ОказаниеУслуги.Клиент,
|
|
ОказаниеУслуги.Клиент.Представление
Поля выборки также могут иметь псевдонимы, по которым в дальнейшем в тексте запроса можно обращаться к этому полю. В нашем случае это псевдонимы «Дата» и «Номер».
После части описания запроса в нашем примере следует часть упорядочивания результатов:
УПОРЯДОЧИТЬ ПО
Дата,
Номер";
Предложение «УПОРЯДОЧИТЬ ПО» позволяет сортировать строки в результате запроса. После этого ключевого предложения располагается выражение упорядочивания, которое, в общем случае, представляет собой перечисление полей (выражений) и порядка вывода. В нашем случае упорядочивание будет выполняться сначала по полю выборки, обращение к которому выполняется через псевдоним - «Код», а затем по полю - «Номер» В обоих случаях порядок сортировки будет по возрастанию, который является порядком сортировки по-умолчанию.
Теперь обратим внимание на то, как выводится результат запроса в табличный документ.
Дата добавления: 2015-12-20; просмотров: 24; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!