|
Загрузка картинок товара по url Для ут 8 для Беларуси | ☑ | ||
---|---|---|---|---|
0
apdate_minsk
11.09.16
✎
09:58
|
Всем привет!
В справочнике номенклатура имеется реквизит URL_Картинки необходимо создать обработку которая по этому URL добавит картинку как основную в справочнике Номенклатура но вот не понимаю как это сделать подскажите пожалуйста... |
|||
1
apdate_minsk
11.09.16
✎
10:00
|
или просто может опишите что писать в реквизиты справочника
НоменклатураПрисоедененыеФайлы и в реквизит справочника номенклатуры Файлкартинки |
|||
2
apdate_minsk
11.09.16
✎
10:25
|
вот что начал делать но не догоняю куда и что записывать
помогите &НаСервере Процедура ОбработатьНаСервере() Выборка = Справочники.Товары.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.ЭтоГруппа = Ложь Тогда Если СокрЛП(Выборка.АдресКартинкиURL) <> "" Тогда ЗагрузкаДанныхИзТабличногоДокумента(Выборка.Ссылка,Выборка.АдресКартинкиURL) КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры &НаСервере Процедура ЗагрузкаДанныхИзТабличногоДокумента(Ссылка_Спр,URL_Картинки) Текст = URL_Картинки; РасширениеФайла = РасширениеФайла(Текст); АдресКартинки = СтрЗаменить(Текст, """", ""); ИмяКартинки = ПолучитьИмяКартинки(АдресКартинки); НовоеИмя = ПолучитьИмяВременногоФайла(РасширениеФайла); ПрисоединенныеФайлыМассив = Новый Массив; Попытка КопироватьФайл(АдресКартинки, НовоеИмя); //вставим процедурку из спр ИдентификаторФайла = Новый УникальныйИдентификатор; Файл = Новый Файл(НовоеИмя); ВремяИзменения = ТекущаяДата(); ВремяИзмененияУниверсальное = Файл.ПолучитьУниверсальноеВремяИзменения(); ПомещаемыеФайлы = Новый Массив; Описание = Новый ОписаниеПередаваемогоФайла(Файл.ПолноеИмя, ""); ПомещаемыеФайлы.Добавить(Описание); ПомещенныеФайлы = Новый Массив; УдалитьФайлы(НовоеИмя); Исключение Сообщить("Ошибка при получении картинки, возможно введен неверный URL: адрес изображения должен начинаться с ""http:"""); КонецПопытки; КонецПроцедуры &НаСервере Функция РасширениеФайла(ИмяФайла) Строка = СтрЗаменить(ИмяФайла, ".", Символы.ПС); Всего = СтрЧислоСтрок(Строка); Если Всего < 2 Тогда Возврат ""; КонецЕсли; Возврат СтрПолучитьСтроку(Строка, Всего); КонецФункции &НаСервере Функция ПолучитьИмяКартинки(АдресКартинки) ИмяКартинки = ""; ПодстрокаПоиска = АдресКартинки; Пока Найти(ПодстрокаПоиска,"/")>0 Цикл ПодстрокаПоиска = Сред(ПодстрокаПоиска,Найти(ПодстрокаПоиска,"/")+1); КонецЦикла; ИмяКартинки = Лев(ПодстрокаПоиска,Найти(ПодстрокаПоиска,".")-1); Возврат ИмяКартинки; КонецФункции теперь как я понимаю необходимо поместить файл в хранилище но не понимаю как и куда все это дело помещать потом |
|||
3
apdate_minsk
11.09.16
✎
10:26
|
не обращайте внимания на то что справочник называется товары работа с изображениями у него взято из УТ
|
|||
4
apdate_minsk
12.09.16
✎
08:45
|
что ни кто не знает?
|
|||
5
apdate_minsk
12.09.16
✎
15:29
|
Здесь есть кто? ауууу :-)
|
|||
6
apdate_minsk
13.09.16
✎
10:56
|
Всем привет сам справился с данной задачей
если кто то будет искать как это замутить то вот код все удачи &НаСервере Процедура ЗагрузкаДанныхИзТабличногоДокумента(Ссылка_Спр,URL_Картинки) Текст = URL_Картинки; РасширениеФайла = РасширениеФайла(Текст); АдресКартинки = СтрЗаменить(Текст, """", ""); ИмяКартинки = ПолучитьИмяКартинки(АдресКартинки); НовоеИмя = ПолучитьИмяВременногоФайла(РасширениеФайла); ПрисоединенныеФайлыМассив = Новый Массив; Попытка КопироватьФайл(АдресКартинки, НовоеИмя); //вставим процедурку из спр ИдентификаторФайла = Новый УникальныйИдентификатор; Файл = Новый Файл(НовоеИмя); ВремяИзменения = ТекущаяДата(); ВремяИзмененияУниверсальное = Файл.ПолучитьУниверсальноеВремяИзменения(); ПомещаемыеФайлы = Новый Массив; Описание = Новый ОписаниеПередаваемогоФайла(Файл.ПолноеИмя, ""); //загрузка /************************ КартинкаСсылка = Справочники.НоменклатураПрисоединенныеФайлы.ПустаяСсылка(); КартинкаОбъект = Справочники.НоменклатураПрисоединенныеФайлы.СоздатьЭлемент(); КартинкаОбъект.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе; КартинкаОбъект.Наименование = Ссылка_Спр.Код; КартинкаОбъект.ВладелецФайла = Ссылка_Спр.Ссылка; К1 = Новый Картинка(НовоеИмя, истина); КартинкаОбъект.ФайлХранилище = Новый ХранилищеЗначения(К1.ПолучитьДвоичныеДанные()); КартинкаОбъект.Расширение = "jpg"; КартинкаОбъект.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен; ФайлК = Новый Файл(НовоеИмя); КартинкаОбъект.Размер = ФайлК.Размер(); КартинкаОбъект.Записать(); КартинкаСсылка = КартинкаОбъект.Ссылка; КартинкаСохранить = РегистрыСведений.ПрисоединенныеФайлы.СоздатьНаборЗаписей(); КартинкаСохранить.Отбор.ПрисоединенныйФайл.Установить(КартинкаОбъект.Ссылка); НовыйФайл = КартинкаСохранить.Добавить(); НовыйФайл.ПрисоединенныйФайл = КартинкаСсылка; НовыйФайл.ХранимыйФайл = КартинкаОбъект.ФайлХранилище; КартинкаСохранить.Записать(); НовоеЗначение = Ссылка_Спр.ПолучитьОбъект(); НовоеЗначение.ФайлКартинки = КартинкаСсылка; НовоеЗначение.Записать(); //**************** УдалитьФайлы(НовоеИмя); Исключение Сообщить("Ошибка при получении картинки, возможно введен неверный URL: адрес изображения должен начинаться с ""http:"""); КонецПопытки; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |