|
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
|
Спасибо, работает!!! Странно, мне кажется что я раньше выходил на функцию ЭтаФорма.Прочитать(); ни чего не получалось. Или мне это только кажется :)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |