1.
иванов2020
2
25.07.14 17:19
Сейчас в теме
Помогите с итогами.есть запрос выбирает отделение и услуги по фамилии.
Нужно сделать итоги как на безымянный3
Если ВидГраждан = Перечисления.РЦ_ВидГраждан.дляГражданРБ Тогда
Валюта=Константы.РЦ_НациональнаяВалюта.Получить();
ТД = Новый ТабличныйДокумент;
Макет = Отчеты.УслгиВОтделениях.ПолучитьМакет("УслугиОказанныеВОтделениях");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ТД.Вывести(ОбластьШапка);
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьЗаголовок.Параметры.Валюта = Валюта;
ОбластьЗаголовок.Параметры.ДатаС = "Период с:" + Формат (ЭтаФорма.ДатаС,"ДЛФ=DD");
ОбластьЗаголовок.Параметры.ДатаПо = " по:" + Формат (ЭтаФорма.ДатаПо,"ДЛФ=DD");
ТД.Вывести(ОбластьЗаголовок);
ОбластьГруппа = Макет.ПолучитьОбласть("Группа");
ОбластьГруппа1 = Макет.ПолучитьОбласть("Группа1");
ОбластьГруппа2 = Макет.ПолучитьОбласть("Группа2");
ОбластьИтого = Макет.ПолучитьОбласть("Итого");
ОбластьВсего = Макет.ПолучитьОбласть("Всего");
//Заполнение табличной части
ЗапросТаблица = Новый Запрос ();
ЗапросТаблица.Текст =
"ВЫБРАТЬ
| РЦ_ОказанныеУслугиОбороты.Договор.Номер КАК Номер,
| РЦ_ОказанныеУслугиОбороты.Пациент.Наименование КАК ФИО,
| РЦ_ОказанныеУслугиОбороты.Услуга КАК Услуга,
| ЕСТЬNULL(РЦ_ОказанныеУслугиОбороты.СуммаОборот, 0) КАК Сумма,
| РЦ_Отделения.Наименование КАК Наименование
|ИЗ
| РегистрНакопления.РЦ_ОказанныеУслуги.Обороты(&ДатаС, &ДатаПо, , ВидГраждан = &ВидГраждан) КАК РЦ_ОказанныеУслугиОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РЦ_Отделения КАК РЦ_Отделения
| ПО РЦ_ОказанныеУслугиОбороты.Отделение = РЦ_Отделения.Ссылка
|ГДЕ
| ВЫБОР
| КОГДА &ОтделенияЗаполнены
| ТОГДА РЦ_Отделения.Ссылка В ИЕРАРХИИ (&Отделения)
| ИНАЧЕ ИСТИНА
| КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
| Наименование,
| ФИО";
ЗапросТаблица.УстановитьПараметр("Отделения",Отделения);
ЗапросТаблица.УстановитьПараметр("ДатаС", НачалоДня(ДатаС));
ЗапросТаблица.УстановитьПараметр("ДатаПо",КонецДня(ДатаПо));
ЗапросТаблица.УстановитьПараметр("ОтделенияЗаполнены", ЗначениеЗаполнено(Отделения));
Если ВидГраждан=Перечисления.РЦ_ВидГраждан.дляГражданРБ тогда
ЗапросТаблица.УстановитьПараметр("ВидГраждан",Перечисления.РЦ_ВидГраждан.дляГражданРБ);
КонецЕсли;
РезультатТаблица = ЗапросТаблица.Выполнить().Выгрузить();
РезультатТаблицаОтделение = Неопределено;
РезультатТаблицаФИО = Неопределено;
РезультатТаблицаИтог = Неопределено;
СуммаПоПациенту=0;
Для каждого СтрокаТаблица Из РезультатТаблица Цикл
Если РезультатТаблицаОтделение <> СтрокаТаблица.Наименование Тогда
ОбластьГруппа.Параметры.Наименование = СтрокаТаблица.Наименование;
ТД.Вывести(ОбластьГруппа);
РезультатТаблицаОтделение = СтрокаТаблица.Наименование;
КонецЕсли;
Если РезультатТаблицаФИО <> СтрокаТаблица.ФИО Тогда
ОбластьГруппа1.Параметры.ФИО = СтрокаТаблица.ФИО;
ТД.Вывести(ОбластьГруппа1);
РезультатТаблицаФИО = СтрокаТаблица.ФИО;
КонецЕсли;
ОбластьГруппа2.Параметры.Номер = СтрокаТаблица.Номер;
ОбластьГруппа2.Параметры.Услуга = СтрокаТаблица.Услуга;
ОбластьГруппа2.Параметры.Сумма = СтрокаТаблица.Сумма;
ТД.Вывести(ОбластьГруппа2);
КонецЦикла;
ТД.ОтображатьСетку = Ложь ;
ТД.Показать();
КонецЕсли;
Прикрепленные файлы: