Имя: Пароль:
1C
1С v8
УФ вызов метода объекта в форме
,
0 SZA
 
22.01.14
01:59
Захотелось мне удобного.. прошвырнуться их формы к экпортному методу объекта ПодготовкаКПроведению() В ПередЗаписьюНаСервере(). В этом методе изменяются некоторые реквизиты объекта.

Вот так НЕ Работает (выполняется, ошибок нет, но изменения в объекте формы уже не отражаются)
    
ДокументОбъект = РеквизитФормыВЗначение("Объект");
ДокументОбъект.ПодготовкаКПроведению(Отказ);
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект");
    

А ВОТ ТАК - Работает:
    
ДокументОбъект = РеквизитФормыВЗначение("Объект");
ДокументОбъект.ПодготовкаКПроведению(Отказ);
ЗначениеВРеквизитФормы(ДокументОбъект.Ссылка.ПолучитьОбъект(), "Объект");
    
метод выполнился, реквизиты прекрасно поменялись, форма его назад приняла

Платформа 8,3,4,389
Что скажете?
1 IamAlexy
 
22.01.14
02:43
ты почему не на баррикадах?
2 aka MIK
 
22.01.14
02:51
(0)

1) Форма не обновилась
2) Форма обновилась
3 Dethmont
 
22.01.14
02:53
А так?
ДокументОбъект = РеквизитФормыВЗначение("Объект");
ДокументОбъект.ПодготовкаКПроведению(Отказ);
ДокументОбъект.Прочитать();
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект");
4 aka MIK
 
22.01.14
02:57
Короче форма и объект это совершенно разные пацаны. Форма считала объект, кешанула его, ты на сервере поменял, почему форма должна напрягаться и перекачивать с китайского анонимного прокси объект если ты ей не дашь цу на это?
5 Dethmont
 
22.01.14
02:59
(4) Согласен.
Но вопрос у ТС походу:
"Почему так работает?"
ЗначениеВРеквизитФормы(ДокументОбъект.Ссылка.ПолучитьОбъект(), "Объект");
6 SZA
 
22.01.14
03:25
я все понял
последние изменения над Объект можно производить только при вызове из ПередЗаписью() на Клиенте. В момент передзаписьюНаСервере() объект уже модификации не подлезит.

Потом уже только сравбатывает ПередЗаписью() модуля объекта.

то есть другими словами в передзаписьюНаСервере() можно только на отказ проверять -  изменения уже недоступны
7 Dethmont
 
22.01.14
03:31
(6) "изменения уже недоступны" доступны, только форму нужно будет перечитывать из БД
8 SZA
 
22.01.14
03:41
(7) хе. ..но только если объект существовал. Для нового объекта недоступны в любом случае