Имя: Пароль:
1C
1С v8
ПолучитьИзВремХранилища = Неопределено
,
0 Команданте
 
10.10.12
20:17
Ума не приложу
В параметрах формы есть адрес значения во врем. хранилище
Я его присваиваю реквизиту формы
При создании на сервере ПолучитьИзВремХранилища возвращает ОК
Если я пытаюсь получить значение из хранилища при открытии формы (с клиента вызывают сервер и читаю), то Неопределено
Адреса одинаковые...
1 alexei366
 
10.10.12
20:22
Как ты изначально, и где закидываешь параметр во врем хран.
2 ДенисЧ
 
10.10.12
20:24
Если внимательно прочитать про ВХ в СП, то там есть лёкое упоминание про серверый вызов...
3 Команданте
 
10.10.12
20:25
Обработка
=========

&НаКлиенте
Процедура УпрФормойОтправитьВЗаказ(Команда)
   
   ОткрытьФорму("Документ.ЗаказПокупателя.Форма.ФормаДокумента", ПолучитьПараметрыДляСтекаЗаказ(), ЭтаФорма, УникальныйИдентификатор);    
   
КонецПроцедуры

Документ
=========

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
   Стек = Параметры.Стек;
       // здесь я ещё могу получить из врем. хранилища, обращаясь к реквизиту формы Стек
   
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   
   Если ТипЗнч(Стек) = Тип("Структура") И Стек.ИмяОтправителя = "АРМПродажи" Тогда
       АРМПродажиПриИзмененииСервер();
   КонецЕсли;
   
КонецПроцедуры

&НаСервере
Процедура АРМПродажиПриИзмененииСервер()
   
   ЗаполнитьЗначенияСвойств(ЭтаФорма, Стек);    
   ЗаполнитьЗначенияСвойств(Объект, Стек);
   Объект.КурсыВалют.Загрузить(ПолучитьИзВременногоХранилища(Стек.АдресКурсыВалют));
   Объект.Товары.Загрузить(ПолучитьИзВременногоХранилища(Стек.АдресТовары));
   ПересчетСервер();
   
КонецПроцедуры
4 alexei366
 
10.10.12
20:26
ДенисЧ дело говорит, почитай ПоместитьВоВременноеХранилище в СП,я думаю сразу втыкнешь почему значение очищается по этому адресу
5 alexei366
 
10.10.12
20:28
А где ты во врем хранилище кидаешь параметр покажи
6 Команданте
 
10.10.12
20:28
меня убивает то, что помещается на сервере (ПолучитьПараметрыДляСтекаЗаказ), потом отправляется на клиент (УпрФормойОтправитьВЗаказ), потом снова на сервер (ПриСозданииНаСервере) и здесь данные ещё доступны, а когда опять на клиент (ПриОткрытии) и опять на сервер (АРМПродажиПриИзменииСервер), то извините, пожалуйста
7 Команданте
 
10.10.12
20:29
&НаСервере
Функция ПолучитьПараметрыДляСтекаЗаказ()
   
   Стек = Новый Структура();
   Стек.Вставить("ИмяОтправителя", ИмяОбъекта);
   Стек.Вставить("АктДата", АктДата);
   Стек.Вставить("Дата", Объект.Дата);
   Стек.Вставить("Валюта", Объект.Валюта);
   Стек.Вставить("Курс", Объект.Курс);
   Стек.Вставить("АдресТовары", ПоместитьВоВременноеХранилище(Объект.Товары.Выгрузить()));
   Стек.Вставить("АдресКурсыВалют", ПоместитьВоВременноеХранилище(Объект.КурсыВалют.Выгрузить()));
   
   ПараметрыФормы = Новый Структура();
   ПараметрыФормы.Вставить("Стек", Стек);
   
   Возврат ПараметрыФормы;    
   
КонецФункции
8 Команданте
 
10.10.12
20:34
(2) ты был прав, спасибо, заработало
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший