Короче, трабл:
Есть документ Заявка, в нем есть реквизит Договор.
При записи Заявки некоторые реквизиты Договора синхронизируются с текущими значениями элементов формы документа (т.е. значения физически хранятся в договоре, а управление ими идет через форму документа).
оДоговоры = СоздатьОбъект("ТСправочник.Договоры");
оДоговоры.ПолучитьОбъект(Договор);
оДоговоры.ОбновитьДанныеДоговораПоЗаявке(Контекст);
Далее Контекст документа сразу передается еще в пару мест, и там через Договор идет обращение к этим реквизитам.
Трабл в том, что обращаясь через Конт.Договор.Реквизит - 1Ска использует значение из кэша (причем, какого-то хитрого кэша, привязанного к документу).
Конкретно в каждом месте, конечно, можно разрулить вот так:
_Договор = Конт.Договор.ТекущийЭлемент();Но в идеале бы заставить 1Ску обновить данные в кэше (например, такое обновление происходит при перевыборе Договора в форме).
варианты в духе
_Договор = Договор.ТекущийЭлемент();
Договор = _Договор;
Сообщить("" + Договор.Реквизит);
Сообщить("" + Договор.ТекущийЭлемент().Реквизит);
Сообщить("" + Договор.Реквизит + " / " + Договор.ТекущийЭлемент().Реквизит);
не проканывают (т.е. даже в самом контексте документа Договор упорно берется из кэша)
Есть идеи, как это побороть?