есть процедура, которая должна добавить это изображение к номенклатуре. (код брал в интернете, немного менял под себя):
ДлинаСсылки = СтрДлина(СсылкаНаКартинкуHTTP);
СсылкаНаКартинку = Сред(СсылкаНаКартинкуHTTP, 9, ДлинаСсылки);
КартинкаСсылка = Справочники.НоменклатураПрисоединенныеФайлы.ПустаяСсылка();
ТоварКартинка = Неопределено;
Если Не ТоварКартинка = Неопределено или не ТоварКартинка = "" Тогда
Если КартинкаСсылка.Пустая() Тогда
//КартинкаСсылка = Справочники.НоменклатураПрисоединенныеФайлы.НайтиПоНаименованию(НоменклатураОбъект.Код);
КонецЕсли;
Если КартинкаСсылка.Пустая() Тогда
КартинкаОбъект = Справочники.НоменклатураПрисоединенныеФайлы.СоздатьЭлемент();
КартинкаОбъект.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе;
КартинкаОбъект.Наименование = НоменклатураОбъект.Код;
КартинкаОбъект.ВладелецФайла = НоменклатураОбъект.Ссылка;
КартинкаОбъект.ДатаСоздания = ТекущаяДата();
Соединение = Новый HTTPСоединение(СсылкаНаКартинку);
ИмяВременногоФайла=ПолучитьИмяВременногоФайла(".jpg");
Запрос = Новый HTTPЗапрос;
Запрос.АдресРесурса = "/";
Соединение.Получить(Запрос, ИмяВременногоФайла);
К1 = Новый Картинка(ИмяВременногоФайла, истина);
КартинкаОбъект.ФайлХранилище = Новый ХранилищеЗначения(К1.ПолучитьДвоичныеДанные());
КартинкаОбъект.Расширение = "jpg";
КартинкаОбъект.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
ФайлК = Новый Файл(ИмяВременногоФайла);
КартинкаОбъект.Размер = ФайлК.Размер();
КартинкаОбъект.Записать();
КартинкаСсылка = КартинкаОбъект.Ссылка;
КартинкаСохранить = РегистрыСведений.ДвоичныеДанныеФайлов.СоздатьНаборЗаписей();
КартинкаСохранить.Отбор.Файл.Установить(КартинкаОбъект.Ссылка);
НовыйФайл = КартинкаСохранить.Добавить();
НовыйФайл.Файл = КартинкаСсылка;
НовыйФайл.ДвоичныеДанныеФайла = КартинкаОбъект.ФайлХранилище;
КартинкаСохранить.Записать();
КонецЕсли;
НоменклатураОбъект.ФайлКартинки = КартинкаСсылка;
КонецЕсли;
Показать
По итогу: код проходит. Файл создается и присоединяется в карточку номенклатуры. Но скорей всего есть проблема в самом изображении, поэтому встречаю ошибки (присоединяю файлы - картинки с ошибками в архиве).
В чем может быть ошибка, как можно исправить?
И второй момент, сейчас создается файл временный я так понимаю и само изображение будет храниться в базе. Насколько это опасно, учитывая, что работаем в файловой базе. Какой вариант решения, чтобы база не лопнула, помимо перехода в серверный режим работы (он планируется, но позже)
Посмотрите URLы тех картинок, которые с ошибками присоединяются. Может расширение другое не jpg, а может и сама картинка по этому URLу испорченная.
В УНФ - смотрите настройки для хранения присоединенных файлов в томах на диске - отдельно от базы. В базе, тем более файловой - конечно лучше не хранить. И в конфигурации есть готовые экспортные процедуры, которые автоматом поймут настройки томов и сохранят как надо присоединенный файл. См. например в общем модуле РаботаСФайлами Функция ДобавитьФайлСДиска(ВладелецФайлов, ПутьКФайлуНаДиске) Экспорт