Имя: Пароль:
1C
1С v8
Загрузка картинок из Excel
0 Renat11111
 
18.10.11
18:18
СтруктураЗаписи = Новый Структура;
   Для Каждого MyPic Из Лист.Pictures Цикл
       MyPic.Select();
       
       КодРисунка =  MyPic.ShapeRange.AlternativeText;
       Если ЗначениеЗаполнено(КодРисунка) Тогда
           СтруктураЗаписи.Очистить();    
           СтруктураЗаписи.Вставить("Картинка"    , MyPic) ;
           СтруктураЗаписи.Вставить("Код"        , КодРисунка );
           ДобавитьОбновитьСправочникНоменклатура(СтруктураЗаписи);
       КонецЕсли;

   КонецЦикла;


Функция ДобавитьОбновитьСправочникНоменклатура (СтруктураЗаписи)
   
   КодПоиска =  Лев(Строка(СокрЛП(СтруктураЗаписи.Код)),8);
   СсылкаНаОбъект = Справочники.Номенклатура.НайтиПоКоду(КодПоиска);
   Если НЕ СсылкаНаОбъект.Пустая() Тогда
       
       МенеджерЗаписи = СсылкаНаОбъект.ПолучитьОбъект();
       
   Иначе
       Сообщить("Не найден элемент"": " + " " + СтруктураЗаписи.Наименование);
   КонецЕсли;
   
   
   НовыйОбъект = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
   НовыйОбъект.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
   НовыйОбъект.Хранилище = Новый ХранилищеЗначения(СтруктураЗаписи.Картинка, Новый СжатиеДанных);
   НовыйОбъект.Объект = МенеджерЗаписи.Ссылка;
   НовыйОбъект.Записать();

   МенеджерЗаписи.Записать();
   
           
КонецФункции
1 Renat11111
 
18.10.11
18:20
КодРисунка = это код товара. Чуток запутался нет времени разбираться.

   НовыйОбъект.Хранилище = Новый ХранилищеЗначения(СтруктураЗаписи.Картинка, Новый СжатиеДанных);

Тут СтруктураЗаписи.Картинка должен быть путь к файлу в типовой так. У меня там тип ComОбъект, как решить с минимальными трудозатратами?
2 Renat11111
 
18.10.11
18:22
в типовой создается новая картинка, по полному имени файла.
       Если ДиалогОткрытияФайла.Выбрать() Тогда
           ВыбранноеИзображение = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла, Ложь);
       Иначе
           Возврат;
       КонецЕсли;

У меня же она берется из Excel.
3 Renat11111
 
18.10.11
18:58
ау неужели никто не сталкивался?
4 Renat11111
 
18.10.11
19:26
/
5 Renat11111
 
18.10.11
19:32
Как мне эту х...ню, которую я получаю из Excel сделать картинкой 1с СтруктураЗаписи.Картинка?

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

   МенеджерЗаписи.ОсновноеИзображение = НовыйОбъект.Ссылка;
   МенеджерЗаписи.Записать();
6 Renat11111
 
18.10.11
19:56
//
7 Renat11111
 
18.10.11
20:48
///
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший