8.х Загрузка изображений по ссылке в справочник Номенклатура УТ 10.3

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Aparatus, 16 апр 2013.

  1. TopicStarter Overlay
    Aparatus
    Offline

    Aparatus Опытный в 1С

    Регистрация:
    3 апр 2013
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Добрый вечер всем.
    Подскажите, посоветуйте, поделитесь пожалуйста опытом с такой проблемой.
    Есть файл xml, из которого я загружаю в базу справочник номенклатура, среди прочих полей, что есть у товаров, есть ссылки на изображения, которые нужно первую вставить как лицевую картинку, а остальные загнать в файл, там в форме элемента есть этот значок со скрепкой.
    Если можно, посоветуйте, как тут быть пожалуйста, устал уже искать - ни одного нормального примера не нашёл совсем, помогите!
  2. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Запись картинки в базу:
    Код:
    НовыйОбъект = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
    НовыйОбъект.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
    НовыйОбъект.Хранилище = Новый ХранилищеЗначения(Новый Картинка(<Путь к файлу картинки>), Новый СжатиеДанных(9));
    НовыйОбъект.Объект = <Ссылка на элемент справочника Номенклатура, являющегося владельцем изображения>;
    НовыйОбъект.ИмяФайла = <Пофиг, например имя файла без пути>;
    НовыйОбъект.Наименование = <Пофиг, какое нибудь наименование>;
    НовыйОбъект.Записать();
    

    Чтобы изображение установить основным необходимо реквизиту ОсновноеИзображение справочника Номенклатура присвоить ссылку на нужный элемент справочника ХранилищеДополнительнойИнформации.
  3. TopicStarter Overlay
    Aparatus
    Offline

    Aparatus Опытный в 1С

    Регистрация:
    3 апр 2013
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    хорошо, а путь к файлу я могу просто ссылку туда пхнуть?
  4. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    ссылки на изображения - на сайте (http)? - попользоваться объектом HTTPСоединение или через com-объект XMLHTTPRequest

    сами изображения хранятся в справочнике ХранилищеДополнительнойИнформации, процедуры для работы с ним - в модуле ПрисоединенныеФайлы и ПрисоединенныеФайлыКлиент

    половину шурик написал, пока я тормозил :)
  5. TopicStarter Overlay
    Aparatus
    Offline

    Aparatus Опытный в 1С

    Регистрация:
    3 апр 2013
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    а можно небольшой простятский примерчик загрузки файла по http в базу? пожалуйста :) если не трудно конечно
  6. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Код:
     ПараметрыПолучения = Новый Структура;
    ПараметрыПолучения.Вставить("ПутьДляСохранения", ПолучитьИмяВременногоФайла());
    
    Результат = ПолучениеФайловИзИнтернета.СкачатьФайлНаСервере(<Ссылка на файл в интернете>, ПараметрыПолучения);
    Если Результат.Статус Тогда
    
    НовыйОбъект = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
    НовыйОбъект.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
    НовыйОбъект.Хранилище = Новый ХранилищеЗначения(Новый Картинка(Результат.Путь), Новый СжатиеДанных(9));
    НовыйОбъект.Объект = <Ссылка на элемент справочника Номенклатура, являющегося владельцем изображения>;
    НовыйОбъект.ИмяФайла = РаботаСФайлами.ПолучитьИмяФайлаИзПолногоПути(Результат.Путь);
    НовыйОбъект.Наименование = <Пофиг, какое нибудь наименование>;
    НовыйОбъект.Записать();
    
    Попытка
    УдалитьФайлы(Результат.Путь);
    Исключение
    КонецПопытки;
    
    Иначе
    ОбщегоНазначения.СообщитьОбОшибке(Результат.СообщениеОбОшибке);
    КонецЕсли;
    
  7. TopicStarter Overlay
    Aparatus
    Offline

    Aparatus Опытный в 1С

    Регистрация:
    3 апр 2013
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Спасибо! вот ради интереса, запостил тему на мисте и здесь, и естественно - ответили только здесь, а я и не верил, что на мисте только зажравшиеся сидят, у которых в словаре только курить желтую книгу и мат часть, в общем, спасибо на добром слове, задачу выполнил благодаря вам на отлично!
  8. Juricher
    Offline

    Juricher

    Регистрация:
    12 янв 2012
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    А как бы очистить картинку? Что-то не получается ...
  9. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    очистить основную картинку - в реквизит объекта номенклатуры записать
    Код:
    Справочники.ХранилищеДополнительнойИнформации.ПустаяСсылка()
    alexburn нравится это.

Поделиться этой страницей