Имя: Пароль:
1C
1С v8
Получение картинок из ХранилищаЗначения через Com-подключение
0 vladimir80
 
06.05.13
10:31
Доброго дня!
Подскажите, как вытащить файл картинки из базы через Com-подключение? Задача - перенос справочников, в базе-доноре картинки в хранилище лежат. Насколько понимаю - через com все передается в виде строки?
1 oleg_km
 
06.05.13
10:43
Наверное через файл
2 H A D G E H O G s
 
06.05.13
10:51
Двоичное=ЭлементДонор.ХранилищеКартинки.Получить().ПолучитьДвоичныеДанные();
ДвоичноеСтрокой=БазаДонор.Base64Строка(Двоичное);
ДвоичноеТут=Base64Значение(ДвоичноеСтрокой);
КартинкаТут=Новый Картинка(ДвоичноеТут);
3 vladimir80
 
06.05.13
10:56
(2) Спасибо! Только что написал Г-код в том же направлении =)

Ф = Новый ХранилищеЗначения(Новый Картинка(Base64Значение(Открытие.Base64Строка(Открытие.Реквизит.Хранилище.Получить().ПолучитьДвоичныеДанные()))), Новый СжатиеДанных());

Работает!
4 oleg_km
 
06.05.13
11:02
(4) Просто имейте ввиду, что при работе со строками более 20 МБ у нас 1С регулярно падало (не достаточно памяти). Поэтому если данные будут больше и будет падать, то придется перейти на файлы
5 vladimir80
 
06.05.13
11:51
(4) Спасибо! Врядли это мой случай - мне лишь перенести, да и картинки товаров не более 2-3мб. Но можно и обойти, выгружая из исходника в файл, просто интересен был сам метод передачи таких данных через строку.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан