|
0
егаис
08.09.12
✎
14:22
|
выслали каталог с товарами в xls с ссылками на изображения. Как подгрузить картинки программно в хранилище, реально?
Код = ПрочитатьСтроку(ActiveSheet,НомерСтроки,1);
ТоварПоКоду = Справочники.Номенклатура.НайтиПоКоду(Код);
Если ТоварПоКоду = Справочники.Номенклатура.ПустаяСсылка() Тогда
Продолжить;
КонецЕсли;
Товар = ТоварПоКоду.ПолучитьОбъект();
обФайл = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
обФайл.Наименование = "Картинка";
обФайл.Объект = Товар.Ссылка;
обФайл.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
обФайл.ИмяФайла = "Картинка"+НомерСтроки;
обФайл.Хранилище = Новый ХранилищеЗначения(Новый Картинка(ПрочитатьСтроку(ActiveSheet,НомерСтроки,8))); //здесь URL
обФайл.Записать();
Товар.ОсновноеИзображение = обФайл.Ссылка
|
|
|
4
Wobland
08.09.12
✎
14:28
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
мАдрес=СтрЗаменить(Адрес, "http://", "");
поз=0;
Для й=0 По СтрДлина(мАдрес) Цикл
Если Сред(мАдрес, й, 1)="/" Тогда
поз=й;
КонецЕсли;
КонецЦикла;
ИмяФайлаТам=Сред(мАдрес, поз+1);
Ресурс=Лев(мАдрес, Найти(мАдрес, "/")-1);
мАдрес=Сред(мАдрес, Найти(мАдрес, "/")+1);
Попытка
Если Константы.ИспользоватьПрокси.Получить() Тогда
Прокси=Новый ИнтернетПрокси;
Прокси.Пользователь=Константы.ЛогинПрокси.Получить();
Прокси.Пароль=Константы.ПарольПрокси.Получить();
http=Новый HTTPСоединение(Ресурс, , , , Прокси);
Иначе
http=Новый HTTPСоединение(Ресурс);
КонецЕсли;
Исключение
Предупреждение("Ошибка соединения"+Символы.ПС+ОписаниеОшибки());
Возврат;
КонецПопытки;
ИмяФайлаТут=ПолучитьИмяВременногоФайла("jpg");
Попытка
http.Получить(мАдрес, ИмяФайлаТут);
Исключение
Предупреждение("Ошибка получения файла"+Символы.ПС+ОписаниеОшибки());
КонецПопытки;
ф=Новый Файл(ИмяФайлаТут);
ВыбраннаяКартинка=Новый Картинка(ИмяФайлаТут);
спр=Справочники.Картинки.СоздатьЭлемент();
спр.Наименование=ПолучитьУникальноеНаименование(Лев(ИмяФайлаТам, СтрДлина(ИмяФайлаТам)-4));
спр.Родитель=Справочники.Картинки.ИзИнтернета;
спр.Комментарий=Адрес;
спр.Картинка=Новый ХранилищеЗначения(ВыбраннаяКартинка);
спр.Записать();
КонецПроцедуры
|
|