Имя: Пароль:
1C
1С v8
Обновление формы документа, измененного в другом сеансе
0 Kol Pecivanovich
 
12.02.24
16:19
Доброго времени суток!

Проблема проявляется на КА 2.5, платформа 8.3.23.1865.

В одном сеансе обработкой меняется документ, в другом сеансе в это время открыта форма этого документа. Когда в первом сеансе документ записан, то во втором пытаюсь документ в форме перепровести. И при этом выходит то ошибка "Возникла непредвиденная ситуация", то окошко с кнопкой "Перечитать".

Мне нужно, чтобы второй вариант был. В чем причина может быть, кто сталкивался? (кэш чистил на клиенте)
1 PR
 
12.02.24
16:21
Кто первым записал, тот и молодец, все верно
2 Kol Pecivanovich
 
12.02.24
16:26
(1) да это понятно, вопрос в том, почему то ошибка версий выходит, то окошко с кнопкой "Перечитать"?
3 PR
 
12.02.24
16:27
(2) Смотри отладчик
4 AlexeyKh
 
12.02.24
16:35
при открытии формы - блокируйте объект документа,
и в другом сеансе проверяйте блокировку документа,
если она установлена сообщите что:
Документ уже открыт пользователем: Иванов И.И.
5 Kol Pecivanovich
 
12.02.24
16:43
(4) блокировку ставлю, но транзакция успешно завершается, блокировка снимается, после этого в другом сеансе пытаюсь перепровести документ, и выходит ошибка. При этом я могу нажать "Перечитать" в меню "Еще", и документ обновится. Но обычно выскакивает окошко с сообщением типа "документ изменен" и кнопкой "Перечитать" - пытаюсь разобраться, почему вместо этого окошка выходит ошибка (но не всегда, не понятна зависимость)
6 AlexeyKh
 
12.02.24
16:58
вот почему разная реакция возникает...
вот это хз, да и смысла искать нет.

вот вам еще способ как это обойти, уже там где возникает ошибка
ПередЗаписью проверьте реквизит ВерсияДанных

Если Объект.ВерсияДанных <> Объект.Ссылка.ВерсияДанных Тогда
//объект был изменен, сообщить об этом и перечитать
7 Kol Pecivanovich
 
12.02.24
16:56
(6) спасибо за идею! Так и сделаю
8 mikecool
 
12.02.24
17:43
(5) какую блокировку вишь? транзакционную?
9 Волшебник
 
12.02.24
18:55
объектные и транзакционные блокировки не пересекаются