0
andmerc
20.05.19
✎
15:12
|
Добрый день, есть готовая обработка формирования печатных форм направлений. Печает каждое направление(каждую номенклатурную позицию) с отдельной шапкой, т.е. отдельным самостоятельным документом. Нужно переделать так чтобы строки по одному человеку выводились под общей шапкой. Пример:
У нас есть вот такая процедура, я понимаю что цикл проходит по каждому значению, но как переделать не понимаю.
Процедура СформироватьСервер()
ЭтотОбъект.Результат.Очистить();
Макет_ = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет");
ОбластьЗаголовок_ = Макет_.ПолучитьОбласть("Заголовок");
ОбластьШапка_ = Макет_.ПолучитьОбласть("Шапка");
ОбластьШапкаТаблицы_ = Макет_.ПолучитьОбласть("ШапкаТаблицы");
ОбластьСтрока = Макет_.ПолучитьОбласть("Строка");
УслугиОтделения_ = ПолучитьУслугиДокумента();
Для Каждого Услуга_ Из УслугиОтделения_ Цикл
ОбластьЗаголовок_.Параметры.Подразделение = Услуга_.Подразделение;
ЭтотОбъект.Результат.Вывести(ОбластьЗаголовок_);
ДанныеПациента_ = Регистратура.ПолучитьДанныеПациента(Услуга_.Пациент, ТекущаяДатаСеанса());
ОбластьШапка_.Параметры.Заполнить(ДанныеПациента_.ФИО);
ОбластьШапка_.Параметры.Заполнить(Услуга_);
ОбластьШапка_.Параметры.ЛечащийВрач = ПолучитьНазначившегоВрача(Услуга_.Документ);
ОбластьШапка_.Параметры.МедицинскаяКарта = Услуга_.Документ.МедицинскаяКарта.НомерКартыПредставление;
ТабличныйДокумент_ = Новый ТабличныйДокумент;
ТабличныйДокумент_.Вывести(ОбластьШапка_);
ОбластьСтрока.Параметры.Заполнить(Услуга_);
ТабличныйДокумент_.Вывести(ОбластьСтрока);
Если Не ЭтотОбъект.Результат.ПроверитьВывод(ТабличныйДокумент_) тогда
ЭтотОбъект.Результат.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ЭтотОбъект.Результат.Вывести(ТабличныйДокумент_);
КонецЦикла;
КонецПроцедуры
|
|
1
Eg0rkas
20.05.19
✎
15:36
|
как вариант, завести переменную, в которую заносим значение ФИО, потом делаем условие, если ДанныеПациента_.ФИО = нашапеременнаясФИО, тогда не создаем новый табличный документ, а просто заполняем новыми параметрами
|
|