|
ПолучитьИзВремХранилища = Неопределено |
☑ |
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) ты был прав, спасибо, заработало
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший