выгрузка картинок из справочника номенклатура
УНФ. нужно выгрузить все картинки из справочника номенклатура написал обработку но выходит ошибка когда получаю значение из ХранилищеЗначений возвращает Неопределено
Если я не ошибаюсь то картинки хранятся в реквизите ФайлХранилище
&НаСервере
Процедура ВыгрузитьКартинкиНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НоменклатураПрисоединенныеФайлы.Расширение КАК Расширение,
| НоменклатураПрисоединенныеФайлы.ФайлХранилище КАК ФайлХранилище,
| НоменклатураПрисоединенныеФайлы.Ссылка КАК СсылкаПФ,
| НоменклатураПрисоединенныеФайлы.ВладелецФайла КАК ВладелецФайла,
| НоменклатураПрисоединенныеФайлы.ВладелецФайла.Код КАК ВладелецФайлаКод,
| Номенклатура.Ссылка КАК Ссылка
|ИЗ
| Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы
| ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
| ПО НоменклатураПрисоединенныеФайлы.ВладелецФайла = Номенклатура.Ссылка
|ГДЕ
| НЕ НоменклатураПрисоединенныеФайлы.ВладелецФайла ЕСТЬ NULL";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
КаталогИБ = "C:\Pic\";
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Файл = ВыборкаДетальныеЗаписи.ФайлХранилище.Получить();
Файл.Записать(КаталогИБ + ВыборкаДетальныеЗаписи.ВладелецФайлаКод+"_"+ВыборкаДетальныеЗаписи.ВладелецФайла+"."+ВыборкаДетальныеЗаписи.Расширение);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ВыгрузитьКартинки(Команда)
ВыгрузитьКартинкиНаСервере();
КонецПроцедуры
ПоказатьЕсли я не ошибаюсь то картинки хранятся в реквизите ФайлХранилище
Прикрепленные файлы:
По теме из базы знаний
- Выгрузка картинок из справочника Номенклатура. УТ 11.4.5
- Выгрузка картинок в каталог. 1С: Комплексная автоматизация, редакция 1.1
- Создание каталогов аналогично как 1С 7.7 справочника "Номенклатура". Копирование картинок. Выгрузка в основной каталог.
- Хранение картинок (изображений) номенклатуры в каталоге на диске. УТ 10.3
- Модуль обмена Битрикс 8. Фильтрация картинок номенклатуры при выгрузке на сайт
Найденные решения
сделал
&НаСервере
Процедура ВыгрузитьКартинкиНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НоменклатураПрисоединенныеФайлы.Расширение КАК Расширение,
| НоменклатураПрисоединенныеФайлы.ФайлХранилище КАК ФайлХранилище,
| НоменклатураПрисоединенныеФайлы.Ссылка КАК СсылкаПФ,
| НоменклатураПрисоединенныеФайлы.ВладелецФайла КАК ВладелецФайла,
| НоменклатураПрисоединенныеФайлы.ВладелецФайла.Код КАК ВладелецФайлаКод,
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ФайлКартинки КАК ФайлКартинки
|ИЗ
| Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы
| ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
| ПО НоменклатураПрисоединенныеФайлы.ВладелецФайла = Номенклатура.Ссылка
|ГДЕ
| НЕ НоменклатураПрисоединенныеФайлы.ВладелецФайла ЕСТЬ NULL";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
КаталогИБ = "C:\Pic\";
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
СтрокаСсылка = СокрЛП(Строка(ВыборкаДетальныеЗаписи.СсылкаПФ));
ДвоичныйФайл = ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(ВыборкаДетальныеЗаписи.СсылкаПФ);
ДвоичныйФайл.Записать(КаталогИБ + ВыборкаДетальныеЗаписи.ВладелецФайлаКод+"_"+СтрокаСсылка+"."+ВыборкаДетальныеЗаписи.Расширение);
КонецЦикла;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
сделал
&НаСервере
Процедура ВыгрузитьКартинкиНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НоменклатураПрисоединенныеФайлы.Расширение КАК Расширение,
| НоменклатураПрисоединенныеФайлы.ФайлХранилище КАК ФайлХранилище,
| НоменклатураПрисоединенныеФайлы.Ссылка КАК СсылкаПФ,
| НоменклатураПрисоединенныеФайлы.ВладелецФайла КАК ВладелецФайла,
| НоменклатураПрисоединенныеФайлы.ВладелецФайла.Код КАК ВладелецФайлаКод,
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.ФайлКартинки КАК ФайлКартинки
|ИЗ
| Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы
| ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
| ПО НоменклатураПрисоединенныеФайлы.ВладелецФайла = Номенклатура.Ссылка
|ГДЕ
| НЕ НоменклатураПрисоединенныеФайлы.ВладелецФайла ЕСТЬ NULL";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
КаталогИБ = "C:\Pic\";
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
СтрокаСсылка = СокрЛП(Строка(ВыборкаДетальныеЗаписи.СсылкаПФ));
ДвоичныйФайл = ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(ВыборкаДетальныеЗаписи.СсылкаПФ);
ДвоичныйФайл.Записать(КаталогИБ + ВыборкаДетальныеЗаписи.ВладелецФайлаКод+"_"+СтрокаСсылка+"."+ВыборкаДетальныеЗаписи.Расширение);
КонецЦикла;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот