Лабораторная работа № 16

Отчеты. Получение актуальных сведений из периодического регистра сведений

Ориентировочная продолжительность занятия - 45 минут.

 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Язык запросов

Алгоритм, по которому данные будут выбраны из исходных таблиц запроса, описывается на специальном языке - языке запросов.
Текст запроса может состоять из нескольких частей:

Обязательной частью запроса является параметр «описание запроса».Описание запроса определяет источники данных, поля выборки, группировки и т. д. Объединение запросов определяет, как будут объединены результаты выполнения нескольких запросов. Упорядочивание результатов определяет условия упорядочивания строк результата запроса. Автоупорядочивание позволяет включить режим автоматического упорядочивания строк результата запроса. Описание итогов определяет, какие итоги необходимо рассчитывать в запросе и каким образом группировать результат.
Следует заметить, что в случае, когда язык запросов используется для описания источников данных в системе компоновки данных, секция описания итогов языка запросов не используется. Это связано с тем, что система компоновки данных самостоятельно рассчитывает итоги на основании тех настроек, которые сделаны разработчиком или пользователем.


 ПРАКТИЧЕСКАЯ ЧАСТЬ

Отбор

Создадим настройку отбора в отчете. Для этого в нижней части окна настроек перейдем на закладку Отбор.
Слева мы видим список доступных полей отчета.
Раскроем поле Услуга и двойным щелчком мыши на поле Родитель перенесем его в список условий отбора в правой части окна.


Рис. 13.14. Настройка отбора

Тем самым была создана возможность отбора по группам услуг, которые пользователь может задать в режиме 1С:Предприятие.

Откроем отчет в режиме 1С: Предприятие и нажмем кнопку Настройка.
В окне пользовательских настроек отчета появились настройки Отбор и Условное оформление, которые мы только что отметили.
Настройку Непопулярная услуга мы заранее создали в конфигураторе. Добавив настройку условного оформления, мы предоставили пользователю возможность создавать любое количество собственных условий для условного оформления.
Пользователь сможет, при наличии определенной квалификации, задавать многие настройки по своему желанию.
Если же такого желания или соответствующих знаний у него нет, лучше задавать эти на стройки жестко, а пользователю останется только включать или выключать их использование. Да собственно часто достаточно только отчетного периода или еще какой-то жизненно важной настройки, и такие настройки, конечно, нужно размещать непосредственно в отчетной форме. Получение актуальных значений из периодического регистра сведений.
Изучим возможность получения последних значений из периодического регистра сведений и с возможность вывода иерархических справочников.

Добавим новый объект конфигурации Отчет.
Назовем его ПереченьУслуг и запустим конструктор схемы компоновки данных. Добавим новый Набор данных - запрос и вызовем конструктор запроса.

 

Запрос для набора данных

В качестве источника данных для запроса выберем объектную  таблицу справочника Номенклатура и виртуальную таблицу регистра сведений ЦеныСрезПоследних.
Для того чтобы исключить неоднозначность имен в запросе, переименуем таблицу Номенклатура в СпрНоменклатура. Для этого выделим ее в списке Таблицы, вызовем ее контекстное меню ив ыберем пункт Переименовать таблицу.

Параметры виртуальной таблицы

Вызовем диалог ввода параметров виртуальной таблицы ЦеныСрезПоследних и укажем, что период будет передан в параметре ДатаОтчета. Для этого выделим эту таблицу в списке Таблицы и нажмем кнопку Параметры виртуальной таблицы.
Затем выберем из таблиц следующие поля:

Левое соединение таблиц

 - На закладке Связи: в поле Условие связи, что значение измерения Номенклатура регистра сведений должно быть равно ссылке на элемент справочника Номенклатура. А также снимим флажок Все у таблицы регистра и установим его у таблицы справочника, тем самым установив вид связи как левое соединение для таблицы справочника:

Рис. 13.15. Связь таблиц в запросе

 - На закладке Условия зададим условие выбора элементов справочника Номенклатура - выбираемые элементы должны соответствовать виду номенклатуры, переданному в параметре запроса Вид Номенклатуры:

Рис. 13.16. Условия выбора элементов

- На закладке Объединения/Псевдонимы: указать псевдоним поля Родитель = ГруппаУслуг, а поля Ссылка = Услуга.
- НажмемОК

После этого, необходимо отредактировать схему компоновки данных, для этого на закладке Ресурсы, нажмем на кнопку добавить и выберем ресурс - Цена

 - На закладке Параметры зададим значение параметра ВидНоменкла­туры - Перечисление.ВидыНоменклатуры.Услуга.
Кроме этого, снимем ограничение доступности для параметра ДатаОтчета. В поле Тип этого параметра зададим состав даты - Дата. Для параметра Период, наоборот, установим ограничение доступ­ности:

Рис. 13.17. Параметры схемы компоновки

Настройки

 - Перейдем на закладку Настройки: создадим группировку по полю ГруппаУслуг, указав тип группировки Иерархия.

Существуют следующие типы иерархии для группировок отчета:
• Без иерархии - в группировке выводятся только неиерархические
записи.
• Иерархия - в группировке выводятся как неиерархические, так
и иерархические записи.
• Только иерархия - в группировке выводятся только иерархические (родительские) записи.
Внутри этой группировки создадим еще одну, без указания группового поля. На подзакладке Выбранные поля: укажем поля для вывода Услуга и Цена:

Рис. 13.18. Структура и поля отчета

 - На подзакладке   Другие настройки осуществим следующие действия:

Рис. 13.19. Настройки вывода общих итогов для группировки "Группа Услуг"

 - затем:

Рис. 13.20. Настройк и вывода итогов для глобального отчета

В заключение включим параметр Дата отчета в состав пользова­тельских настроек и установим для него Режим редактирования -Быстрый доступ.
Закроем конструктор схемы компоновки данных и в окне редак­тирования объекта ПереченьУслуг перейдем на закладку Подсистемы.
Отметим в списке подсистем конфигурации подсистемы Оказание услуг и Бухгалтерия.

Запустим 1С:Предприятие в режиме отладки и прежде всего откроем периодический регистр Цены. После чего протестируем отчет.

На примере этого отчета было изучено, как система компоновки данных получает последние значения из периодического регистра сведений и как выводятся группировки по иерархии справочника.


Контрольные вопросы

 

Начать Тест

- Перейти на страницу контрольного тестового задания