![]() |
|
Помогите подправить простенький отчет с колонками | ☑ | ||
---|---|---|---|---|
0
ytex
01.11.16
✎
13:52
|
Добрый день.
Есть простенький отчет: &НаКлиенте Процедура Сформировать(Команда) СформироватьНаСервере(); КонецПроцедуры &НаСервере Процедура СформироватьНаСервере() ТабДок = ЭтотОбъект.ТабДок; ТабДок.Очистить(); Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет"); ОбластьШапки = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(ОбластьШапки); ОбластьСтроки = Макет.ПолучитьОбласть("Строка"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СчетНаОплатуПокупателю.Ссылка, | СчетНаОплатуПокупателю.СтатусОплаты |ИЗ | Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю |ГДЕ | СчетНаОплатуПокупателю.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания | И СчетНаОплатуПокупателю.СтатусОплаты <> ЗНАЧЕНИЕ(Перечисление.СтатусОплатыСчетаПокупателю.ПустаяСсылка)"; Запрос.УстановитьПараметр("ДатаНачала", ЭтотОбъект.ПериодОтчета.ДатаНачала); Запрос.УстановитьПараметр("ДатаОкончания", ЭтотОбъект.ПериодОтчета.ДатаОкончания); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл СтатусОплаты = ВыборкаДетальныеЗаписи.СтатусОплаты; Если СтатусОплаты = Перечисления.СтатусОплатыСчетаПокупателю.Оплачен Тогда ОбластьСтроки.Параметры.СсылкаОпл = ВыборкаДетальныеЗаписи.Ссылка; ИначеЕсли СтатусОплаты = Перечисления.СтатусОплатыСчетаПокупателю.ОплаченЧастично Тогда ОбластьСтроки.Параметры.СсылкаЧастОпл = ВыборкаДетальныеЗаписи.Ссылка; ИначеЕсли СтатусОплаты = Перечисления.СтатусОплатыСчетаПокупателю.НеОплачен Тогда ОбластьСтроки.Параметры.СсылкаНеОпл = ВыборкаДетальныеЗаписи.Ссылка; ИначеЕсли СтатусОплаты = Перечисления.СтатусОплатыСчетаПокупателю.Отменен Тогда ОбластьСтроки.Параметры.СсылкаОтм = ВыборкаДетальныеЗаписи.Ссылка; КонецЕсли; ТабДок.Вывести(ОбластьСтроки); КонецЦикла; КонецПроцедуры скрин отчета: http://s8.hostingkartinok.com/uploads/images/2016/11/ba25ca92397bb7af725e2d2bc0ccc23c.png Подскажите пожалуйста, как решить проблему с задвоением результата и с пустыми строчками в областях колонок? |
|||
1
Wirtuozzz
01.11.16
✎
13:56
|
Самый простой способ - сделать отчет на СКД.
|
|||
2
ytex
01.11.16
✎
14:06
|
(1) СКД пока не вариант. Хотелось бы поправить данный отчет.
|
|||
3
DrShad
01.11.16
✎
14:18
|
а если область строки получать из макета в цикле по выборке?
|
|||
4
catena
01.11.16
✎
14:30
|
Очистка незаполненяемых реквизитов избавит от повторений. Но вообще бред.
|
|||
5
youalex
01.11.16
✎
14:33
|
Как вариант - в запросе ИТОГИ ПО СтатусОплаты
При обходе группировки СтатусОплаты - создаешь новый табдок, заполняешь его строками, пришпандориваешь к результирующему табдоку (через ВставитьОбласть()) Или делаешь ТЗ. При обходе группировки СтатусОплаты - создаешь колонку, которая будет идентифицировать этот статус, далее заполняешь (новый статус - соответственно с 0-й строки) Потом ТЗ выливаешь в Табдок |
|||
6
ytex
02.11.16
✎
13:05
|
(5) спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |