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