Имя: Пароль:
1C
 
8.2 Управляемая форма. Данные были изменены или удалены другим пользователем
0 sprinter83
 
03.05.11
17:09
Добрый день. В конфигурации есть два документа "Заказ" и "Оплата заказа". В документе "Заказ" есть реквизит "СтатусЗаказа". Статус заказа вычисляется (устанавливается) в модуле объекта "Заказы". При этом при проведении оплаты в документе "Оплата заказа" статус документа "Заказ" может меняться. В общем-то проблема в том, что если открыта форма документа "Заказ" и при этом Проводим связанный с ним документ "Оплата заказа". То в форме "Заказа" статус документа автоматически не меняется. А при попытке записать "Заказ" выходит ошибка "Данные были изменены или удалены другим пользователем". Подскажите пожалуйста каким образом можно решить данную проблему. Заранее благодарен.
1 sprinter83
 
03.05.11
17:13
Проще говоря смысл такой. При записи документа "Оплата заказа" перезаписывается документ "Заказ" - при этом в модуле объекта "Заказ" меняется статус заказа, и получаются расхождения между формой и объектом, а обновить данные формы не получается.
2 Axel2009
 
03.05.11
17:15
(1) а как пробовал обновить данные формы?
3 sprinter83
 
03.05.11
17:15
"Не получается" - в смысле не знаю как это сдалать. В обработке оповещения пишу так

ОбъектБазы = ДанныеФормыВЗначение(Объект, Тип("ДокументОбъект.Заказы"));
ЗначениеВДанныеФормы(ОбъектБазы, Объект);
Выходит такая ошибка

{Документ.Заказы.Форма.ФормаДокумента.Форма(1649)}: Ошибка при вызове метода контекста (ДанныеФормыВЗначение)
   ОбъектБазы = ДанныеФормыВЗначение(Объект, Тип("ДокументОбъект.Заказы"));
по причине:
Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!
4 Axel2009
 
03.05.11
17:18
УправляемаяФорма (ManagedForm)
ОбновитьОтображениеДанных (RefreshDataRepresentation)
Синтаксис:

ОбновитьОтображениеДанных()
Описание:

В принудительном порядке обновляет содержание элементов управления.
Полезен при изменении значений реквизитов формы вне формы, в тот момент, когда форма отображается на экране.
?
5 sprinter83
 
03.05.11
17:22
Пробовал. Не прокатывает. Ни чего не меняется. И также при попытке записать ошибка "Данные были изменены или удалены другим пользователем"
6 Axel2009
 
03.05.11
17:22
(5) а что обновлял?
7 sprinter83
 
03.05.11
17:25
открытую форму "заказа"
8 sprinter83
 
03.05.11
17:26
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
   
   Если ИмяСобытия = "ИзменилсяСтатус" Тогда
       ОбновитьОтображениеДанных();
   КонецЕсли;
   
КонецПроцедуры
9 Axel2009
 
03.05.11
17:28
а если кнопку забацать в заказе "обновитьотображениеданных" они будут обновляться?
10 sprinter83
 
03.05.11
17:33
Нет не работает. Хотя точку останова ставил, Функция выполняется. А что она там выполняет не ясно, ни чего ни меняется.
11 Axel2009
 
03.05.11
17:48
(10) мм хз почему не работает. может он работает тока на списки. для формы работает ЭтаФорма.Прочитать();
12 sprinter83
 
03.05.11
18:04
Спасибо, работает!!! Странно, мне кажется что я раньше выходил на функцию ЭтаФорма.Прочитать(); ни чего не получалось. Или мне это только кажется :)