Имя: Пароль:
1C
1С v8
Разрыв страницы в СКД
0 Andrey2C
 
01.02.16
15:40
Здравствуйте! Нашел на сайте http://catalog.mista.ru/ идею как реализовать разрыв страниц по группировкам. Ссылка на статью: http://catalog.mista.ru/public/96583/#comm
Но у меня разрыв страницы печатает не в конце записей группировки а в начале т.е. сразу под шапкой делает разрыв. Не могу разобраться в чем дело. Все перепробовал уже :(
Здесь я сначала выбираю запросом и обрабатываю нужные мне данные и передаю в СКД:
Вот код:
            НаборДанных = Новый Структура;
            НаборДанных.Вставить("ТЗРезультат", ТЗРезультат);
            СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");    
            НастройкиКомпоновщика = ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки();
            
            КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
            МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,НастройкиКомпоновщика,ДанныеРасшифровки);
            
            ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
            ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, НаборДанных,ДанныеРасшифровки);
            ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
            ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.ТаблДокумент);
            ПроцессорВывода.НачатьВывод();
            ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий();
            Пока ЭлементРезультата <> Неопределено Цикл
                Если ЭлементРезультата.ЗначенияПараметров.Количество()=1 Тогда
                    Если ЭлементРезультата.ЗначенияПараметров[0].Значение = "Разорвать" Тогда
                        ЭлементыФормы.ТаблДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                        ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий();
                        Продолжить;
                    КонецЕсли;
                КонецЕсли;
                ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
                ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий();
            КонецЦикла;
            ПроцессорВывода.ЗакончитьВывод();
            //ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
            ЭлементыФормы.ТаблДокумент.ПоказатьУровеньГруппировокСтрок(1);

Настройки СКД сделал такие же как и в статье. Пытался менять методом "тыка" но результат остается всегда такой же. Если кто разбирался с этим помогите пожалуйста!
1 Andrey2C
 
01.02.16
16:12
Ап
2 Andrey2C
 
02.02.16
10:57
ап
3 Andrey2C
 
02.02.16
11:13
Разобрался. Это я идиот:) Всем спасибо.
4 Vladal
 
02.02.16
11:56
(3) Было бы неплохо поделиться решением.
5 Andrey2C
 
02.02.16
17:03
(4) Дело в том что я по ошибке группировку разрыва страницы закинул в колонки таблицы, а надо было отдельной группировкой. Простая невнимательность :( Так что в примере все хорошо и работает все отлично.