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