helpf.pro
Регистрация

v8: Проблема с сохранением картинки (начинающий программист)

XmeJIb
05.10.2011 11:38Прочитано: 9067
Добрый день.

Выскакивает ошибка при попытке сохранения картинки на диск. Ошибка такого характера -

{Справочник.Товары.Форма.ФормаЭлемента.Форма(63)}: Ошибка при вызове метода контекста (ПолучитьФайл)
ПолучитьФайл (СсылкаНаФайлВИБ, Объект.ИмяФайлаКартинки);
по причине:
Ошибка при выполнении файловой операции '/e1cib/data/Справочник.Товары.ФайлКартинки?ref="a25100115b79455911e0ee7de52ab47e"'

Вот мой код -

Код 1C v 8.х
 
&НаКлиенте
Процедура ЗагрузитьСДиска(Команда)

АдресВХранилище = "";
ВыбранноеИмяфайла = "";

Если ПоместитьФайл(АдресВХранилище, , ВыбранноеИмяФайла, , УникальныйИдентификатор) Тогда
Файл = Новый Файл(ВыбранноеИмяФайла);
ИмяФайлаКартинки = Файл.Имя;
СсылкаНаКартинку = АдресВХранилище;

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

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

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


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

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

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


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

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

&НаСервере
Процедура ПриСозданииНаСервере (Отказ, СтандартнаяОбработка)

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


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

&НаКлиенте
Процедура СохранитьНаДиск(Команда)

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

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



Код написан по книжке,поэтому не могу понять,что я делаю не так. Помоги пожалуйста.
Yandex
Возможно, вас также заинтересует
Реклама на портале
XmeJIb
05.10.2011 11:40Ответ № 1
Реквизиты -

ФайлКартинки, тип ХранилищеЗначения
ИмяФайлаКартинки, тип строка.

может в этом просто косяк=)

Реквизиты формы -

ИмяФайлаКартинки, СсылкаНаКартинку, тип строка
E_Migachev
05.10.2011 13:07Ответ № 2
не может получить картинку, покажи чему равно СсылкаНаФайлВИБ и Объект.ИмяФайлаКартинки в момент ошибки?
XmeJIb
05.10.2011 13:14Ответ № 3
С точками останова у меня проблемы =(

Он загружает картинку, но не сохраняет её,даже если записываешь. Поэтому и вторая кнопка СохранитьНаДиск не работает. почему он может не записывать?
E_Migachev
05.10.2011 13:20Ответ № 4
не понятно? - либо он не может ее прочитать, либо он не может ее сохранить? путь сохранения доступен?
XmeJIb
05.10.2011 13:31Ответ № 5
У меня должен быть реквизит создан для записи? по идее он должен записывать в реквизит ФайлКартинки, он соответственно доступен.
XmeJIb
05.10.2011 15:21Ответ № 6
Вот значения переменных в конце цикла:

СсылкаНаФайлВИБ - "e1cib/data/Справочник.Товары.ФайлКартинки?ref="a25200115b79455911e0ef40b5171890""

Объект.ИмяФайлаКартинки - "Водяные лилии"
XmeJIb
06.10.2011 13:00Ответ № 7
Подскажите плз! =)
XmeJIb
07.10.2011 11:15Ответ № 8
Понял,в чем проблема. В свойствах формы не были описаны события "ПриЗаписиНаСервере" и "ПередЗаписьюНаСервере". Может кто еще встретиться с такой ошибкой. спасибо.
Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.