Версия для печати темы (https://pro1c.org.ua/index.php?s=2b36d3f2e0ef563bf9d0da41b3198e20&showtopic=67839)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Система компоновки данных _ Разрив сторінок в СКД

Автор: kolkovyj 30.05.25, 14:54

Усім привіт.
1С:Підприємство 8.3 (8.3.10.2561) УПП для України 1.3. звичайні форми
Є звіт в СКД .
В ньому є три таблиці. (СКД- Вкладка Настройки - звіт, три таблиці)
Як організувати відображення кожної таблиці на окремому новому листку( зараз таблиці виводяться одна за другою).
Пробую в постобработці зробити але щось не виходить..
Чи можна зробити це якщо знайти певну ячейку і перед нею вставити розрив ?
Але як вказати тут розміщення ячейки, висота,ліво.. Хоча дані ми знаходимо..
Підкажуть будь ласка, Може інше вирішення даної ситуації.
Приклад коду

Маркер = "РозривСторінки";
Ячейка = НайтиОбластиТабличногоДокументаПоВхождениюПодстроки(ДокументРезультат, Маркер);
Если ЗначениеЗаполнено(Ячейка)  Тогда
   ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

Автор: AnryMc 30.05.25, 15:04

В самой СКД можно вставить разрыв
например в макете

З.Ы.

После каждой таблицы вставить группировку - дать ей имя в макете для ячейки - вставить разделитель

Автор: kolkovyj 02.06.25, 9:13

Зробив за допомогою цієї інструкції
https://pro1c.org.ua/index.php?showtopic=17709

Але не працює, А саме в коді

СтандартнаяОбработка=ЛОжь;

Настройки = КомпоновщикНастроек.ПолучитьНастройки();

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

ПроцессорВывода.НачатьВывод();

ЭлементРезультата = ПроцессорКомпоновки.Следующий();
Пока ЭлементРезультата <> Неопределено Цикл
    Если ЭлементРезультата.ЗначенияПараметров.Количество()=1 Тогда
            Если ЭлементРезультата.ЗначенияПараметров[0].Значение = "Разорвать" Тогда
            ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
    КонецЕсли;
    ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
    ЭлементРезультата = ПроцессорКомпоновки.Следующий();
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();


де є

 Если ЭлементРезультата.ЗначенияПараметров.Количество()=1 Тогда


в мене завжди нуль...
Де можна подивитись, що не так, Підкажіть будь ласка.
Дякую.


Автор: sava1 02.06.25, 10:04

вот https://pro1c.org.ua/redirect.php?https://homyaks1c.blogspot.com/2014/09/blog-post_25.html

Автор: kolkovyj 02.06.25, 10:26

Все, розібрався.. Працює. Тему можна закривати. Дякую smile.gif

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua