Лабораторная работа 1 Знакомство, создание информационной базы
Скачать 3.89 Mb.
|
Расположение общих итогов по вертикали зададим значение Начало. По умолчанию итоги по вертикали располагаются в конце . Установка этого свойства означает, что общие итоги будут отображаться в начале перед строками группировки. В результате другие настройки отчета примут вид (рис. 15.7). Рис. 15.7. Параметры настроек вывода отчета Здесь же для параметра Заголовок зададим значение Выручка мастеров. Затем укажем, что параметры Дата начала и Дата окончания будут включены в состав пользовательских настроек, и эти настройки будут находиться непосредственно в отчетной форме, то есть будут «быстрыми» настройками. Таким образом, перед формированием отчета пользователь сможет задать отчетный период (рис. 15.8). Рис. 15.8. Создание быстрых настроек отчетного периода В заключение определим, в каких подсистемах будет отображаться наш отчет. Закроем конструктор схемы компоновки данных и в окне редактирования объекта конфигурации Отчет ВыручкаМастеров перейдем на закладку Подсистемы. Отметим в списке подсистем конфигурации подсистемы Оказание услуг и Расчет зарплаты. Таким образом, ссылка на наш отчет автоматически попадет в панель действий этих подсистем. • В режиме 1С Предприятие Запустим 1С:Предприятие в режиме отладки и посмотрим, как работает отчет. В открывшемся окне 1С:Предприятия мы видим, что в панели действий разделов Оказание услуг и Расчет зарплаты в группе команд для выполнения отчетов появилась команда для формирования отчета Выручка мастеров. Выполним эту команду. Зададим отчетный период с 01.07.2009 по 15.07.2009 и сформируем отчет (рис. 15.9). Рис. 15.9. Результат выполнения отчета Вывод всех дат в выбранном периоде Если вы помните, в начале раздела мы говорили, что этот отчет должен показывать данные с детализацией по всем дням в выбранном периоде. У нас же отображаются только те дни, для которых существуют ненулевые записи в таблице регистра накопления Продажи. Для детализации данных в отчете система компоновки данных позволяет указывать для группировок дополнение периодов с заданной периодичностью в указанном интервале. Поэтому сейчас мы изменим настройки отчета таким образом, чтобы в отчет попадала каждая дата из периода, за который сформирован отчет. • В режиме Конфигуратор Вернемся в режим Конфигуратор и выполним более тонкую настройку структуры отчета. Откроем схему компоновки данных на закладке Настройки. До сих пор все настройки структуры, которые мы выполняли, относились ко всему отчету в целом. Но система компоновки данных позволяет настраивать также и каждый элемент структуры в отдельности. При установке настроек отчета в средней части окна, под деревом структуры отчета, должна быть выделена кнопка, соответствующая режиму настроек. Кнопка Отчет - для настройки отчета в целом или кнопка с именем группировки, например Детальные записи, если настройки относятся только к ней. В нашем случае потребуется изменить настройку группировки Период. Для того чтобы перейти к настройкам именно этой группировки, в поле структуры отчета установим курсор на эту группировку, а затем нажмем кнопку Период в командной панели окна. В нижней части окна будут отображены настройки, доступные для данной группировки. Перейдем на закладку Поля группировки. Для поля Период установим Тип дополнения - День (рис. 15.10). Рис. 15.10. Установка типа дополнения периода Тем самым мы укажем, что для этой группировки существующие записи с ненулевым значением ресурса будут дополняться записями для каждого из дней. После этого следует указать, в каком именно периоде будет выполняться такое дополнение. В поля, расположенные строчкой ниже, можно ввести даты начала и окончания этого периода. Но указание дат в явном виде нас не устраивает, так как пользователь может сформировать отчет за произвольный период. И нам нужно, чтобы дополнение дат выполнялось не в некотором фиксированном периоде, а именно в том периоде, который выбрал пользователь для всего отчета. Для того чтобы обеспечить именно такую работу отчета, войдем в режим редактирования поля Начальная дата периода, дважды кликнув на нем, и нажмем кнопку очистки *. После этого, нажав кнопку выбора типа данных, мы сможем выбрать тип данных, отображаемых в этом поле. Выберем Поле компоновки данных (рис. 15.11). Рис. 15.11. Выбор типа данных Нажмем ОК. Теперь нажмем в поле ввода кнопку выбора и в открывшемся окне выбора поля отметим параметр НачалоПериода (рис. 15.12). Нажмем ОК. Рис. 15.12. Выбор поля Для второго поля ввода аналогичным образом укажем, что дата окончания периода будет получена из параметра ДатаОкончания (рис. 15.13). Рис. 15.13. Настройки группировки "Период" • В режиме 1С Предприятие Запустим 1С:Предприятие в режиме отладки и выполним отчет Выручка мастеров за период с 10.07.2009 по 15.07.2009 (рис. 15.14). Рис. 15.14. Результат выполнения отчета Новый вариант отчета Для анализа работы мастеров за определенный период может понадобиться представить ту же информацию в другом, более наглядном виде. Например, директору при начислении зарплаты, чтобы понять, какой из мастеров лучше работает, вполне может понадобиться увидеть диаграмму, отражающую вклад каждого мастера в общую выручку предприятия за период. Поэтому мы создадим другой вариант отчета ВыручкаМастеров, представляющий данные в виде диаграммы. • В режиме Конфигуратор Вернемся в конфигуратор и откроем схему компоновки данных на закладке Настройки. В левой части окна находится список вариантов отчета. При создании настроек отчета в первый раз система компоновки данных по умолчанию создает Основной вариант настроек. И мы видим его в списке вариантов нашего отчета. Чтобы добавить новый вариант, нажмем кнопку Добавить над этим списком. Зададим имя варианта - ОбъемВыручки (рис. 15.15). Рис. 15.15. Добавление нового варианта настроек Мы видим, что структура отчета и все его настройки очистились. Но они не пропали, а стали невидимы, так как относятся к Основному варианту настроек. Если у отчета есть несколько вариантов, то мы видим и можем изменять настройки того варианта, который выделен в данный момент. Причем вся остальная информация в схеме компоновке данных (ресурсы, параметры, наборы данных) осталась без изменений. Данные для отчета будут получены с помощью того же запроса к базе данных. Изменятся лишь настройки, которые определят, как будет представлен отчет. Добавим в структуру отчета диаграмму. Для этого выделим корневой элемент Отчет, вызовем его контекстное меню и добавим диаграмму. Затем выделим ветку Точки и добавим в нее группировку по полю Мастер. Серии диаграммы оставим без изменений. Для демонстрации вклада мастеров в общий объем выручки хорошо подойдет измерительная диаграмма, которую мы хотим показать. Для этого вида диаграммы достаточно задать только точки, поэтому серии мы не задаем. В значения диаграммы всегда выводится один из ресурсов отчета. У нас всего один ресурс - Выручка (поле ресурса помечено соответствующей пиктограммой и отличается от обычных полей). Поэтому перейдем на закладку Выбранные поля, перейдем на уровень настроек отчета в целом (нажав кнопку Отчет) и выберем поле Выручка для вывода в отчет. Структура отчета должна принять следующий вид (рис. 15.16). Рис. 15.16. Структура отчета и настройки диаграммы На закладке Другие настройки выберем тип диаграммы - Измерительная (рис. 15.17). Рис. 15.17. Настройка типа диаграммы Прокрутив вниз список свойств измерительной диаграммы, зададим ее полосы - Плохо, Хорошо и Отлично (рис. 15.18). Рис. 15.18. Настройка полос измерительной диаграммы В заключение включим параметры Дата начала и Дата окончания в состав пользовательских настроек и установим для них Режим редактирования - Быстрый доступ. • В режиме 1С Предприятие Запустим 1С:Предприятие в режиме отладки и выполним команду Выручка мастеров в панели действий раздела Расчет зарплаты. В открывшемся окне отчета нажмем кнопку Выбрать вариант (рис. 15.19). Рис. 15.19. Выбор варианта отчета В окне вариантов отчета мы видим теперь два варианта - Основной и только что созданный нами вариант Объем выручки. Выделим его и нажмем кнопку Выбрать. Зададим отчетный период с 01.07.2009 по 15.07.2009 и сформируем отчет (рис. 15.20). Рис. 15.20. Результат выполнения отчета В результате мы видим те же данные, что и в основном варианте отчета, представленные в виде измерительной диаграммы. На диаграмме хорошо видна доля каждого мастера в общем объеме выручки. Обратите внимание, что при наведении курсора на сектор диаграммы появляется подсказка. Если же понадобится просмотреть данные о работе какого-либо мастера с разбивкой по дням и клиентам, достаточно выбрать Основной вариант отчета и переформировать отчет. Таким образом, на примере отчета Выручка мастеров мы показали создание и использование различных вариантов отчета в целях наилучшего представления информации о работе мастеров. Контрольные вопросы • Что такое параметры виртуальной таблицы. • Что такое левое соединение. • Как использовать конструктор запроса. • Как выбрать данные в некотором периоде для отчета. • Как упорядочить данные в отчете. Лабораторная работа № 16 Отчеты. Получение актуальных сведений из периодического регистра сведений Ориентировочная продолжительность занятия - 45 минут. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Язык запросов Алгоритм, по которому данные будут выбраны из исходных таблиц запроса, описывается на специальном языке - языке запросов. Текст запроса может состоять из нескольких частей: • описание запроса, • объединение запросов, • упорядочивание результатов, • автоупорядочивание, • описание итогов. Обязательной частью запроса является параметр «описание запроса».Описание запроса определяет источники данных, поля выборки, группировки и т. д. Объединение запросов определяет, как будут объединены результаты выполнения нескольких запросов. Упорядочивание результатов определяет условия упорядочивания строк результата запроса. Автоупорядочивание позволяет включить режим автоматического упорядочивания строк результата запроса. Описание итогов определяет, какие итоги необходимо рассчитывать в запросе и каким образом группировать результат. Следует заметить, что в случае, когда язык запросов используется для описания источников данных в системе компоновки данных, секция описания итогов языка запросов не используется. Это связано с тем, что система компоновки данных самостоятельно рассчитывает итоги на основании тех настроек, которые сделаны разработчиком или пользователем. ПРАКТИЧЕСКАЯ ЧАСТЬ Отбор • В режиме Конфигуратор Создадим настройку отбора в отчете. Для этого в нижней части окна настроек перейдем на закладку Отбор. Слева мы видим список доступных полей отчета. Раскроем поле Услуга и двойным щелчком мыши на поле Родитель перенесем его в список условий отбора в правой части окна. Рис. 13.14. Настройка отбора Тем самым была создана возможность отбора по группам услуг, которые пользователь может задать в режиме 1С:Предприятие. • В режиме 1С:Предприятие Откроем отчет в режиме 1С: Предприятие и нажмем кнопку Настройка. В окне пользовательских настроек отчета появились настройки Отбор и Условное оформление, которые мы только что отметили. Настройку Непопулярная услуга мы заранее создали в конфигураторе. Добавив настройку условного оформления, мы предоставили пользователю возможность создавать любое количество собственных условий для условного оформления. Пользователь сможет, при наличии определенной квалификации, задавать многие настройки по своему желанию. Если же такого желания или соответствующих знаний у него нет, лучше задавать эти на стройки жестко, а пользователю останется только включать или выключать их использование. Да собственно часто достаточно только отчетного периода или еще какой- то жизненно важной настройки, и такие настройки, конечно, нужно размещать непосредственно в отчетной форме. Получение актуальных значений из периодического регистра сведений. Изучим возможность получения последних значений из периодического регистра сведений и с возможность вывода иерархических справочников. • В режиме Конфигуратор Добавим новый объект конфигурации Отчет. Назовем его ПереченьУслуг и запустим конструктор схемы компоновки данных. Добавим новый Набор данных - запрос и вызовем конструктор запроса. Запрос для набора данных В качестве источника данных для запроса выберем объектную таблицу справочника Номенклатура и виртуальную таблицу регистра сведений ЦеныСрезПоследних. Для того чтобы исключить неоднозначность имен в запросе, переименуем таблицу Номенклатура в СпрНоменклатура. Для этого выделим ее в списке Таблицы, вызовем ее контекстное меню ив ыберем пункт Переименовать таблицу. Параметры виртуальной таблицы Вызовем диалог ввода параметров виртуальной таблицы ЦеныСрезПоследних и укажем, что период будет передан в параметре ДатаОтчета. Для этого выделим эту таблицу в списке Таблицы и нажмем кнопку Параметры виртуальной таблицы. Затем выберем из таблиц следующие поля: • СпрНоменклатура. Родитель, • СпрНоменклатура.Ссылка, • ЦеныСрезПоследних.Цена. Левое соединение таблиц - На закладке Связи: в поле Условие связи, что значение измерения Номенклатура регистра сведений должно быть равно ссылке на элемент справочника Номенклатура. А также снимим флажок Все у таблицы регистра и установим его у таблицы справочника, тем самым установив вид связи как левое соединение для таблицы справочника: Рис. 13.15. Связь таблиц в запросе - На закладке Условия зададим условие выбора элементов справочника Номенклатура - выбираемые элементы должны соответствовать виду номенклатуры, переданному в параметре запроса Вид Номенклатуры: Рис. 13.16. Условия выбора элементов - На закладке Объединения/Псевдонимы: указать псевдоним поля Родитель = ГруппаУслуг, а поля Ссылка = Услуга. - НажмемОК– После этого, необходимо отредактировать схему компоновки данных, для этого на закладке Ресурсы, нажмем на кнопку добавить и выберем ресурс - Цена - На закладке Параметры зададим значение параметра ВидНоменклатуры - Перечисление.ВидыНоменклатуры.Услуга. Кроме этого, снимем ограничение доступности для параметра ДатаОтчета. В поле Тип этого параметра зададим состав даты - Дата. Для параметра Период, наоборот, установим ограничение доступности: Рис. 13.17. Параметры схемы компоновки Настройки - Перейдем на закладку Настройки: создадим группировку по полю ГруппаУслуг, указав тип группировки Иерархия. Существуют следующие типы иерархии для группировок отчета: • Без иерархии - в группировке выводятся только неиерархические записи. • Иерархия - в группировке выводятся как неиерархические, так и иерархические записи. • Только иерархия - в группировке выводятся только иерархические (родительские) записи. Внутри этой группировки создадим еще одну, без указания группового поля. На подзакладке Выбранные поля: укажем поля для вывода Услуга и Цена: Рис. 13.18. Структура и поля отчета - На подзакладке Другие настройки осуществим следующие действия: Рис. 13.19. Настройки вывода общих итогов для группировки "Группа Услуг" - затем: Рис. 13.20. Настройк и вывода итогов для глобального отчета В заключение включим параметр Дата отчета в состав пользовательских настроек и установим для него Режим редактирования -Быстрый доступ. Закроем конструктор схемы компоновки данных и в окне редактирования объекта ПереченьУслуг перейдем на закладку Подсистемы. Отметим в списке подсистем конфигурации подсистемы Оказание услуг и Бухгалтерия. • В режиме 1С: Предприятие Запустим 1С:Предприятие в режиме отладки и прежде всего откроем периодический регистр Цены. После чего протестируем отчет. На примере этого отчета было изучено, как система компоновки данных получает последние значения из периодического регистра сведений и как выводятся группировки по иерархии справочника. Контрольные вопросы • Как использовать в отчете данные нескольких таблиц. • Как использовать группировки в структуре отчета. • Как получить последние значения регистра сведений. • Как вывести в отчет иерархические данные. • Как управлять выводом итогов по группировкам и общих итогов. Лабораторная работа № 17 Отчеты. Использование вычисляемого поля в отчете Ориентировочная продолжительность занятия - 45 минут. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Система компоновки данных Система компоновки данных предназначена для создания произвольных отчетов в системе 1С: Предприятие и состоит из нескольких основных частей. Исходные данные для компоновки отчета содержит в себе схема компоновки данных. Разработчик создает схему компоновки данных, в которой описывает текст запроса, наборы данных, связи между ними, доступные поля, параметры получения данных, и задает первоначальные настройки компоновки - структуру отчета, макет оформления данных и др. Отчет системы компоновки имеет сложную иерархическую структуру и может состоять из различных элементов, таких как группировки, таблицы и диаграммы. При этом пользователь может изменить существующую структуру отчета или вообще создать совершенно новую структуру отчета. Может настроить необходимый ему отбор, оформление элементов структуры отчета, получить расшифровку по каждому элементу и т. д. Например, может быть задана такая структура отчета, состоящая из одной таблицы и одной диаграммы. В этом случае сформированный отчет будет иметь следующий вид. В представленном отчете таблица будет состоять из записей регистра накопления ПродажиОбороты о клиентах и оказанных им услугах. Эти записи сгруппированы по мастерам, которые выполняли заказы. А в группировке будет выведен список услуг, оказанных данным мастером, и затраченных на это материалов. Как мы уже говорили в начале раздела, система компоновки данных представляет собой совокупность нескольких объектов. При формировании и исполнении отчета происходит последовательная передача данных от одного объекта системы компоновки данных к другому, до получения конечного результата - документа, показанного пользователю. Алгоритм взаимодействия этих объектов выглядит следующим образом: Разработчик создает схему компоновки данных и настройки по умолчанию. В общем случае на основе одной схемы компоновки данных может быть создано большое количество различных отчетов. Настройки компоновки данных, создаваемые разработчиком или изменяемые пользователем, определяют, какой именно отчет будет получен в конкретном случае. • На основе схемы компоновки и имеющихся настроек компоновщик макета создает макет. Это этап подготовки к исполнению отчета. Макет компоновки данных является уже готовым заданием для выполнения процессором компоновки. Он содержит необходимые запросы, макеты областей отчета и др. • Процессор компоновки данных выбирает данные из информационной базы согласно макету компоновки, агрегирует и оформляет эти данные. Результат компоновки обрабатывается процессором вывода, и в итоге пользователь получает результирующий табличный документ. |