|
СКД на форме | ☑ | ||
---|---|---|---|---|
0
antiteror91
23.04.13
✎
07:16
|
Я сделал отчет с помощью СКД он работал без проблем. Я решил создать форму где будут его параметры. форму создал. Подскажите как вывести отчет с СКД на форму?????
|
|||
1
Wobland
23.04.13
✎
07:20
|
этот клинический случай прекрасно описан хрусталёвой
|
|||
2
mkanaev
23.04.13
✎
07:30
|
antiteror91, в данном случае тебе придётся самому описывать вывод, соответственно получать настройку схемы компановки данных и в ней устанавливать параметры, вот тебе пример:
ТабДок.Очистить(); Схема = ПолучитьМакет("Макет"); Настройка = КомпоновщикНастроек.Настройки; Для каждого Параметр из Настройка.ПараметрыДанных.Элементы цикл Если Строка(Параметр.Параметр) = "НачалоПериода" тогда Параметр.Значение = НачалоДня(НачалоПериода); Параметр.Использование=Истина; КонецЕсли; Если Строка(Параметр.Параметр) = "КонецПериода" тогда Параметр.Значение = НачалоДня(КонецПериода); Параметр.Использование=Истина; КонецЕсли; Если Строка(Параметр.Параметр) = "Организация" тогда Параметр.Значение = Организация; Параметр.Использование=Истина; КонецЕсли; Если Строка(Параметр.Параметр) = "СписокСтатей" тогда СписокСтатей = Новый СписокЗначений; СписокСтатей.ЗагрузитьЗначения(ТаблицаРазварачиваемыхСтатей.ВыгрузитьКолонку("СтатьяДДС")); Параметр.Значение = СписокСтатей; Параметр.Использование=Истина; КонецЕсли; КонецЦикла; ДР = новый ДанныеРасшифровкиКомпоновкиДанных; КомпановщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпановкиДанных = КомпановщикМакета.Выполнить(Схема, Настройка, ДР); //добавить элемент типа данные расшифровки 3 параметр ПолеОпределенияДетализацииСтатьи = ""; ПолеОпределенияДетализацииКонтрагента = ""; МакетСтатьи = МакетКомпановкиДанных.Макеты.Найти("Макет4"); Если МакетСтатьи <> Неопределено тогда Для каждого параметр из МакетСтатьи.Параметры цикл Попытка Если параметр.Выражение = "Представление(Максимум(НаборДанных1.ПризнакРаскрытияСтатьи))" тогда ПолеОпределенияДетализацииСтатьи = Параметр.Имя; Прервать; КонецЕсли; Исключение КонецПопытки; КонецЦикла; КонецЕсли; МакетСтатьи = МакетКомпановкиДанных.Макеты.Найти("Макет5"); Если МакетСтатьи <> Неопределено тогда Для каждого параметр из МакетСтатьи.Параметры цикл Попытка Если параметр.Выражение = "Представление(Максимум(НаборДанных1.ПризнакРаскрытияКонтрагента))" тогда ПолеОпределенияДетализацииКонтрагента = Параметр.Имя; Прервать; КонецЕсли; Исключение КонецПопытки; КонецЦикла; КонецЕсли; Если ПолеОпределенияДетализацииКонтрагента = "" или ПолеОпределенияДетализацииСтатьи = "" тогда Сообщить("Не удалось сформировать отчет!"); Возврат; КонецЕсли; ПроцессорКомпановкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпановкиДанных.Инициализировать(МакетКомпановкиДанных,,ДР);//добавить элемент типа данные расшифровки 3 параметр ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомпановкиДанных); |
|||
3
mkanaev
23.04.13
✎
07:32
|
я там лишка кода кинул, смотри на получение макета компановки, процессор компановки данных, процессор вывода, и настройку СКД
|
|||
4
cw014
23.04.13
✎
07:50
|
(2)(3) А вот это не обязательно, ибо у отчета есть типовые команды "Сформировать", "Настройки" и т.д.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |