|
вывести таблицу значений в СКД | ☑ | ||
---|---|---|---|---|
0
Vvvvv
09.02.15
✎
16:24
|
Создал набор данных в СКД с типом "Объект". Задал имя объекта, т.е. таблицы значения - "ТЗ". На той же вкладке создал два поля с типом строка. Поля "Номер" и "Символ" - такие же как и в Таблице значений.
На вкладке "Настройки", выбрал детальные записи и для них выбрал 2 поля номер и символ. В модуле объекта прописал код: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Настройки = КомпоновщикНастроек.ПолучитьНастройки(); // ТЗ = новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Номер"); ТЗ.Колонки.Добавить("Символ"); НоваяСтрока = тз.Добавить(); НоваяСтрока.Номер = "тп000044"; НоваяСтрока.Символ = "ТП"; ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("тз",тз); СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; // Создаем данные расшифровки КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; // Создаем компоновщик макета МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки); ТабДок = Новый ТабличныйДокумент; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); КонецПроцедуры Ошибки не выдает, и ничего не выдает. |
|||
1
Vvvvv
09.02.15
✎
16:39
|
Открывал книгу Хрусталевой по СКД, там ничего не нашел.
|
|||
2
Fram
09.02.15
✎
16:48
|
А что он должен выдать если у тебя ТабДок живет только внутри процедуры
|
|||
3
barrgand
09.02.15
✎
16:50
|
(0) ТабДок.Показать()?
|
|||
4
Vvvvv
09.02.15
✎
17:02
|
(1) это не то. В таком случаи он выводит в табличном документе и то только шапка выводится. А мне нужно что бы выводился как в СКД.
|
|||
5
Vvvvv
09.02.15
✎
17:08
|
Написал немного по другому
СтандартнаяОбработка = Ложь; ТЗ = новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Номер"); ТЗ.Колонки.Добавить("Символ"); НоваяСтрока = тз.Добавить(); НоваяСтрока.Номер = "тп000044"; НоваяСтрока.Символ = "ТП"; СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ВнешнийНаборДанных = Новый Структура("Свойства", тз); ВнешнийНаборДанных.Вставить("тз",тз); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровки); ДокументРезультат.Очистить(); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Теперь вот что выходит: http://www.image123.net/qkjxdac8976kpic.html |
|||
6
Vvvvv
09.02.15
✎
17:15
|
Разобрался. Невнимательность моя была.
Вдруг кому пригодится, хочу сказать, что последний код (5) правильный. У меня в настройках стояли галочки на отбор. |
|||
7
Fram
09.02.15
✎
17:17
|
Настройку покажи
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |