Имя: Пароль:
1C
1С v8
Запрос к внешним источникам данных на 8.2
0 zelenprog
 
22.08.12
12:09
Есть внешний источник данных в виде XML-файла.
Можно ли из кода 1С 8.2 выполнить запрос типа "Выбрать ..." и получить набор записей из этого файла?

То есть хотелось бы работать с этим файлом не как с отдельными записями, а как с внешней базой данных запросами: обрабатывать сразу наборы записей: группировать, сортировать и т.д.

Возможно это?
1 Лоботряс
 
22.08.12
12:11
юзай 310 релиз
2 zelenprog
 
22.08.12
12:12
(1) а поточнее можно?
что конкретно посмотреть в этом релизе?
команду встроенного языка или что?
3 zelenprog
 
24.08.12
10:34
ап
4 Лоботряс
 
24.08.12
10:36
Там появляется такой класс объектов как "внешние источники данных".
5 Maxus43
 
24.08.12
10:37
(4) до 15.310 его типа не было?
6 Leksus
 
24.08.12
10:58
(5) а какой тип СУБД для xml-файла?
7 Maxus43
 
24.08.12
11:00
(6) а я спрашивал а не утверждал, внешние источники данных появились давно, а не в 310 релизе. если для xml только в 310 - пусть так
8 zelenprog
 
24.08.12
11:49
(6) а какие вообще бывают "типы СУБД" для "xml-файла"?
9 Maxus43
 
24.08.12
11:58
(8) он имеет ввиду драйвер внешнего источника, который из списка выбираеш при создании
10 quest
 
24.08.12
12:12
(0) так если ты знаешь структуру xml - то не проще использовать xslt ? получившийся результат  перегнать в ТЗ и ТЗ использовать как источник данных?
11 zelenprog
 
24.08.12
17:04
(10) ну ТЗ - это объект в памяти,
файл XML может быть большим, и весь его грузить в память не хотелось бы.

Удобнее всего было бы работать с ним как с внешней БД. Конечно если есть такая возможность.

Только я все-таки не понял, есть она (эта возможность) или нет
12 acsent
 
24.08.12
17:09
13 zelenprog
 
24.08.12
17:44
(12) круто!
что-то не нашел сколько это стоит
14 Живой Ископаемый
 
24.08.12
19:38
не важно какие бывают субд для ХМЛ-файла, главное чтобы был ОДБС-драйвер для этого источника. Есть - значит запрос напишешь.
15 МишКа
 
24.08.12
19:49
Даже если такой драйвер существует - все равно это будет редкостный изврат. Т.к. запрос предназначен для работы с таблицами, а XML не таблица.
16 zelenprog
 
25.08.12
11:33
(15) Правильно, XML - не таблица, точнее XML - это не одна таблица.

XML - это набор таблиц, т.е. несколько связанных таблиц.
Получается что XML можно считать настоящей базой данных.
И запросы к XML - очень даже подходят.
17 zelenprog
 
25.08.12
11:47
(14) есть ли еще какие-нибудь ODBC драйвера для XML?
кроме указанного в (12)?
18 el-gamberro
 
25.08.12
11:56
(16) ХМЛ настоящая база данных? Ну круто че :)
19 el-gamberro
 
25.08.12
11:57
Вообще скуль норм работает с ХМЛ, лучше уж в скуль грузануть и потом 1С-кой работать с загруженной таблицей
20 sda553
 
25.08.12
12:09
Блин, с тех пор как расстался с 1с в ней столько всего интересного появилось, я вижу. Захочу вернуться и буду новичком уже
21 zelenprog
 
25.08.12
12:37
(18) а почему улыбка?
разве ХМЛ не является базой данных?
22 el-gamberro
 
25.08.12
12:57
(21) Конечно нет. ХМЛ тем и удобен что позволяет хранить разнородные даные. А по сути это обычный текстовый файл.
23 es3000
 
25.08.12
16:42
(22) Абсолютно не согласен.

Ну и что что это текстовый файл?
Это не говорит о том, что ХМЛ не может быть базой данных.
То что это текстовый файл -  это характеризует СПОСОБ хранения данных, но не сами данные.
Данные ведь можно хранить и в текстовом виде и в двоичном и в шестнадцатиричном и в любом другом, какой только в голову придет.

И при чем тут "РАЗНОРОДНЫЕ ДАННЫЕ"? В базах данных тоже хранятся разнородные данные.
Главное чтобы данные можно было искать по каким-либо правилам и обрабатывать.
Тогда эти данные становятся базой данных.

ХМЛ прекрасно подходит для обработки данных, как раз благодаря тому, что данные в нем структурированы по определенным правилам. Вот басня Крылова в текстовом файле - это неструктурированные данные их нельзя обрабатывать.

Таким образом ХМЛ МОЖЕТ собой представлять настоящую базу данных
24 МишКа
 
26.08.12
18:32
(23) Только это будет не реляционная база данных, и язык запросов работать с ней не будет.
25 ДенисЧ
 
26.08.12
19:48
(24) с какого перепою?
26 shuhard
 
26.08.12
21:00
(24) если провайдер написан грамотно, то будет полная поддержка ANSI SQL
27 Мигрень
 
26.08.12
21:18
xml - это база данный, известно всем, кроме одноэсников.

Для работы с этой базой имеются специальные языки запросов типа XML Path и XQuery. Прекрасно работают эти запросы и из 1С, кстати.
28 zelenprog
 
26.08.12
21:41
(26) все пишут про драйвера...
дайте кто-нибудь ссылку пожалуйста!

(27) а можно пример использования этих языков в 1С
29 shuhard
 
26.08.12
22:37
(28) http://quilogic.cc/odbc.htm
платных провайдеров ADODB и ODBC как грязи
30 3uJI
 
27.08.12
00:33
внешний источник данных + построитель запроса не?
31 zelenprog
 
27.08.12
19:11
(30) дык... ничего не могу сказать :)
может и да.
буду разбираться
32 zelenprog
 
27.08.12
19:11
(29) спасибо
33 zelenprog
 
27.08.12
19:12
а что имеет ввиду товарищ в (30)?
34 3uJI
 
27.08.12
20:25
товарищ предполагает, что построитель запроса - это "запрос", который может использовать в качестве источника данных таблицу значений, табличную часть документа, документ XML, результат другого запроса и т.д. не то ?
35 zelenprog
 
28.08.12
00:14
(34) надо попробовать
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.