Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

СКД и вывод элементов группировки на отдельной страницу

СКД и вывод элементов группировки на отдельной страницу
Я
   ildary
 
11.09.18 - 15:47
Уважаемые специалисты, подскажите пожалуйста, как сделать такое:

В отчете на СКД две группировки: Склад и Заказ. Можно ли сделать так, чтобы у группировки Склад каждая строка выводилась на отдельном листе, примерно так:

Склад1
   Заказ1
   Заказ2
   Заказ3
--------------- Новая страница
Склад2
   Заказ4
   Заказ5
--------------- Новая страница
Склад3
   Заказ6
   Заказ7

в интернете есть решение, выводящее две разных группировки на отдельных страницах, но это не то что мне нужно сейчас. Также упоминается метод, в котором можно создать свой макет группировки и в самом макете вставить разделитель строк, но пишут что есть зафиксированная ошибка 1С (этот разделитель вставляется, но не работает.
 
 
   dmt
 
1 - 11.09.18 - 16:34
(0) "в интернете есть решение, выводящее две разных группировки на отдельных страницах,"
кинь ссылку
   aleks_default
 
2 - 11.09.18 - 16:35
(0)ИМХО постобработкой только
   dmt
 
3 - 11.09.18 - 16:39
При компоновке данных можно вставлять разрыв. Наверное.
   ildary
 
4 - 12.09.18 - 06:21
(1) извиняюсь за задержку, был занят, вот описание метода (работает, проверял): http://catalog.mista.ru/public/96583

(3) нельзя ли пример? В методе выше что-то похожее делается, но я не сообразил как это переделать для случая внутри группировки.
   dmt
 
5 - 12.09.18 - 09:05
(4) интересная ссылка

как вариант:

    ИмяИскомогоПоля = "Склад";
    этоВыводПервойГруппировки = Истина;
    
    ПроцессорВывода.НачатьВывод();
    ЭлементРезультат = ПроцессорКомпоновки.Следующий();
    Пока ЭлементРезультат <> Неопределено Цикл
        
        надоВставитьРазрывСтраницы = Ложь;
        
        Для каждого ЗначениеПараметра из ЭлементРезультат.ЗначенияПараметров Цикл
            Если ТипЗнч(ЗначениеПараметра.Значение) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
                ЗначенияПолейРасшифровкиКД = ДанныеРасшифровки.Элементы.Получить(ЗначениеПараметра.Значение).ПолучитьПоля();
                
                ИскомоеЗначениеПоляРКД = ЗначенияПолейРасшифровкиКД.Найти(ИмяИскомогоПоля);
                Если ИскомоеЗначениеПоляРКД <> Неопределено Тогда
                    надоВставитьРазрывСтраницы = Истина И НЕ этоВыводПервойГруппировки;
                    этоВыводПервойГруппировки = Ложь;
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
        
        Если надоВставитьРазрывСтраницы Тогда
            ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        
        
        ПроцессорВывода.ВывестиЭлемент(ЭлементРезультат);
        
        ЭлементРезультат = ПроцессорКомпоновки.Следующий();
    КонецЦикла;
    ПроцессорВывода.ЗакончитьВывод();
   dmt
 
6 - 12.09.18 - 09:09
по методике в (4) тоже должно получиться, если в структуре у Склада сделать подчиненные группировки Заказ и <Детальные записи>, как описано в статье

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует