Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вставка картинки в реквизит табличной части справочника с типом хранилищезначения
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
ktu78
Добрый день, коллеги
Есть табличная часть справочника ПрикрепленныеФайлы
Вот код вставки картинки с файла в ХранилищеЗначений табличной части с помощью команды ВыбратьФайлКартинки :

&НаКлиенте
Процедура ВыбратьФайлКартинки(Команда)
//Создаем оповещение,   именно  процедура  "ОбработатьВыборФайла"  будет вызвана при закрытии окна выбора файла

Оповещение  =  Новый ОписаниеОповещения("ОбработатьВыборФайла",   ЭтаФорма);
//Открываем интерактивно  окно для выбора файла

НачатьПомещениеФайла(Оповещение,   ,   ,   Истина,   УникальныйИдентификатор);
КонецПроцедуры

&НаКлиенте
Процедура ОбработатьВыборФайла(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт
Если Не Результат Тогда
Возврат;
КонецЕсли;
СсылкаНаКартинку = Адрес;

        //запись в табличную часть

        //ИмяФайла = ВыбранноеИмяФайла.ПолучитьОбъект();

        //Элементы.ПрикрепленныеФайлы.ДобавитьСтроку();

        Строка=Элементы.ПрикрепленныеФайлы.ТекущиеДанные;
        
                ДобавитьФайлТЧ(ВыбранноеИмяФайла);
       Элементы.ПрикрепленныеФайлы.ЗакончитьРедактированиеСтроки(Ложь);

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

//запись картинки в ХЗ



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

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


Только не работает, выдает "Поле объекта (СодержимоеФайла) не обнаружено", хотя в табличной части есть такой реквизит!!
Помогите пожалуйста, заранее большое спасибо!


 ! 

Правила, 12: выделяйте код!
 
kapriz0n
С картинками(файлами) в табличной части, рациональней хранить ссылки на справочник с файлами, где каждый объект справочника имеет реквезит ХранилищеЗначения. Так в случае когда вы открываете ваш документ он не будет тормозить, если у вас например не одна сотня файлов внутри на каждый объект, т к будут только ссылки.

Однако если все равно это нужно сделать то тут идет работа через

ДокументОбъект = РеквизитФормыВЗначение("Объект");
    //Ваш код
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект");
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.