Имя: Пароль:
1C
1С v8
Загрузка картинки в УФ
0 9451523
 
05.11.19
11:45
Здравствуйте
Пытаюсь сохранить файл картинки в справочнике Товары в реквизите ДанныеФайлаКартинки - тип СправочникСсылка.Файлы ругается на Поле объекта не доступно для записи (ДанныеКартинки) , ДанныеКартинки это реквизит спр Файлы с типом ХранилищеЗначений

Вот Код:


&НаКлиенте
Процедура ЗагрузитьКартинку(Команда)

НачатьПомещениеФайла(Новый ОписаниеОповещения("ЗагрузитьКартинкуЗавершение",
ЭтотОбъект), , , Истина , УникальныйИдентификатор);


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

&НаКлиенте
Процедура ЗагрузитьКартинкуЗавершение(Результат, АдресВХранилище, ВыбранноеИмяФайла,
ДополнительныеПараметры) Экспорт

Если Результат Тогда
Файл = Новый Файл(ВыбранноеИмяФайла);
Объект.ИмяФайла = Файл.Имя;
АдресКартинки = АдресВХранилище;

Модифицированность = Истина;
КонецЕсли;

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

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

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

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

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)

АдресКартинки = ПолучитьНавигационнуюСсылку(ТекущийОбъект.ДанныеФайлаКартинки.Ссылка, "ДанныеКартинки");

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

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

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

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

можно конечно же сохранять в самом спр Товары тогда код отрабатывает как надо, но нужно сохранять картинки в отдельном справочнике. Это возможно?
1 ksenod
 
05.11.19
11:47
Конфигурация?
но нужно сохранять картинки в отдельном справочнике зачем?
2 dka80
 
05.11.19
11:49
Фото = Новый Картинка(Файл.ПолноеИмя);
Хранилище = Новый ХранилищеЗначения(Фото);
3 9451523
 
05.11.19
11:59
Фото = Новый Картинка(Файл.ПолноеИмя);
Хранилище = Новый ХранилищеЗначения(Фото);

куда это приделать? он не даст мне записать в хранилище другого справочника
4 dka80
 
05.11.19
12:07
(3) Запись.Фотография = Хранилище;