Имя: Пароль:
1C
 
Картинка через ком-интерфейс
, , ,
0 Mikhail2014
 
13.04.16
11:30
Всем привет! Подключаюсь к базе-источнику через com, там в хранилище значения есть картинка, которую мне надо перенести в базу-приемник, как это сделать?
1 Самуил Маршак
 
13.04.16
11:31
через ДвоичныеДанные например
2 Fragster
 
гуру
13.04.16
11:33
Сериализация в XML и обратно
3 Mikhail2014
 
13.04.16
11:44
(1)
А как через ДвоичныеДанные?

Пробую вот так:

ТЗКартинки полчил запросом через com из базы источника, потом такой код:

Для Каждого Картинка из ТЗКартинки Цикл
                ДанныеКартинки = Картинка.Хранилище.Get();
                ДвДанные = Новый ДвоичныеДанные(ДанныеКартинки);
            КонецЦикла;

Пишет "Файл не обнаружен 'COMОбъект'". Как сделать правильно?
4 Рэйв
 
13.04.16
11:51
(3)ВСе кроме числа, строки и даты, полученное через ком будет завернуто в COMОбъект.

Как вариант сохраняй двоичные данные в темповый файл на той стороне, а на текущей открывай и читай
5 Рэйв
 
13.04.16
11:51
+(4) ну еще булево ходит вроде:-)
6 Рэйв
 
13.04.16
11:52
хотя помоему COMОбъект, к который завернуты двоичные данные должен иметь метод сохранения, так что сохранять можно попробывать и в принимающей базе.
7 Mikhail2014
 
13.04.16
11:58
Вот так вот тоже не хочет, пишет - Несоответствие типов

ДанныеКартинки = Новый Картинка(Картинка.Хранилище.Get().GetBinaryData());
8 Рэйв
 
13.04.16
12:21
(7)У меня прекоасно отрабатывает код
    ДвД=Соединение.NewObject("ДвоичныеДанные","e:\4df2f5dd16.jpg");
    ДвД.Записать("E:\чегототам.jpg")


файл картинки чоздается и открывается на просмотр
9 Рэйв
 
13.04.16
12:22
не знаю чего ты там мудришь через хранилище...
10 Hmster
 
13.04.16
12:27
(3) ты пытаешься ком-объект в двоичные данные запихнуть. попробуй сделать через запись файла или сериализацию
11 Mikhail2014
 
13.04.16
18:07
(8)
Делаю:

Картинка.Хранилище.Get().GetBinaryData().Write("C:\temp\temp.jpg");
Картинка.Хранилище.Get().Write("C:\temp\temp.jpg");

В каталоге ничего не появляется.
12 Mikhail2014
 
13.04.16
18:08
(9)

В базе источнике картинка лежит в хранилище, это УТ 10.3. Мне именно оттуда ее нужно перенести в УТ 11. То есть не из файла прочитать, а из базы источника эту картинку получить.