Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 10:20
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Нужна помощь с итогами  (Прочитано 613 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн evgen2020

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • петров3030
  • Регистрация: 2014-07-25
  • Сайт: 
Помогите с итогами.есть запрос выбирает отделение и услуги по фамилии.
Нужно сделать итоги как на безымянный3





Если ВидГраждан = Перечисления.РЦ_ВидГраждан.дляГражданРБ Тогда

Валюта=Константы.РЦ_НациональнаяВалюта.Получить();

ТД = Новый ТабличныйДокумент;
Макет = Отчеты.УслгиВОтделениях.ПолучитьМакет("УслугиОказанныеВОтделениях");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");

ТД.Вывести(ОбластьШапка);

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьЗаголовок.Параметры.Валюта = Валюта;
ОбластьЗаголовок.Параметры.ДатаС = "Период с:" + Формат (ЭтаФорма.ДатаС,"ДЛФ=DD");
ОбластьЗаголовок.Параметры.ДатаПо = " по:" + Формат (ЭтаФорма.ДатаПо,"ДЛФ=DD");
ТД.Вывести(ОбластьЗаголовок);

ОбластьГруппа = Макет.ПолучитьОбласть("Группа");
ОбластьГруппа1 = Макет.ПолучитьОбласть("Группа1");
ОбластьГруппа2 = Макет.ПолучитьОбласть("Группа2");
ОбластьИтого = Макет.ПолучитьОбласть("Итого");
ОбластьВсего = Макет.ПолучитьОбласть("Всего");

//Заполнение табличной части

ЗапросТаблица = Новый Запрос ();
ЗапросТаблица.Текст =

"ВЫБРАТЬ
|   РЦ_ОказанныеУслугиОбороты.Договор.Номер КАК Номер,
|   РЦ_ОказанныеУслугиОбороты.Пациент.Наименование КАК ФИО,
|   РЦ_ОказанныеУслугиОбороты.Услуга КАК Услуга,
|   ЕСТЬNULL(РЦ_ОказанныеУслугиОбороты.СуммаОборот, 0) КАК Сумма,
|   РЦ_Отделения.Наименование КАК Наименование
|ИЗ
|   РегистрНакопления.РЦ_ОказанныеУслуги.Обороты(&ДатаС, &ДатаПо, , ВидГраждан = &ВидГраждан) КАК РЦ_ОказанныеУслугиОбороты
|   ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РЦ_Отделения КАК РЦ_Отделения
|   ПО РЦ_ОказанныеУслугиОбороты.Отделение = РЦ_Отделения.Ссылка
|ГДЕ
|   ВЫБОР
|   КОГДА &ОтделенияЗаполнены
|   ТОГДА РЦ_Отделения.Ссылка В ИЕРАРХИИ (&Отделения)
|   ИНАЧЕ ИСТИНА
|   КОНЕЦ
|
|УПОРЯДОЧИТЬ ПО
|   Наименование,
|   ФИО";
ЗапросТаблица.УстановитьПараметр("Отделения",Отделения);
ЗапросТаблица.УстановитьПараметр("ДатаС", НачалоДня(ДатаС));
ЗапросТаблица.УстановитьПараметр("ДатаПо",КонецДня(ДатаПо));
ЗапросТаблица.УстановитьПараметр("ОтделенияЗаполнены", ЗначениеЗаполнено(Отделения));

Если ВидГраждан=Перечисления.РЦ_ВидГраждан.дляГражданРБ тогда
ЗапросТаблица.УстановитьПараметр("ВидГраждан",Перечисления.РЦ_ВидГраждан.дляГражданРБ);
КонецЕсли;

РезультатТаблица = ЗапросТаблица.Выполнить().Выгрузить();


РезультатТаблицаОтделение = Неопределено;
РезультатТаблицаФИО = Неопределено;
РезультатТаблицаИтог = Неопределено;
СуммаПоПациенту=0;

Для каждого СтрокаТаблица Из РезультатТаблица Цикл

Если РезультатТаблицаОтделение <> СтрокаТаблица.Наименование Тогда

ОбластьГруппа.Параметры.Наименование = СтрокаТаблица.Наименование;
ТД.Вывести(ОбластьГруппа);
РезультатТаблицаОтделение = СтрокаТаблица.Наименование;
КонецЕсли;
Если РезультатТаблицаФИО <> СтрокаТаблица.ФИО Тогда

ОбластьГруппа1.Параметры.ФИО = СтрокаТаблица.ФИО;
ТД.Вывести(ОбластьГруппа1);
РезультатТаблицаФИО = СтрокаТаблица.ФИО;

КонецЕсли;

ОбластьГруппа2.Параметры.Номер = СтрокаТаблица.Номер;
ОбластьГруппа2.Параметры.Услуга = СтрокаТаблица.Услуга;
ОбластьГруппа2.Параметры.Сумма = СтрокаТаблица.Сумма;
ТД.Вывести(ОбластьГруппа2);


КонецЦикла;
ТД.ОтображатьСетку = Ложь ;
ТД.Показать();

КонецЕсли;


Оффлайн evgen2020

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • петров3030
  • Регистрация: 2014-07-25
  • Сайт: 
Сделал вот так отладчиком проверил все считается но в результате ничего не выводится.кто может что-нибудь друге подсказать


Для каждого СтрокаТаблица Из РезультатТаблица Цикл

Если РезультатТаблицаОтделение <> СтрокаТаблица.Наименование Тогда

ОбластьГруппа.Параметры.Наименование = СтрокаТаблица.Наименование;
ТД.Вывести(ОбластьГруппа);
РезультатТаблицаОтделение = СтрокаТаблица.Наименование;
КонецЕсли;
Если РезультатТаблицаФИО <> СтрокаТаблица.ФИО Тогда

ОбластьГруппа1.Параметры.ФИО = СтрокаТаблица.ФИО;
ТД.Вывести(ОбластьГруппа1);
РезультатТаблицаФИО = СтрокаТаблица.ФИО;

КонецЕсли;

ОбластьГруппа2.Параметры.Номер = СтрокаТаблица.Номер;
ОбластьГруппа2.Параметры.Услуга = СтрокаТаблица.Услуга;
ОбластьГруппа2.Параметры.Сумма = СтрокаТаблица.Сумма;
СуммаПоПациенту=СуммаПоПациенту+СтрокаТаблица.Сумма;
ТД.Вывести(ОбластьГруппа2);
Если РезультатТаблицаФИО<>СтрокаТаблица.ФИО Тогда
ОбластьИтого.Параметры.Итого = СуммаПоПациенту;
ТД.Вывести(ОбластьИтого);
РезультатТаблицаФИО = СтрокаТаблица.ФИО;
СуммаПоПациенту=0;
КонецЕсли;
КонецЦикла;

может быть кто нибудь может может помоч с примером?
Добавлено: 28 Июл 2014, 18:14

тема закрыта

Последний раз редактировалось: evgen2020; 28 Июл 2014, 18:14. Причина: Объединение сообщений


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
136 Сообщений
AIFrame
66 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal