Имя: Пароль:
1C
1С v8
Использование хранилища значение
0 seraf
 
10.04.12
22:56
Приветствую, вот замучала тема

Есть Справочник с реквизитом ХЗ, туда вставляю файл, пробую так

&НаКлиенте
Процедура СозданиеФайла(ПолноеИмяФайла)

   Файл = Новый Файл(ПолноеИмяФайла);
   АдресВременногоХранилища = "";

   ПомещаемыеФайлы = Новый Массив;
   Описание = Новый ОписаниеПередаваемогоФайла(Файл.ПолноеИмя, "");
   ПомещаемыеФайлы.Добавить(Описание);
   
   ПомещенныеФайлы = Новый Массив;

       Если Не ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы, , Ложь, ФормаВладелец.УникальныйИдентификатор) Тогда
       ВызватьИсключение
           Предупреждение("Ошибка при помещении файла в хранилище");
   КонецЕсли;
   
   Если ПомещенныеФайлы.Количество() = 1 Тогда
       АдресВременногоХранилища = ПомещенныеФайлы[0].Хранение;
   КонецЕсли;

   Элемент = СоздатьФайл(АдресВременногоХранилища);

   УдалитьИзВременногоХранилища(АдресВременногоХранилища);


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

&НаСервере
Функция СоздатьФайл(АдресВременногоХранилища)

   Файл = Справочники.Файлы.СоздатьЭлемент();
   Файл.ХранимыйФайл = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
   Файл.Записать();

   Возврат Файл.Ссылка;
   
КонецФункции

элемент пишется, реквизит нет, файл попадает в тем 1ски и после выхода удаляется
что не так, подскажите?
1 YF
 
10.04.12
22:58
Ниче не понял, где все это вызывается ...
2 andrewks
 
10.04.12
22:59
а зачем так сложно-то? и непонятно
3 seraf
 
10.04.12
23:04
ну может можно упростить, все равно есть файл, на клиенте он помещен во временное хранилище, потом реквизиту ХЗ передается на сервере где и должен в него попасть
4 seraf
 
10.04.12
23:04
подкинете свой простой пример буду признателен)
5 andrewks
 
10.04.12
23:09
ну, например, так:
на клиенте:

АдресХран="";
ПоместитьФайл(АдресХран,ИмяФайла,,Ложь,ЭтаФорма.УникальныйИдентификатор);

на сервере (куда передали АдресХран)

Если ЭтоАдресВременногоХранилища(НашРеквизит) Тогда
       ХЗ=Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Картинка));
       ТекущийОбъект.НашРеквизит=ХЗ;
   КонецЕсли;
6 andrewks
 
10.04.12
23:09
* ПолучитьИзВременногоХранилища(АдресХран)
7 seraf
 
10.04.12
23:13
а ну вот я об этом и спрашивал, не сделал
ХЗ=Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища
сразу присваивал
спасибо
8 seraf
 
10.04.12
23:15
(6) теперь все зашибись, еще раз пасиб)