1С:Предприятие 8.3 (8.3.10.2667)
Толстый Клиент
Обычное приложение
Доброго времени суток.
Есть таблица: ДокументСостояние
В этой таблице одна запись (один документ)
В этом документе есть поля:
Состояние = "1"
ВерсияДанных = "AAAAAABc4OoM"
Есть РегламентноеЗадание: РЗ_ИзменитьСостояние (запускается один раз в период времени)
Это реглмантное задание изменяет значение поля "Состояние"
Ситуация следующая.
РЗ_ИзменитьСостояние - запустилось и изменило значение полей
Состояние = "2"
ВерсияДанных = "AAAAAABc4OoP"
Далее пользователь делает двойной клик на записи
и происходит переход из ФормыСписка в ФормуДокумента
В ФормеДокумента выполняется
Процедура ПриОткрытии()
...
Если Не Ссылка.Пустая() Тогда
ЭтотОбъект.Заблокировать();
КонецЕсли;
КонецПроцедуры
Проблема в том, что блокируется запись у которой
ВерсияДанных = "AAAAAABc4OoM"
а на самом деле
ВерсияДанных = "AAAAAABc4OoP"
т.е. программа пытается заблокировать запись с несуществующей ВерсиейДанных
ош: Ошибка при вызове метода контекста (Заблокировать)
ЭтотОбъект.Заблокировать();
по причине:
Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных
(возможно, запись была изменена или удалена)!
Всё правильно.
Вопрс: "Как можно решить эту проблему?"