Введение в конфигурирование 1Cv8 - Основные объекты

Конструктор запросов, конструктор выходных форм


Умение вручную сформировать запрос пригодится всегда, но можно его сделать и с помощью конструктора (Конструктора выходных форм, конструктора запросов). Конструктор запросов можно открывать как в режиме конфигуратора, так и в пользовательском режиме. Если на поле текстового документа в отчете «Знакомство с запросом» сделать щелчок правой клавишей мыши, то в контекстном меню будет соответствующий пункт.

Знакомиться с конструктором будем на примере создания отчета «Закупки» (следует отметить, что знакомиться мы будем с конструктором выходных форм, а не с конструктором запросов, но различия между ними небольшие).

Выбрать

*

Из РегистрБухгалтерии. Основной. ОборотыДтКт



Выбрать

*

ИзРегистрБухгалтерии. Основной. остаткиИОбороты („Неделя)

Создадим отчет, дадим ему имя «Закупки» и сразу же перейдем на закладку «макеты». Используя кнопку «Конструкторы» вызовем нужный нам конструктор. В открывшейся сразу после этого форме можно определить имя выходной формы отчета.

Далее на закладке «таблицы и поля» необходимо выбрать поля запроса.

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

На закладке связи требуется определить вид и условие соединения двух таблиц:

В случае, если отмечен левый флажок «Все», то используется «Левое соединение», и первой таблицей является «таблица № 1», если только правое «Все», то также используется «Левое соединение», но первой

таблицей является «Таблица № 2». Если отмечены оба флажка, то это «Полное соединение», если оба сброшены — это «Внутреннее».

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

На любом этапе работы в конструкторе, используя кнопку «Запрос», можно посмотреть текст получающегося запроса.

Далее на закладке «условия» можно определять отборы, накладываемые на запрос. На закладке «дополнительно» указывать ряд дополнительных признаков (первые, различные, для изменения). На закладке «Объединения/Псевдонимы» настраивать объединения и указывать псевдонимы и т. д. В нашем случае будем далее настраивать только раздел «Итоги».




В результате конструктор создаст выходную форму, пропишет необходимые процедуры (как это делается указываем на последней закладке конструктора форм).



В   результате   работы   конструктора   в   модуле   формы   появилась следующая процедура:

Процедура СформироватьНажатие (Элемент) ТабДок = Новый ТабличныйДокумент;

 ОтчетОбъект. Закупки (ТабДок);

 ТабДок. ТолькоПросмотр = Истина;

 ТабДок. ОтображатьСетку = Ложь;

 ТабДок. ОтображатьЗаголовки = Ложь;

 ТабДок. Показать ();

 КонецПроцедуры

В модуле отчета:

Процедура Закупки (ТабДок) Экспорт Макет = ПолучитьМакет (" Закупки");

 Запрос = Новый Запрос;

 Запрос. Текст = "ВЫБРАТЬ |            Приходная Товары. Номенклатура КАК Номенклатура, |            ПриходнаяТовары. Номенклатура. Представление, |            СУММА (ПриходнаяТовары. Количество) КАК Количество, СУММА (ПриходнаяТовары. Сумма) КАК Сумма, Приходная. Контрагент КАК Контрагент, Приходная. Контрагент. Представление |ИЗ |            Документ-Приходная. Товары КАК ПриходнаяТовары |                         ЛЕВОЕ СОЕДИНЕНИЕ Документ. Приходная КАК Приходная |                         ПО Приходная Товары. Ссылка = Приходная. Ссылка

|СГРУППИРОВАТЬ ПО ПриходнаяТовары. Номенклатура, Приходная. Контрагент

!

|ИТОГИ ПО ОБЩИЕ";

 Результат = Запрос. Выполнить ();

 ОбластьЗаголовок = Макет. ПолучитьОбласть (" Заголовок");

 ОбластьПодвал = Макет. ПолучитьОбласть ("Подвал");

 ОбластьШапкаТаблицы = Макет. ПолучитьОбласть ("ШапкаТаблицы");

 ОбластьПодвалТаблицы=Макет. ПолучитьОбласть ("ПодвалТаблицы");

 ОбластьОбщийИтог = Макет. ПолучитьОбласть ("ОбщиеИтоги");

ОбластьДетали = Макет. ПолучитьОбласть ("Детали");

 ТабДок. Вывести (ОбластьЗаголовок);

 ТабДок. Вывести (ОбластьШапкаТаблииы);

 ВыборкаОбшийИтог = Результат. Выбрать (ОбходРезультатаЗапроса. ПоГруппировкам);

 ВыборкаОбшийИтог. Следуюший ();

                      // Обший итог ОбластьОбщийИтог. Параметры. Заполнить (ВыборкаОбшийИтог);

 ТабДок. Вывести (ОбластьОбщийИтог);

 ВыборкаДетали = ВыборкаОбщийИтог. Выбрать ();

 Пока ВыборкаДетали. Следуюший () Цикл ОбластьДетали. Параметры. Заполнить (ВыборкаДетали);

 ТабДок. Вывести (ОбластьДетали);

 КонецЦикла;

 ТабДок. Вывести (ОбластьПодвалТаблицы);

 ТабДок. Вывести (ОбластьПодвал);

 КонецПроцедуры

Практикум № 25__________________________________________

1. Создайте с помощью конструктора отчет по продажам товаров. В нем после установки периода должна содержаться следующая информация: какой покупатель, какие товары, в каком количестве и на какую сумму закупал.

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

3.  Создайте отчет, который позволяет смотреть продажи товаров. Но  в  нем  помимо  сумм  продажи  фигурирует  себестоимость  и прибыль.   Себестоимость  единицы  товара  берется   из реквизита «ЦенаПокупки» справочника «Номенклатура»


Содержание раздела