Вход | Регистрация

1С:Предприятие ::

Метки: 

Как корректно прикрепить картинку к элементу справочника "Номенклатура"

Я
   Polo11
 
29.10.17 - 18:23
Прошу помочь сведущих, все интернеты с гугляндексами перерыл, и даже на этом суперфоруме нашёл множество примеров кода, но результата никак не могу добиться.
УПП 1.3
МойТовар = Справочники.Номенклатура.НайтиПоКоду("1765");
ПутьКОсновномуФото = "D:\Img\000011.jpg";    
МояКартинка = Новый Картинка(ПутьКОсновномуФото);
ХранилищеКартинки = Новый ХранилищеЗначения(МояКартинка);
ОсновнаяФотка = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
ОсновнаяФотка.Объект = МойТовар.Ссылка;
ОсновнаяФотка.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
ОсновнаяФотка.Наименование = "Описалово1765 ";
ОсновнаяФотка.Хранилище = ХранилищеКартинки.Получить();
ОсновнаяФотка.Записать();

В результате на вкладке "Изображения" товара есть строка об этом изображении, его наименование "Описалово1765", но нет самой картинки!

Что я делаю не так?
 
  Рекламное место пустует
   МимохожийОднако
 
1 - 29.10.17 - 18:34
Посмотри как сделано в справочнике Номенклатура в типовой конфигурации.
   Polo11
 
2 - 29.10.17 - 18:49
О чудо, стоило мне завести тему на форуме, как сразу всё получилось "само"!
Вопрос закрыт.
Подозреваю, что не я первый и последний мучился с этим, так что на будущее, может кому пригодится рабочий код:

Процедура ПрисвоитьФото(Товар, ПутьККартинке, Основная)
    ФотоТовара = Новый Картинка(ПутьККартинке);
    ХранилищеКартинки = Новый ХранилищеЗначения(ФотоТовара);
    Фотка = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
    Фотка.Объект = Товар.Ссылка;
    Фотка.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
    Фотка.Наименование = Товар.Наименование;
    Фотка.Хранилище = ХранилищеКартинки;
    Фотка.Записать();
    Если Основная Тогда
        Сообщить("Прикрепляем основную картинку");
        ТоварОбъект = Товар.ПолучитьОбъект();
        ТоварОбъект.ОсновноеИзображение = Фотка.Ссылка;
        ТоварОбъект.Записать();
    КонецЕсли;
КонецПроцедуры

Процедура ПрисвоитьОсновноеФото(Товар)
    Товар = Справочники.Номенклатура.НайтиПоКоду("1762");
    ПутьККартинке = "D:\Img\000010.jpg";    
    ПрисвоитьФото(Товар, ПутьККартинке, ИСТИНА);
КонецПроцедуры

Процедура ПрисвоитьДопФото(Товар)
    Товар = Справочники.Номенклатура.НайтиПоКоду("1762");
    Для Сч = 1 По 4 Цикл
        Сообщить("Прикрепляем дополнительную картинку № " + Сч);
        ПутьККартинке = "D:\Img\00001" + Строка(Сч) + ".jpg";
        ПрисвоитьФото(Товар, ПутьККартинке, ЛОЖЬ);
    КонецЦикла;
КонецПроцедуры


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует