|
отчет скд. сформировать программно и выставить структуру | ☑ | ||
|---|---|---|---|---|
|
0
lamme
17.05.22
✎
11:08
|
Есть отчет на скд.
Я его програмно формирую. Результат сохраняю в ексель. Но! если открыть отчет штатно - то там есть группировка по номенклатуре а при программном построении отчета - этой группировки нет. По коду опять таки везде стоит - что поля Номенклатура и все что на уровне номенклатуры идет - выводить https://skr.sh/sDzfK2f0XhL те не выводится вот этот уровень структуры отчета https://skr.sh/sDzq9CAKH7q Подскажите - что проглядел и как поправить? Код формирования отчета : Результат = новый ТабличныйДокумент(); МакетКомпоновки = Отчеты.ЗаказыНаПроизводство.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); НастройкиОСКД = МакетКомпоновки.НастройкиПоУмолчанию; ПериодОтчета = НастройкиОСКД.ПараметрыДанных.Элементы.Найти("СтПериод"); ПериодОтчета.Значение.ДатаНачала = Началомесяца(ДобавитьМесяц(ТекущаяДата(),-2)); ПериодОтчета.Значение.ДатаОкончания = Началомесяца(ДобавитьМесяц(ТекущаяДата(), 2)); ПериодОтчета.Использование = истина; ВидЦен = НастройкиОСКД.ПараметрыДанных.Элементы.Найти("ВидЦен"); ВидЦен .Использование = истина; ВидЦен.значение = справочники.ВидыЦен.НайтиПоКоду("00004"); НовЭлемент = НастройкиОСКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовЭлемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Изготовитель"); НовЭлемент.Использование = истина; НовЭлемент.правоезначение = Справочники.СтруктурныеЕдиницы.НайтиПоКоду( "3"); НовЭлемент = НастройкиОСКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовЭлемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("КоличествоКонечныйОстаток"); НовЭлемент.Использование = ложь; КомпоновщикМакетаОСКД = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакетаОСКД.Выполнить(МакетКомпоновки, НастройкиОСКД); ПроцессорКомпоновкиОСКД = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиОСКД.Инициализировать(Макет,,,Истина); ПроцессорВыводаОСКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; Результат.Очистить(); ПроцессорВыводаОСКД.УстановитьДокумент(Результат); ПроцессорВыводаОСКД.Вывести(ПроцессорКомпоновкиОСКД); ИмяФайла_ = Формат(ТекущаяДата(),"ДФ='yyyy-MM-dd HH-mm-ss'"); Результат.Записать("D:\tmp\"+ИмяФайла_+".xls",ТипФайлаТабличногоДокумента.XLS); |
| Форум | Правила | Описание | Секции | Поиск |