Имя: Пароль:
1C
1С v8
v8: Загрузка картинки по COM/OLE
0 DionisNN
 
27.03.14
13:34
Добрый день.
Нашел старую тему v8: Изображение по COM
Но что то не получается у меня.
Помогите, пожалуйста...

<code>
мТекущееОсновноеИзображение = СтрокаВыбокиOLE.Номенклатура.ОсновноеИзображение.Хранилище.Получить();
Если мТекущееОсновноеИзображение <> Неопределено Тогда

            НовыйОбъект = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
            НовыйОбъект.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
            
            Картинка = Новый Картинка;
            Двоичные        = Картинка.ПолучитьДвоичныеДанные();
            ДвоичныеСтрокой    = Base64Строка(Двоичные);
            ДвоичныеCOM        = ole.Base64Значение(ДвоичныеСтрокой);
            МояКартинкаCOM  = ole.NewObject("Картинка",ДвоичныеCOM);
            НовыйОбъект.Хранилище = ole.NewObject("ХранилищеЗначения",МояКартинкаCOM);

            НовыйОбъект.Объект = Номенклатура;
            НовыйОбъект.ИмяФайла = стр.Номенклатура.ОсновноеИзображение.ИмяФайла;
            НовыйОбъект.Записать();

            
КонецЕсли;
</code>
1 Wobland
 
27.03.14
13:35
чем помочь?
2 cw014
 
27.03.14
13:36
Вопрос, а почему ты тащишь в текущую базу оле объект вместо хранилища значения?
3 cw014
 
27.03.14
13:38
Причем ты берешь пустую картинку, запихиваешь ее в оле, и этот оле пытаешься засунуть в текущую базу в тип "хранилище значения"? Ты случайно зубы через ж не лечишь?
4 cw014
 
27.03.14
13:41
мТекущееОсновноеИзображение = СтрокаВыбокиOLE.Номенклатура.ОсновноеИзображение.Хранилище.Получить();
Если мТекущееОсновноеИзображение <> Неопределено Тогда

            НовыйОбъект = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
            НовыйОбъект.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
            
            МояКартинка     = Новый Картинка(Base64Значение(ole.Base64Строка(мТекущееОсновноеИзображение.ПолучитьДвоичныеДанные())));
            НовыйОбъект.Хранилище = Новый ХранилищеЗначения(МояКартинкаCOM);

            НовыйОбъект.Объект = Номенклатура;
            НовыйОбъект.ИмяФайла = стр.Номенклатура.ОсновноеИзображение.ИмяФайла;
            НовыйОбъект.Записать();

            
КонецЕсли;
5 cw014
 
27.03.14
13:41
С тебя 300 рублев
6 DionisNN
 
27.03.14
14:17
(5) Спасибо огромное. Работает.

Куда кинуть? Можно в лс.
7 cw014
 
27.03.14
14:23
Пиши на почту :)
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.