|   |   | 
| 
 | СКД на форме | ☑ | ||
|---|---|---|---|---|
| 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) А вот это не обязательно, ибо у отчета есть типовые команды "Сформировать", "Настройки" и т.д.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |