Отчет Реестр документов оказание услуги 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Отчет Реестр документов оказание услуги



Создадим отчет Реестр документов оказание услуги, используя систему компоновки данных. Этот отчет будет выводить список существующих в базе данных документов ОказаниеУслуги в порядке их дат и номеров.

1. Создайте в конфигураторе новый объект конфигурации Отчет с именем РеестрДокументовОказаниеУслуги.

2. На закладке Основные нажмем кнопку Открыть схему компоновки данных.

3. В открывшемся диалоговом окне конструктора макета нажмем Готово.

4. В конструкторе схемы компоновки данных создадим Набор данных → запрос

и запустим конструктор запроса.

5. В качестве источника данных для запроса выберем объектную (ссылочную) таблицу документов ОказаниеУслуги. Из этой таблицы выберем следующие поля (можно двойным щелчком):

· Дата;

· Номер;

· Склад;

· Мастер;

· Клиент.

6. После этого перейдем на закладку Порядок и укажем, что результат запроса должен быть сначала упорядочен по значению поля Дата, а затем → по значению поля ОказаниеУслуги.Ссылка.

7. Нажмем ОК и посмотрим, какой запрос сформировал конструктор запроса.

Текст запроса начинается с части описания запроса (часть 1).

Описание запроса начинается с обязательного ключевого слова Выбрать. Затем следует список полей выборки. В нем описываются поля, которые должны содержаться в результате запроса. Этот список может содержать как собственно поля, так и некоторые выражения, вычисляемые на основе значений полей.

После ключевого слова ИЗ указываются источники данных → исходные таблицы запроса, содержимое которых обрабатывается в запросе. В данном случае это объектная (ссылочная) таблица Документ.ОказаниеУслуги. После ключевого слова КАК указывается псевдоним источника данных. В нашем случае это ОказаниеУслуги. В дальнейшем к этому источнику данных можно будет обращаться в тексте запроса, используя псевдоним.

Такое обращение мы видим в описании полей выборки:

Поля выборки также могут иметь псевдонимы, по которым в дальнейшем в тексте запроса можно обращаться к этому полю. В нашем случае это псевдоним Дата.

После части описания запроса в нашем примере следует часть упорядочивания результатов (часть 2).

Предложение УПОРЯДОЧИТЬ ПО позволяет сортировать строки в результате запроса. После этого ключевого предложения располагается выражение упорядочивания, которое в общем случае представляет собой перечисление полей (выражений) и порядка вывода.

В нашем случае упорядочивание будет выполняться сначала по полю Дата, а потом по полю ОказаниеУслуги.Ссылка. В обоих случаях порядок сортировки будет по возрастанию (настроен по умолчанию).

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

9. В окне выбора поля группировки просто нажмем ОК, указывая тем самым, что в группировке будут выводиться детальные записи из информационной базы.

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

· Дата;

· Номер;

· Склад;

· Мастер;

· Клиент.

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

Отчет РейтингУслуг

Отчет РейтингУслуг будет содержать информацию о том, выполнение каких услуг принесло фирме наибольшую прибыль в указанном периоде.

1. Создайте новый объект конфигурации Отчет с именем РейтингУслуг.

2, На закладке Основные нажмите кнопку Открыть схему компоновки данных.

3. В открывшемся диалоговом окне конструктора макета нажмем Готово.

4. В конструкторе схемы компоновки данных создадим Набор данных → запрос и запустим Конструктор запроса.

5. Выберем объектную (ссылочную) таблицу справочника Номенклатура и виртуальную таблицу регистра накопления Продажи.Обороты.

6. Для того, чтобы исключить неоднозначность имен в запросе, переименуем таблицу Номенклатура в СпрНоменклатура (контекстное меню правой кнопкой мыши → Переименовать таблицу).

7. Выберем из таблиц поля СпрНоменклатура.Ссылка и ПродажиОбороты. ВыручкаОбо-

рот.

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

9. Сбросим флаг Все у таблицы регистра и установим его у таблицы справочника.

Установка флага Все у таблицы справочника будет означать, что из справочника будут выбраны все элементы и этим элементам будет поставлено в соответствие значение оборота выручки из регистра. Таким образом, в результате запроса будут присутствовать все услуги, и для некоторых из них будут указаны обороты выручки. Для тех услуг, которые не оказывались в выбранном периоде, не будет указано ничего.

10. Перейдем на закладку Условия и зададим условия выбора элементов из справочника Номенклатура. При задании условий выбора мы будем использовать параметры запроса.

Первым условием должно быть то, что выбранный элемент не является группой (для этого следует переключиться в режим Произвольное условие → установить флаг Произвольное). Затем ввести в поле условие следующий текст

Вторым условием должно быть то, что выбранный элемент является услугой (это Простое условие).

В дальнейшем, перед выполнением запроса, мы передадим в параметр ВидНоменклатуры соответствующее значение перечисления.

11. На закладке Объединения/Псевдонимы укажем, что представление элемента справочника будет иметь псевдоним Услуга, а поле регистра будет иметь псевдоним Выручка:

· двойной щелчок по слову Ссылка в†’ появиться значок Очистить;

· с помощью этого значка очищаем данное поле;

· в очищенное поле вбиваем новое имя Услуга;

· аналогично поступаем с псевдонимом Выручка.

12. На закладке Порядок укажем, что результат запроса должен быть отсортирован по убыванию значения поля Выручка:

· дважды щелкните по полю Выручка;

· дважды щелкните по полю Возрастание в†’ выберите сортировку Убывание.

13. Создание запроса закончено. ОК.

14. Рассмотрим запрос, сформированный конструктором:

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

При описании источников запроса (после ключевого слова ИЗ) использована возможность определения нескольких источников запроса:

