Имя: Пароль:
1C
1С v8
управляемые формы, почему код не работает?
0 vladnet
 
25.10.11
10:01
Хочу записать в хранилище картинку, почему то не пишет. Естественно сервер.

лОбъект=РеквизитФормыВЗначение("Объект");
лОбъект.Хранилище = Новый ХранилищеЗначения(ТекущаяДата(), лКартинка);
ЗначениеВРеквизитФормы(лОбъект, "Объект");
1 vladnet
 
25.10.11
10:01
Извиняюсь код такой:

лОбъект=РеквизитФормыВЗначение("Объект");
лОбъект.Хранилище = Новый ХранилищеЗначения(лКартинка);
ЗначениеВРеквизитФормы(лОбъект, "Объект");
2 vladnet
 
25.10.11
10:02
картинку не записывает ((
3 Cube
 
25.10.11
10:11
Попробуй что-то вроде этого:

&НаКлиенте
Процедура ЗагрузитьМакет(Команда)
   
   АдресВоВременномХранилище = "";
   ВыбранноеИмяФайла = "";
   Если ПоместитьФайл(АдресВоВременномХранилище, , ВыбранноеИмяФайла, Истина) Тогда
       ЗарегистрироватьМакет(АдресВоВременномХранилище);
   Иначе
       Возврат;
   КонецЕсли;
   
КонецПроцедуры //ЗагрузитьМакет()

&НаСервере
Процедура ЗарегистрироватьМакет(АдресВоВременномХранилище)
   
   Объект.ХранилищеМакета = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(АдресВоВременномХранилище), Новый СжатиеДанных(9));
   
КонецПроцедуры //ЗарегистрироватьМакет()
4 vladnet
 
25.10.11
10:15
(3) Хранилище не доступно в данных формы, а Объект вроде как раз и есть данные формы, или у тебя не так?
5 Defender aka LINN
 
25.10.11
10:15
(0) Еще один... Перед записью на сервере.
6 5 Элемент
 
25.10.11
10:18
Обрати внимание на флаг "использовать всегда" у реквизита формы.
Если у реквизита он сброшен то устанавливать его значение имеет смысл только при записи.
http://screencast.com/t/diR8PLWn
7 vladnet
 
25.10.11
10:24
(5) а где хранить до этого? у меня так то реквизит в табличной части, ты бы как сделал?
это кстати вчера я и был (
(6) да флаг для хранилища сброшен, вопрос как делать остался
8 Defender aka LINN
 
25.10.11
10:26
(7) То-то я смотрю, код знакомый... Ну, где-то хранить придется, факт. Можно во временном хранилище, например.
Хранилище значения можно только у объекта установить, а не у данных формы. Единственное место, где у тебя есть такой объект - перед записью на сервере.
9 vladnet
 
25.10.11
10:30
(8) спасибо, да если бы это был реквизит то понятно как делать, а то табличная часть, придется видимо тз на форме хранить, и в ней уже данные хранить и синхронизировать, гемор какой то ((