Имя: Пароль:
1C
1С v8
Передать XML через COM
0 elCust
 
28.12.15
12:15
Привет сообществу.

В базе 1 есть экспортная функция, формирует файл XML.

База 2 устанавливает COM соединение, вызывает эту функцию.

Вопрос. Как правильно передать файл XML через COM.

Посмотрел в СП. Можно использовать ДвоичныеДанные. Но в базу 2 приходит COM объект. Как то криво.
1 Рэйв
 
28.12.15
12:16
сохрани на диске и подними
2 FIXXXL
 
28.12.15
12:19
Хранилище ходит по КОМ?
ВСтрокуВнутр
3 elCust
 
28.12.15
12:19
(1) Кого поднять? Базы находятся на разных серверах.
4 elCust
 
28.12.15
12:20
(2) Ок сейчас попробую.
5 Рэйв
 
28.12.15
12:21
(3)Какая разница? Если по COM доступ есть, то  уж поди папку найдешь общую куда файл сохранить.
6 lex-kex
 
28.12.15
12:24
(0) XML - это же текст зачем придумывать велосипед
7 Serginio1
 
28.12.15
12:24
Можно проще передавать строку
ЗаписьХМЛ.Закрыть();
8 Serginio1
 
28.12.15
12:27
И лучше через
стр=ЗаписьХМЛ.Закрыть();
Стр=XmlСтрока(Новый ХранилищеЗначения(Стр,Сжатие));
        
Ну и разжимаешь
        
        СтрОриг=XMLЗначение(Тип("ХранилищеЗначения"), Стр).Получить();
9 elCust
 
28.12.15
12:31
(2) (4) Получилось. Спасибо.

(8) Вот так еще попробую.

Ребят, спасибо!
10 ЧеловекДуши
 
28.12.15
13:13
(6) Не все понимают очевидного провала в плане обмена данных через XML... Ведь XML текстовый файл, при этом не оптимизирован для передачи больших объемов информации... В плане скорости, хотя бы :)
11 hhhh
 
28.12.15
13:29
(10) обычно там несколько мегабайт передается. Чего оптимизировать?
12 Лефмихалыч
 
28.12.15
13:29
(10) "XML не оптимизирован для передачи больших объемов информации" - это все равно, что сказать "помидор не предназначен для пассажирских перевозок".
13 Serginio1
 
28.12.15
14:00
(10) Проблема XML только в его размере, что легко решается сжатием. А чтениеXML использует небольшой буфер, а не засасывает весь файл целиком.
14 ЧеловекДуши
 
28.12.15
15:03
(11) Ну, да это когда часто и маленькими порциями. А вот когда Большими пакетами, вот тут затык происходит :)

(12) "Извините", но что есть, то есть. Умываться помидорами по утрам по рекомендации от 1С, вредно :)

(13) Эх костыли, костыли :)
15 ЧеловекДуши
 
28.12.15
15:07
+(11) ...еще есть наблюдение...
Обмен маленькими DBF файлами осуществляется быстрее, нежели XML файлами, тоже маленькими... Так наблюдение в ходе экспериментов с обменами. :)
16 Serginio1
 
28.12.15
17:41
(15) У тебя основная часть времени уходит на запись.
А при обмене огромными XML файлами чтение и запись очень быстрые если через ЗаписьXML и ЧтениеXML.
Парсинг XML конечно дольше чем чтение записи DBF но это незаметно, на нынешних процессорах, дисках.
17 EvgeniuXP
 
28.12.15
21:19
(15) dbf зато битый может оказаться, в отличии от XML :)