В данном случае выбираются записи из двух источников СпрНоменклатура и ПродажиОбороты, причем ключевым предложением ЛЕВОЕ СОЕДИНЕНИЕ …¦ ПО описан способ, которым будут скомбинированы между собой записи этих двух источников.

ЛЕВОЕ СОЕДИНЕНИЕ означает, что в результат запроса надо включить комбинации записей из обоих источников, которые соответствуют указанному после ключевого слова ПО условию. Кроме этого в результат запроса надо включить еще и записи из первого (указанного слева от слова СОЕДИННИЕ) источника, для которых не найдено соответствующих условию записей из второго источника.

Продолжим рассматривать текст запроса. В части описания запроса есть еще одна новая для нас конструкция → задание условий отбора данных из нескольких таблиц:

Условию отбора всегда предшествует ключевое слово ГДЕ. После него описывается само условие. Обратите внимание, что поля исходных таблиц, на которые накладывается условие, могут и не входить в список выборки (как в нашем случае). Кроме того, в нашем условии использован параметр запроса ВидНоменклатуры.

15. Теперь, когда мы закончили знакомиться с текстом запроса, продолжим формирование нашей схемы компоновки данных.

Перейдем на закладку Ресурсы и нажмем кнопку >>, чтобы конструктор выбрал все доступные ресурсы, по которым можно вычислять итоги. В нашем случае → это единственный ресурс Выручка.

16. Перейдем на закладку Параметры.

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

· НачалоПериода;

· КонецПериода;

· ВидНоменклатуры.

Все дело в том, что система компоновки данных самостоятельно анализирует текст запроса и помимо тех параметров, которые указаны в нем в явном виде (ВидНоменклатуры), предоставляет возможность настроить те параметры, которые в явном виде в запросе не указаны, но с большой долей вероятности могут быть использованы в отчете. Такими параметрами являются НачалоПериода и КонецПериода.

Это первые два параметра виртуальной таблицы РегистрНакопления.Продажи.Обороты, которую мы использовали в запросе, в левом соединении.

Первым параметром передается начало периода расчета итогов, вторым → конец периода. В результате исходная таблица будет содержать только обороты, рассчитанные в переданном периоде.

17. Для параметра НачалоПериода зададим заголовок, который будет отображаться пользователю → Дата начала.

Здесь всегда следует помнить, что если мы передаем в качестве этих параметров дату, то дата содержит и время с точностью до секунды.

Пользователя, как правило, не интересуют результаты работы отчета в периодах, указанных с точностью до секунды. В этом случае следует учесть две особенности.

Во-первых, пользователя надо избавить от необходимости указывать время при вводе даты. Для этого изменим существующее описание типа для параметра НачалоПериода.

18. Дважды кликнем в ячейке Доступные типы, соответствующей параметру НачалоПериода, нажмем кнопку выбора (…¦) и в нижней части окна редактирования типа данных установим Состав даты в значение Дата.

19. Нажмем ОК.

Вторая особенность заключается в том, что по умолчанию время в дате установлено 00:00:00. Поэтому, если пользователь задаст период отчета с 01.03.2008 по 31.03.2008, итоги регистра будут рассчитаны с начала дня 01.03.2008 00:00:00 по начало дня 31.03.2008 00:00:00. Таким образом, данные за 31 число, отличные от начала дня, в расчет не войдут, что сильно удивит пользователя.

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

Значение параметра КонецПериода будем рассчитывать автоматически таким образом, чтобы оно указывало на конец дня даты, введенной пользователем. Поэтому для параметра КонецПериода установим флаг Ограничение доступности.

20. С помощью кнопки командной панели добавим новый параметр с именем ДатаОкончания.

Для этого параметра платформа автоматически сформирует заголовокДата окончания. Оставим его без изменений. Зададим тип значения параметра → Дата. При этом, как и для параметра НачалоПериода, укажем состав даты → Дата.

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

21. Перейдем к параметру КонецПериода. Для него мы установили флаг ограничения доступности, поскольку значение этого параметра мы собираемся вычислять на основании значения, установленного пользователем для параметра ДатаОкончания.

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

В ячейке Выражение зададим для параметра КонецПериода следующее выражение

23. И в заключение настроим параметр ВидНоменклатуры. Поскольку отчет должен отображать выручку, полученную только от реализации услуг, значение параметра ВидНоменклатуры пользователь изменять не должен. Оно должно быть задано непосредственно по схеме компоновки как Перечисление. ВидНоменклатуры.Услуга.

Флаг ограничения использования у параметра ВидНоменклатуры платформа установила по умолчанию, поэтому нам остается только указать нужное значение перечисления ВидНоменклатуры в ячейке Значение, соответствующей параметру ВидНоменклатуры.

24. Перейдем к формированию структуры отчета. На закладке Настройки добавим группировку и снова не укажем поле группировки.

25. На закладке Выбранные поля укажем поля Услуга и Выручка.

26. В заключение, находясь на уровне Глобального отчета, перейдем на закладку Другие настройки и зададим заголовок отчета → Рейтинг услуг.

Запустите 1С:Предприятие в режиме отладки.

1. Запустим наш отчет Рейтинг услуг. Но перед тем, как нажать кнопку Сформировать, откроем Настройки и на закладке Параметры данных зададим период отчета с 01.09.2008 по 03.09.2008.

2. Нажмем ОК и сформируем отчет. Результат будет выглядеть следующим образом:

Как мы видим, данные за 03.09.08 попадают в отчет. При изменении периода изменятся и содержание отчета.

 

 



Поделиться:


Последнее изменение этой страницы: 2016-12-15; просмотров: 241; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.202.167 (0.058 с.)