Имя: Пароль:
1C
 
Добавление картинки. WEB клиент
0 Zixxx
 
30.04.19
14:25
Необходимо чтобы web пользователь выбирал картинки, которые будут сохраняться в табличную часть.
Но после добавления не получается получить картинку
По началу хранилище картинки равно двоичным данным, а вот после того как происходит ЗначениеВРеквизитФормы оно становится= Неопределенно

Как правильно сделать?

[CODE]&НаКлиенте
Процедура ВыбратьКартинку(Команда)
    
    ОписаниеОповещения = Новый ОписаниеОповещения("ОбработатьВыборФайла", ЭтаФорма);
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
        
    НачатьПомещениеФайлов(ОписаниеОповещения, , ДиалогОткрытияФайла, Истина, УникальныйИдентификатор);

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

&НаКлиенте
Процедура ОбработатьВыборФайла(ПомещенныеФайлы, ДополнительныеПараметры) Экспорт

    Если ПомещенныеФайлы = Неопределено Тогда
        Возврат;
    КонецЕсли;

    Для каждого ПереданныйФайл Из ПомещенныеФайлы Цикл
        ДобавитьСтрокуНаСервере(ПереданныйФайл);
    КонецЦикла;
    
КонецПроцедуры

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

&НаКлиенте
Процедура ВебКартинкиПриАктивизацииСтроки(Элемент)
    Адрес = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ВебКартинки.Хранилище", Элементы.ВебКартинки.ТекущаяСтрока);
    СсылкаНаКартинку = Адрес;
КонецПроцедуры[/CODE]
1 runoff_runoff
 
30.04.19
14:30
Объект.ВебКартинки.Добавить()
без "превращения" данных формы в объект номенклатуры и обратно
2 Zixxx
 
30.04.19
14:34
(1) Но там не будет реквизита хранилища у табличной части
3 ptiz
 
30.04.19
14:49
(0) Задачу наверняка можно решить, но делать ХранилищеЗначение в ТЧ Номенклатуры - изначально ошибочно. Справочник умрет. Делай отдельный справочник ПрикрепленныеФайлы, сами ДвоичныеДанные - в РС с измеренеием "ПрикрепленныйФайл". А уже в ТЧ Номенклатуры - ссылку на справочник ПрикрепленныеФайлы.
4 runoff_runoff
 
30.04.19
14:55
(3) +1 канонически
5 ptiz
 
30.04.19
15:11
(2) а если "в лоб", то делать НоменклатураОбъект.Записать() после НоваяСтрока.Хранилище    = Хранилище;
...но будут нюансы с модифицированностью
6 runoff_runoff
 
01.05.19
01:33
добавляете "красную" колонку Адрес в данные формы Объект.ВебКартинки
туда сваливаете адреса картинок
а в процедуре ПередЗаписьюНаСервере записываете картинки из адресов в хранилища, у вас там как раз доступны и Объект (данные формы), и ТекущийОбъект (справочник объект)
AdBlock убивает бесплатный контент. 1Сергей