|
![]() |
#1 |
Участник
|
В 1С для файлов используется тип данных "ХранилищеЗначения", точно так же как в аксапте container. Но в 1С конкретно для изображений есть еще отдельный тип данных "Картинка". Вам нужно:
1. Вытащить из 1С поле в котором хранится файл в переменную типа COM в аксапте. X++: Com pic; ; pic = Choose.(); X++: COM kart;
;
kart = comConnection.NewObject("Картинка");
kart = pic.Get(); 3. А вот тут самое интересное. Вроде бы у типа "Картинка" в 1C есть метод "ПолучитьДвоичныеДанные" или англ. аналог "GetBinaryData", но метод все равно возвращает COM объект. Поэтому я нашел только один выход. Сохранять картинку на диск, а потом забирать её аксаптой. То есть: X++: BinData binData; container con; ; kart.write("d:\\tmp.jpg"); binData = new BinData(); binData.loadFile("d:\\tmp.jpg"); con = bind.getData(); Последний раз редактировалось _scorp_; 25.09.2008 в 13:41. |
|
![]() |
#2 |
Участник
|
Пришлось сделать немного по-другому:
X++: pic = Choose.(); pic = pic.(); // Пришлось добавить эту строчку, иначе вылетало на Получить() kart = con.NewObject("Картинка"); kart = pic.Get(); kart.Write("C:\tmp.jpg"); binData = new BinData(); binData.loadFile("C:\\tmp.jpg"); cont = binData.getData(); |
|
|
![]() |
||||
Тема | Ответов | |||
Стандартный импорт данных. Обновление | 0 | |||
Тормозит Экспорт/Импорт данных | 28 | |||
Импорт данных из ODBC источника | 4 | |||
Импорт на данных из 2.5 в 3.0 | 14 | |||
Импорт данных | 2 |
|