Имя: Пароль:
1C
1С v8
Как внешний источник данных передать в СКД в УФ
, ,
0 NcSteel
 
30.03.15
11:58
Разработал отчет. Таблицу внешнего источника данных формирую алгоритмом.
Каким образом можно передать внешний источник данных для формирования в СКД. На форме и в модуле отчета похожих атрибутов и методов не нашел.
1 Cube
 
30.03.15
12:02
(0) СП:

ПроцессорКомпоновкиДанных.Инициализировать (DataCompositionProcessor.Initialize)
ПроцессорКомпоновкиДанных (DataCompositionProcessor)
Инициализировать (Initialize)

Синтаксис:
Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>)

Параметры:

<Макет> (обязательный)
Тип: МакетКомпоновкиДанных.
Макет, для которого будет выполняться компоновка.

<ВнешниеНаборыДанных> (необязательный)
Тип: Структура.
Ключ структуры соответствует имени внешнего набора данных. Значение структуры - внешнему набору данных.

<ДанныеРасшифровки> (необязательный)
Тип: ДанныеРасшифровкиКомпоновкиДанных.
Объект, в котором нужно заполнить данные расшифровки. Если не указан, то расшифровка заполняться не будет.

<ВозможностьИспользованияВнешнихФункций> (необязательный)
Тип: Булево.
Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.
Значение по умолчанию: Ложь

Описание:
Инициализировать объект.

Доступность:
Сервер, толстый клиент, внешнее соединение.
2 shuhard
 
30.03.15
12:03
(0) дык ВИ-Запрос-ТЗ-ВТ-СКД
3 NcSteel
 
30.03.15
12:04
(1) Каким образом можно достучаться до него?
В объекте "Отчет" есть только: ИдентификаторТипаОтчета, КомпоновщикНастроек
4 NcSteel
 
30.03.15
12:05
(2) То есть предлагаешь полностью программно формировать отчет?

Так сейчас и реализовано, но мне видится , что можно использовать мощь платформы.
5 fisher
 
30.03.15
12:06
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    МояТаблица = ПолучитьМоюТаблицу();
    
    ВнешниеНаборыДанных = Новый Структура;
    ВнешниеНаборыДанных.Вставить("МояТаблица", МояТаблица);
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных,ДанныеРасшифровки);
    ДокументРезультат.Очистить();
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);

КонецПроцедуры
6 DmitrO
 
30.03.15
12:06
и что мешает текст запроса в СКД написать из таблиц внешнего источника?
7 NcSteel
 
30.03.15
12:09
(6) Сложный алгоритм расчет.
8 NcSteel
 
30.03.15
12:09
(5) Спасибо мил человек....
9 shuhard
 
30.03.15
12:17
(4) предлагаю использовать СКД по полной программе
10 DrShad
 
30.03.15
12:18
(9) +1
11 NcSteel
 
30.03.15
13:48
(9) В чем (5) не использование СКД по полной программе?
12 DailyLookingOnA Sunse
 
30.03.15
14:07
В СКД стало можно в параметры таблицу значений передать?
Когда?
13 NcSteel
 
30.03.15
14:13
(12) Фактически с появления СКД, если не сразу.
И не в параметр, а в качестве источника данных.
14 ЧеловекДуши
 
30.03.15
14:13
(12) Да, можно. Только и понимать нужно, что этот набор статичен :)
15 DailyLookingOnA Sunse
 
30.03.15
14:20
(13),(14)
Это наборданных-объект что-ли?
16 shuhard
 
30.03.15
14:22
(11) иди кодировать
топик закрыт
17 NcSteel
 
30.03.15
14:26
(16) Понятно, слив засчитан.

Между прочем вариант из (5) позволяет реализовать отчет без рисования формы, что хорошо, когда один и тот же отчет должен работать на УФ и на обычных.
18 NcSteel
 
30.03.15
14:27
(15) Да