1С-Предприятие 8.0. Практическое пособие разработчика


Отчет ПереченьУслуг - часть 2


Откроем модуль формы и в процедуре "ПереченьУслуг" определим значение параметра запроса:

   Запрос.УстановитьПараметр("ВидНоменклатуры", Перечисления.ВидыНоменклатуры.Услуга);

   Запрос.УстановитьПараметр("ДатаОтчета", ДатаОтчета);

 

Теперь рассмотрим текст запроса, сформированный конструктором:

   Запрос.Текст =

   "ВЫБРАТЬ

   |    СпрНоменклатура.Родитель КАК ГруппаУслуг,

   |    ПРЕДСТАВЛЕНИЕ(СпрНоменклатура.Родитель),

   |    СпрНоменклатура.Ссылка КАК Услуга,

   |    СпрНоменклатура.Представление,

   |    ЦеныСрезПоследних.Цена

   |ИЗ

   |    Справочник.Номенклатура КАК СпрНоменклатура

   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних(&ДатаОтчета, ) КАК ЦеныСрезПоследних

   |        ПО ЦеныСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка

   |ГДЕ

   |    СпрНоменклатура.ВидНоменклатуры = &ВидНоменклатуры

   |ИТОГИ ПО

   |    ГруппаУслуг ИЕРАРХИЯ";

 

Практически все конструкции, использованные в этом запросе, нам уже известны, за исключением ключевого слова ИЕРАРХИЯ, использованного в части описания итогов. Это ключевое слово позволяет рассчитывать итоги по иерархии справочника, однако поскольку в нашем случае какие либо итоги в отчете не нужны, мы использовали эту возможность для создания группировок по иерархии справочника "Номенклатура".

Теперь запустим 1С:Предприятие в режиме отладки и, прежде всего, откроем периодический регистр "Цены". [193]

Добавим в него еще одно значение для услуги "Диагностика" новая цена услуги на 01.04.2004 (это позволит нам протестировать отчет):

Теперь выполним отчет "Перечень услуг" по состоянию на 31.03.2004:

Наш отчет правильно отражает цену услуги "Диагностика" на 31.04 – 200pyб. [194]

Еще раз выполним отчет, но теперь уже на другую дату 01.04.2004:

Как видите, показана новая цена услуги "Диагностика" – 350 руб.

Таким образом, на примере этого отчета мы показали, как при помощи запроса можно получить последние значения из периодического регистра сведений и как вывести группировки по иерархии справочника. [195]




Начало  Назад  Вперед



Книжный магазин