|
СКД внешний набор данных. программное создание ТабДока | ☑ | ||
---|---|---|---|---|
0
yavasya
07.09.15
✎
12:09
|
ВнешниеНаборыДанных = Новый Структура;
ВнешниеНаборыДанных.Вставить("ТЗ",ТЗ); //1.2 определяем набор данных НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных")); НаборДанных.Имя = "Продажи"; НаборДанных.ИсточникДанных = ВнешниеНаборыДанных; // НаборДанных.АвтоЗаполнениеДоступныхПолей = Истина; // //1.2.1 добавляем поля ПолеКонтрагент = НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); ПолеКонтрагент.Заголовок = "КОнтрагент"; ПолеКонтрагент.ПутьКДанным = "КОнтрагент"; ПолеКонтрагент.Поле = "КОнтрагент"; //2. создаем настройки для схемы НастройкиКомпоновкиДанных = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; //2.1 определяем структуру //2.1.1 добавляем группировку "Номенклатура" ГруппировкаКОнтрагент = НастройкиКомпоновкиДанных.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); ПолеГруппировки = ГруппировкаКОнтрагент.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ПолеГруппировки.Использование = Истина; ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных("КОнтрагент"); // //3. компонуем КомпНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); КомпНастроек.ЗагрузитьНастройки(НастройкиКомпоновкиДанных); НастройкиКомпоновкиДанных = КомпНастроек.ПолучитьНастройки(); //4. готовим макет КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновкиДанных); //5. исполняем макет ПроцессорКомпоновкиДанных= Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(Макет, ВнешниеНаборыДанных); //6. выводим результат ДокументРезультат = Новый ТабличныйДокумент; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); ДокументРезультат.ОтображатьСетку = Ложь; ДокументРезультат.ОтображатьЗаголовки = Ложь; ДокументРезультат.Показать(); |
|||
1
Брегорьян
07.09.15
✎
12:10
|
поздравлять?
|
|||
2
yavasya
07.09.15
✎
12:10
|
НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
НаборДанных.Имя = "Продажи"; НаборДанных.ИсточникДанных = ВнешниеНаборыДанных; |
|||
3
yavasya
07.09.15
✎
12:11
|
где то здесь ошибка
|
|||
4
Брегорьян
07.09.15
✎
12:12
|
(3) ну как найдёшь - сигнализируй
|
|||
5
yavasya
07.09.15
✎
12:13
|
не могу понять как к набору данных дать источник "Внешний набор"
|
|||
6
yavasya
07.09.15
✎
12:14
|
||||
7
yavasya
07.09.15
✎
12:15
|
v8: СКД: полностью программное создание отчета когда с запросом всё ок
|
|||
8
yavasya
07.09.15
✎
12:20
|
как программно создать отчет ?
|
|||
9
yavasya
07.09.15
✎
12:40
|
ПолеНабораДанных.ТипЗначения=Тип("СправочникСсылка.Контрагенты")
|
|||
10
yavasya
07.09.15
✎
12:40
|
здесь на что ругается?
|
|||
11
yavasya
07.09.15
✎
12:42
|
СхемаКомпоновкиДанных=новый СхемаКомпоновкиДанных;
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; //Помещаем в переменную данные о расшифровке данных ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить(); ИсточникДанных.Имя="ИсточникДанных"; ИсточникДанных.ТипИсточникаДанных="Local"; НаборДанныхОбъект = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных")); НаборДанныхОбъект.ИмяОбъекта="ВнешниеДанные"; НаборДанныхОбъект.Имя = "НаборДанных"; НаборДанныхОбъект.ИсточникДанных = ИсточникДанных.Имя; //Для каждого Колонка Из ТЗ.Колонки Цикл ПолеНабораДанных = НаборДанныхОбъект.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных")); ПолеНабораДанных.Поле="Контрагент"; ПолеНабораДанных.Заголовок="Контрагент"; ПолеНабораДанных.ПутьКДанным="Контрагент"; //ПолеНабораДанных.ТипЗначения=Тип("СправочникСсылка.Контрагенты"); //КонецЦикла; Группировка = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); Группировка.Использование=Истина; АвтополеГруппировки = Группировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); АвтополеГруппировки.Использование=Истина; АвтоПолеВыбора = Группировка.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); АвтоПолеВыбора.Использование=Истина; // Для каждого Колонка Из ТЗ.Колонки Цикл ПолеВыбора = Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); ПолеВыбора.Использование=Истина; ПолеВыбора.Поле = Новый ПолеКомпоновкиДанных("Контрагент"); // КонецЦикла; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ВнешниеДанные=Новый Структура("ВнешниеДанные",ТЗ); ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,ВнешниеДанные); ТабДок=Новый ТабличныйДокумент; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомпоновки); |
|||
12
yavasya
07.09.15
✎
13:16
|
||||
13
yavasya
07.09.15
✎
13:17
|
так получилось , никто не формировал программно с внешним набором данных в скд ?
|
|||
14
Nuobu
07.09.15
✎
13:22
|
ПолеНабораДанных.ТипЗначения=Тип("СправочникСсылка.Контрагенты")
Новый ОписаниеТипов("СправочникСсылка.Контрагенты") |
|||
15
yavasya
07.09.15
✎
13:40
|
можете подсказать почему группировка не включается? мне нужна иерархия
|
|||
16
yavasya
07.09.15
✎
17:35
|
поделитесь пожалуйста кодом или примером отчета
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |