Имя: Пароль:
1C
1С v8
Как выгрузить картинки из Управление торговлей?
0 v_clim
 
25.08.11
18:28
Требуется выгрузить картинки из Управление Торговлей для Украины 2.3. Чтобы имя файла совпадало с кодом товара. Недавно только начал с восьмеркой работать. Откуда ее вытаскивать?
1 Arseny
 
25.08.11
18:30
не знаю как для украины, для нашей что-то такое рисовал:
&НаСервере
Функция ВыгрузитьСервер()
   Запрос=Новый ЗАпрос;
   Запрос.Текст="ВЫБРАТЬ
                |    Номенклатура.Ссылка,
                |    Номенклатура.ФайлКартинки
                |ИЗ
                |    Справочник.Номенклатура КАК Номенклатура
                |ГДЕ
                |    (НЕ Номенклатура.ЭтоГруппа)";
   тзф=Запрос.Выполнить().Выгрузить();            
   
   сз=Новый СписокЗначений;
   для каждого стр из тзф цикл
       //об=стр.Ссылка.ПолучитьОбъект();
       //об.Описание=об.Код;
       //об.Записать();
       //
       Если стр.ФайлКартинки<>Справочники.Файлы.ПустаяСсылка() тогда
           ДанныеФайла = РаботаСФайлами.ПолучитьДанныеФайлаДляСохранения(стр.ФайлКартинки);
           сз.Добавить(ДанныеФайла.НавигационнаяСсылкаТекущейВерсии,"d:\bases1c\qq\"+стр.ссылка.Код+".jpg");
       КонецЕсли;    
   КонецЦикла;    
   Возврат сз;
КонецФункции

&НаКлиенте
Процедура Выгрузить(Команда)
   сз=ВыгрузитьСервер();
   для инд=0 по сз.Количество()-1 цикл
       эл=сз.Получить(инд);
       ПолучитьФайл(эл.Значение, эл.Представление, Ложь);
   КонецЦикла;    
КонецПроцедуры
2 v_clim
 
25.08.11
18:34
У нас они в справочнике ХранилищеДополнительнойИнформации как тип данных изображение
3 v_clim
 
25.08.11
18:38
Как ее вытащить из ТипЗначения Хранилище
4 Alex11
 
25.08.11
18:42
Недавно писал выгрузку товаров на яндекс маркет, у меня вот так сохраняются с начала на винте:
КаталогИБ = НСтр(СтрокаСоединенияИнформационнойБазы(),"File") + "\" + АктивныйМагазин.НаименованиеКаталогаДляМаркета;
   КаталогНаДиске = Новый Файл(КаталогИБ);

   Если НЕ КаталогНаДиске.Существует()
       Тогда
           СоздатьКаталог(КаталогНаДиске.Путь + АктивныйМагазин.НаименованиеКаталогаДляМаркета);
   КонецЕсли;
   ИмяФайла = КаталогИБ + "\" + ФайлДляЗаписи;
   
   Если Номенклатура <> Неопределено Тогда
       Файл = Номенклатура.ОсновноеИзображение.Хранилище.Получить();
       Если Файл <> Неопределено Тогда
           Попытка
               Сообщить("Производится локальная запись файла: " + ИмяФайла);
               Файл.Записать(ИмяФайла);
               Сообщить("Файл успешно записан на диск");
           Исключение
               Сообщить("Ошибка записи");
           КонецПопытки;
       КонецЕсли;
5 v_clim
 
25.08.11
18:51
Спасибо!!!