Имя: Пароль:
1C
 
Как вставить картинку в ХранилищеЗначений
0 alpha78
 
17.09.15
13:44
Добрый день, коллеги.
Подскажите пожалуйста.
У меня есть справочник Номенклатура, управляемая форма - форма элемента.
Задача в чем - нужно открыть файл картинки с изображением товара и вставить в табличную часть справочника, в поле СодержимоеФайла, имеющее тип "ХранилищеЗначений".
Этот тип не отображается на форме. В конструкторе формы выдает "Недоступен в данной форме"

Я создал команду на форме, а те в табличной части и написал код:

&НаКлиенте
Процедура ОткрытьФайл(Команда)
    
    // открываем файл картинки для каждой строки
    Режим = РежимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
    ДиалогОткрытияФайла.ПолноеИмяФайла = "";
    Текст = "ru = ""Фото товара""";
    Фильтр = НСтр(Текст)+"(*.jpg)|*.jpg*";

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

КонецПроцедуры


&НаСервере
Процедура ДобавьКартинку(ОткрытыйФайл)
    Картинка = РеквизитФормыВЗначение("СодержимоеФайла");
    Объект.Картинка =  Новый ХранилищеЗначения(ОткрытыйФайл);
    ЗначениеВРеквизитФормы(Картинка, "СодержимоеФайла");
КонецПроцедуры

Подскажите, как записать открытую картинку в реквизит табличной части "СодержимоеФайла". Заранее благодарен. Удачи Вам в Вашем деле!
5 aka AMIGO
 
модератор
17.09.15
14:18
Оффтоп прекращайте.
6 alpha78
 
17.09.15
14:53
Виноват извиняюсь перед всеми
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс