|
Стыковка внешнего источника данных с данными 1С | ☑ | ||
---|---|---|---|---|
0
AlterMann
08.02.17
✎
16:51
|
Всем привет.
Подскажите, существует ли более цивилизованный способ стыковки данных, полученных запросом из внешнего источника (в моем случае идет обращение к базе Oracle), чем выгрузка результата запроса в таблицу значений, а потом добавление ее в качестве параметра в запрос в виде временной таблицы и последующего соединения с другими таблицами базы 1С? 1С 8.3.7. |
|||
1
MatveyIgor
08.02.17
✎
16:57
|
||||
2
AlterMann
08.02.17
✎
17:09
|
(1) Прошу прощения, что не указал сразу. У меня клиент-серверная 1с на линукс, так что COM объекты мне не доступны :-(
|
|||
3
H A D G E H O G s
08.02.17
✎
17:12
|
Просто допустите такую возможность, что база 1С лежит на одном сервере, а внешняя база - на другом и такие вопросы пропадут.
|
|||
4
MaxS
08.02.17
✎
17:13
|
Сохранить в XML, прочитать из XML.
|
|||
5
AlterMann
09.02.17
✎
11:22
|
Вроде как 1С 8.3 позволяет делать следующее.
Реализована возможность работы с временными таблицами для внешних источников данных. Временная таблица создается непосредственно в базе данных внешнего источника данных. Для обращения к временной таблице используется синтаксис ВнешнийИсточникДанных.<Имя внешнего источника данных>.ВременнаяТаблица.<Имя временной таблицы>. И в таком виде конструктор запроса при помещении результата во временную таблицу предупреждение "Получение данных из нескольких источников данных недопустимо" не выдает. Но из второго запроса у меня не получается обратиться к этой временной таблице. Ошибка выполнения запроса "Таблица не найдена". Я пробовал обращаться и по полному имени и просто по имени временной таблицы. 1. ВнешнийИсточникДанных<Имя внешнего источника данных>ВременнаяТаблица<Имя временной таблицы> 2.<Имя временной таблицы>. |
|||
6
AlterMann
09.02.17
✎
11:22
|
(4) Чем это лучше, чем выгрузка в ТЗ?
|
|||
7
KAO111
09.02.17
✎
11:34
|
В СКД можно использовать 2 набора из разных источников
|
|||
8
gorakh
09.02.17
✎
11:35
|
(0) У меня получилось состыковать через ВнешнийИсточникДанных внешюю базу MS SQL (системы контроля доступа сотрудников). Пробывал на 8.3.6 - "не взлет". 8.3.9 -плохо работали встроенные отборы в форме списков. 8.3.8.2322-Все заработало. На ней и остановился.
|
|||
9
shuhard
09.02.17
✎
11:36
|
(5) а в (1) что по твоему описано ?
|
|||
10
AlterMann
09.02.17
✎
11:52
|
(9) А что в (1) написано? Подключившись через COM объекты данные выгружены в ТЗ, а потом добавлены в запрос через ВТ как параметр. Я так и делаю с внешним источником. Выгружаю результат запроса в ТЗ, а потом во второй запрос как ВТ. Я как раз хочу уйти от выгрузки в ТЗ больших объемов данных.
|
|||
11
AlterMann
09.02.17
✎
11:53
|
(7) Мне нужно именно в одном наборе получить возможность использовать данные из внешнего источника, чтобы соединив по кодам с объектами 1С получить ссылочные данные.
|
|||
12
AlterMann
09.02.17
✎
11:55
|
(8) Получилось состыковать с помощью временной таблицы?
|
|||
13
gorakh
09.02.17
✎
12:29
|
(12) Нет. Сначала получал данные из внешнего источника данных в таблицу значений. Потом уж строил запрос к 1с.
|
|||
14
AlterMann
09.02.17
✎
12:53
|
(13) Жаль, я надеялся, что есть способ делать это без выгрузки в таблицу значений. Не понимаю, зачем вообще в таком случае реализована возможность работы с ВТ для внешних источников (5)? Поместить можно, а использовать нельзя (
|
|||
15
KAO111
09.02.17
✎
12:54
|
(11) в СКД это работает
1-й набор, запрос в 1С, возможно ограничивающий набор данных какими то условиями 2-й набор, запрос к внешнему источнику. Если просто связать 2 набора - можно будет в полях вывести как данные внешнего источника, так и 1С ссылки. Но для оптимизации можно в связи наборов указать параметр (поле из первого набора). Профайлером видно, что накладывается отбор на итоговый запрос во внешнем источнике. |
|||
16
KAO111
09.02.17
✎
12:55
|
(14) ВТ внешних источников работают в одном наборе, там может быть пакет запросов.
|
|||
17
MaxS
09.02.17
✎
13:11
|
(6) ТЗ это плоская таблица.
В XML можно поместить всё, что угодно, например документ целиком в виде дерева со связанными справочниками и реквизитами. Но если нужен моментальный онлайн доступ к сторонним данным, то xml дольше. |
|||
18
gorakh
09.02.17
✎
15:21
|
(8) Попробывал на платформе 8.3.10.1877 выполнить поиск по таблице внешненго источника данных в управляемой форме списка выполнить поиск. Выдало ошибку "Ошибка аутентификации клиента средствами операционной системы: Аутентификационный контекст клиента отсутствует в рабочем процессе" На 8.3.8 такое не наблюдается.
|
|||
19
Вафель
09.02.17
✎
15:24
|
(17) а как ты это дерево потом в запрос засунешь
|
|||
20
MaxS
09.02.17
✎
17:48
|
(19) Из вопроса ТС следует. Более цивильный способ - не тягать множество плоских ТЗ из сторонней базы, а взять там всё один раз и развернуть у себя. Далее можно как угодно порезать дерево на ТЗ и делать запросы, если конечная цель именно в этом.
|
|||
21
eks1985
09.02.17
✎
18:32
|
(0) Пакетный запрос пробовал? Если в первом запросе прочитать из внешнего источника и создать вт, а во втором запросе пакета из нее прочититать
|
|||
22
AlterMann
10.02.17
✎
11:17
|
(20) не совсем. Задача в периодической подкачке данных из сторонней базы в 1с, так что такой метод не подойдет.
|
|||
23
AlterMann
10.02.17
✎
11:18
|
(21) По всякому пробовал. Пакетный запрос тоже выдает ошибку получения данных из нескольких источников.
|
|||
24
KAO111
10.02.17
✎
12:07
|
(23) зачем мучаться, в СКД все работает. Причем на SQL оптимальный запрос.
|
|||
25
AlterMann
10.02.17
✎
12:44
|
(24) Можно попросить привести пример отчета СКД?
|
|||
26
KAO111
10.02.17
✎
13:03
|
||||
27
AlterMann
10.02.17
✎
14:24
|
(26) Спасибо за помощь, пожалуй так и сделаю.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |