Показано с 1 по 8 из 8
Древовидный режим
-
12.12.2016, 23:26 #1
- Регистрация
- 29.11.2016
- Сообщений
- 3
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Как создать период отчёта за месяц, а не по дате?
Добрый вечер , помогите разобраться.
Есть готовый отчёт, который формируется по определённой дате. Но мне нужно чтобы он формировался за целый месяц.
Сам отчёт: внешний , имеется форма и макет. Запрос и модули формы написаны правильно. Работа отчёта осуществляется только по определённой дате , а нужно чтобы формировался за весь месяц.
Код:&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Дата = ТекущаяДата(); СформироватьОтчет(); КонецПроцедуры &НаКлиенте Процедура Сформировать(Команда) СформироватьОтчет(); КонецПроцедуры &НаСервере Процедура СформироватьОтчет() ТабДок.Очистить(); ТабДок.НачатьАвтогруппировкуСтрок(); Макет = Отчеты.ст_ДневнойЛистокУчета.ПолучитьМакет("ДневнойЛистокУчета"); //Получение данных для вывода в отчет ПостроительЗапроса = Новый ПостроительЗапроса; ПостроительЗапроса.Текст = "ВЫБРАТЬ | ст_ПриемНарядУслуги.Ссылка.Номер КАК НомерНаряда, | ст_ПриемНарядУслуги.Ссылка.Врач КАК Врач, | ст_ПриемНарядУслуги.Ссылка.Пациент КАК Пациент, | ст_ПриемНарядУслуги.УслугаРабота КАК УслугаРабота, | СУММА(ст_ПриемНарядУслуги.Сумма) КАК Сумма, | ст_ПриемНарядУслуги.Ссылка КАК Регистратор |ИЗ | Документ.ст_ПриемНаряд.Услуги КАК ст_ПриемНарядУслуги |ГДЕ | ст_ПриемНарядУслуги.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&НаДату, ДЕНЬ) И КОНЕЦПЕРИОДА(&НаДату, ДЕНЬ) | И ст_ПриемНарядУслуги.Ссылка.Проведен = ИСТИНА | |СГРУППИРОВАТЬ ПО | ст_ПриемНарядУслуги.Ссылка, | ст_ПриемНарядУслуги.Ссылка.Номер, | ст_ПриемНарядУслуги.Ссылка.Врач, | ст_ПриемНарядУслуги.Ссылка.Пациент, | ст_ПриемНарядУслуги.УслугаРабота | |УПОРЯДОЧИТЬ ПО | Врач, | НомерНаряда |ИТОГИ | МИНИМУМ(НомерНаряда), | СУММА(Сумма) |ПО | ОБЩИЕ, | Врач, | Регистратор, | УслугаРабота |АВТОУПОРЯДОЧИВАНИЕ"; ПостроительЗапроса.Параметры.Вставить("НаДату", Дата); ПостроительЗапроса.ЗаполнитьНастройки(); ПостроительЗапроса.Выполнить(); Результат = ПостроительЗапроса.Результат; Область = Макет.ПолучитьОбласть("Шапка"); Область.Параметры.Дата = Дата; ТабДок.Вывести(Область); ИтогиОбщие = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); //Получим и заполним общий итог ИтогиОбщие.Следующий(); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ЗаполнитьЗначенияСвойств(ОбластьПодвал.Параметры, ИтогиОбщие); ВыборкаВрачи = ИтогиОбщие.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаВрачи.Следующий() Цикл Область = Макет.ПолучитьОбласть("СтрокаВрач"); ЗаполнитьЗначенияСвойств(Область.Параметры, ВыборкаВрачи); ТабДок.Вывести(Область, ВыборкаВрачи.Уровень()); ТабДок.Вывести(Макет.ПолучитьОбласть("ШапкаТЧ"), ВыборкаВрачи.Уровень()); ОбластьПодвалТЧ = Макет.ПолучитьОбласть("ПодвалТЧ"); ЗаполнитьЗначенияСвойств(ОбластьПодвалТЧ.Параметры, ВыборкаВрачи); ВыборкаДокумент = ВыборкаВрачи.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаДокумент.Следующий() Цикл Область = Макет.ПолучитьОбласть("СтрокаТЧПациент"); ЗаполнитьЗначенияСвойств(Область.Параметры, ВыборкаДокумент); ТабДок.Вывести(Область, ВыборкаДокумент.Уровень()); ВыборкаУслуги = ВыборкаДокумент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаУслуги.Следующий() Цикл Область = Макет.ПолучитьОбласть("СтрокаТЧУслуга"); ЗаполнитьЗначенияСвойств(Область.Параметры, ВыборкаУслуги); ТабДок.Вывести(Область, ВыборкаУслуги.Уровень()); КонецЦикла; КонецЦикла; ТабДок.Вывести(ОбластьПодвалТЧ, ВыборкаВрачи.Уровень()); КонецЦикла; ТабДок.Вывести(ОбластьПодвал); ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.ПоказатьУровеньГруппировокСтрок(1); КонецПроцедуры
Похожие темы
-
1С 7.7 Запрос перестал выбирать данные за период. Проблема ТОЛЬКО в одном месяце.
от b_52f в разделе Прикладное программированиеОтветов: 2Последнее сообщение: 20.05.2016, 07:40
Социальные закладки