|
Подскажите как состыковать отчет на скд по нескольким базам, | ☑ | ||
---|---|---|---|---|
0
Ivan_495
21.02.14
✎
11:29
|
Подскажите как состыковать отчет на скд по нескольким базам, подключаюсь к базам по OLE
|
|||
1
PR
21.02.14
✎
11:29
|
СКД.Состыковать(<МассивИБ>)
|
|||
2
Cube
21.02.14
✎
11:31
|
(0) Я собираю данные из разных баз в ТЗ, а ТЗ потом уже скармливаю в СКД.
|
|||
3
mistеr
21.02.14
✎
11:36
|
Фабрика отчетов?
|
|||
4
Ivan_495
21.02.14
✎
11:43
|
(1) нет такого метода
|
|||
5
dk
21.02.14
✎
11:45
|
закинуть результаты оле запросов во временную
--- или ты интерактивные фильтры хочешь в запросах по OLE?? |
|||
6
PR
21.02.14
✎
11:46
|
(4) Это была минутка хумора :))
Что ты подразумеваешь под состыковать? Как вообще в принципе мы можем объянять складывание данных из разных баз кроме как на уровне примитивных типов? |
|||
7
PR
21.02.14
✎
11:46
|
объянять = обсуждать
|
|||
8
Ivan_495
21.02.14
✎
11:49
|
(2) используешь в скд внешний источник данных?
|
|||
9
Cube
21.02.14
✎
11:59
|
(8) Да
|
|||
10
Ivan_495
21.02.14
✎
12:03
|
(9) метод СКД не подскажешь, которым загружаешь?
|
|||
11
Cube
21.02.14
✎
12:07
|
(10) Можно ПриКомпоновкеРезультата сразу, а можно свою кнопку "Сформировать" нарисовать. Зависит от задачи.
А код простенький (из Хрусталевой, по-моему ещё): ДокументРезультат = ЭлементыФормы.Результат; ДокументРезультат.Очистить(); ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТаблицаДвижений", ИнициализацияТаблицыДвижений()); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Настройки = КомпоновщикНастроек.ПолучитьНастройки(); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); |
|||
12
Ivan_495
21.02.14
✎
12:10
|
(11) благодарю
|
|||
13
Ivan_495
21.02.14
✎
12:11
|
(7) много текста :)
|
|||
14
ИС-2
naïve
21.02.14
✎
12:15
|
говорят, что в 8.3 можно использовать в запросе внешний источник данных, соединять с реальными таблицами и т.д
|
|||
15
Ivan_495
21.02.14
✎
12:21
|
(11) а запрос в скд остается?
|
|||
16
Cube
21.02.14
✎
12:26
|
(15) Конечно же нет. В СКД делается внешний источник данных (таблица) и у него поля должны быть такие же, как у ТЗ, что ты будешь туды сувать.
ТЗ полностью собирается в коде. |
|||
17
Ivan_495
21.02.14
✎
13:11
|
в сформировать() пишу
Запрос.... Запрос.УстановитьПараметр("КонецПериода", КонецПериода); Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода); Запрос.УстановитьПараметр("Периодичность", Периодичность); Запрос.УстановитьПараметр("ТолькоПродажи", ТолькоПродажи); Результат = Запрос.Выполнить().Выгрузить(); ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТаблицаДвижений", ИнициализацияТаблицыДвижений()); Настройки = КомпоновщикНастроек.Настройки; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных, ДанныеРасшифровки); ЭлементыФормы.Результат.Очистить(); ДокументРезультат = ЭлементыФормы.Результат; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); ругается Ошибка исполнения отчета по причине: Ошибка инициализации по причине: Ошибка создания набора данных "НаборДанных1" по причине: Не найден внешний набор данных "ТаблицаДвижений" |
|||
18
Ivan_495
21.02.14
✎
13:13
|
вернее вот так
Результат = Запрос.Выполнить().Выгрузить(); ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТаблицаДвижений",Результат); Настройки = КомпоновщикНастроек.Настройки; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных, ДанныеРасшифровки); ЭлементыФормы.Результат.Очистить(); ДокументРезультат = ЭлементыФормы.Результат; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); ругается Ошибка исполнения отчета по причине: Ошибка инициализации по причине: Ошибка создания набора данных "НаборДанных1" по причине: Не найден внешний набор данных "ТаблицаДвижений" |
|||
19
Ivan_495
21.02.14
✎
13:19
|
(16) если в скд создан "НаборДанных1" и у него объект содержащий данные "таблицадвижений", то я должен не создавать объект
ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТаблицаДвижений",Результат); а как то получить объект "таблицадвижений" из скд и в него загрузить данные |
|||
20
hhhh
21.02.14
✎
13:19
|
(18) вот так надо
Результат = Запрос.Выполнить(); |
|||
21
Ivan_495
21.02.14
✎
13:20
|
(20) не помогло
|
|||
22
wade25
21.02.14
✎
13:26
|
Ты ТЗ как структуру передаешь?)
|
|||
23
Ivan_495
21.02.14
✎
13:28
|
ТЗ обычна таблица значений
отчет при открытии отрабатывает нормально, когда повторно нажимаю сформировать ругается Ошибка исполнения отчета по причине: Ошибка инициализации по причине: Ошибка создания набора данных "НаборДанных1" по причине: Не найден внешний набор данных "ТаблицаДвижений |
|||
24
Ivan_495
21.02.14
✎
13:30
|
может при компановке результата все это прописать?
|
|||
25
hhhh
21.02.14
✎
13:37
|
(23) в БП 2.0 посмотри как сделано с внешними источниками. Поиск функции ПолучитьВыборку() запусти по конфигурации, и там можно посмотреть
|
|||
26
Ivan_495
21.02.14
✎
13:53
|
(25) да здесь сформиовать отчет лежит в модуле объекта, может поэтому
|
|||
27
Ivan_495
21.02.14
✎
14:43
|
сделал сформировать в модуле объекта, не помогло, первый раз запускается нормально второй раз ошибка
|
|||
28
Cube
25.02.14
✎
05:03
|
(27) Замени это
Результат = Запрос.Выполнить().Выгрузить(); ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТаблицаДвижений",Результат); на это МояТЗ = Запрос.Выполнить().Выгрузить(); ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТаблицаДвижений",МояТЗ); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |