Имя: Пароль:
1C
1С v8
Выгрузка картинок в XML
0 serg-lom89
 
15.09.17
15:30
подскажите ,как можно выгрузить картинки из 1с в xml файл и затем его загрузить в другую идентичную базу?
картинки хранятся в справочнике хранилищеДопИнформации
Или это пятничный бред моего мозга?
1 le_
 
15.09.17
15:38
Base64
2 FIXXXL
 
15.09.17
15:45
(0) или (1) или складируй в промежуточную папку, а в файл пиши путь до файла
3 serg-lom89
 
15.09.17
15:54
(2) вариант хороший,но базы на других удаленных серваках находятся
4 FIXXXL
 
15.09.17
16:15
(3) да пофиг, после выгрузки "заверни" хмл вместе с картинками в архив да пуляй куда надо
5 echo77
 
15.09.17
16:46
(0) Обработка ВыгрузкаЗагрузкаДанныхXML позволяет сериализовать такой справочник, вместе с картинками
6 echo77
 
15.09.17
16:48
7 Dzenn
 
гуру
15.09.17
16:53
сделать из двоичных данных строку:

КартинкаСтрокой = Base64Строка(Выборка.Картинка.Получить());

сделать из строки двоичные данные:

Спр.Картинка = Новый ХранилищеЗначения(Base64Значение(КартинкаСтрокой));
8 MaxS
 
15.09.17
16:59
А XMLСтрока разве не подходит?
9 breezee
 
15.09.17
18:32
(0) Может картинку в Новый ДвоичныеДанные и дальше СериализаторXML.Сериализовать(твояКартинка) подойдет?
10 Dzenn
 
гуру
15.09.17
21:54
(8) кстати да, подойдёт
11 АнализДанных
 
15.09.17
23:41
(0) Я выгружал двоичные данные так:

При записи в xml:
Если ТипЗнч(ВыгружаемыйРеквизит) = Тип("ХранилищеЗначения") Тогда
    ЗаписьXML.ЗаписатьАтрибут("Тип", "ХранилищеЗначения");
    ЗаписатьXML(ЗаписьXML, ВыгружаемыйРеквизит);
КонецЕсли

При чтении xml:
ТипРеквизита = ФайлXML.ПолучитьАтрибут("Тип");

Если ТипРеквизита = "ХранилищеЗначения" Тогда            
    ФайлXML.Прочитать();
    ДанныеХранилища = ПрочитатьXML(ФайлXML);
КонецЕсли
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.