Обновление формы документа, измененного в другом сеансе

1. shevlad 12.02.24 16:18 Сейчас в теме
Доброго времени суток!

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

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

Мне нужно, чтобы второй вариант был. В чем причина может быть, кто сталкивался? (кэш чистил на клиенте)
По теме из базы знаний
Найденные решения
4. shevlad 12.02.24 17:41 Сейчас в теме
(1) с этой рандомностью не разобрался, для решения дописал документ, сделал перед записью проверку, что версия изменилась, и затем перечитываю объект:

&НаКлиенте
Процедура ОбработатьОтветПеречитатьЗаказ(Ответ, ДопПараметры) Экспорт
	
	Если Ответ = КодВозвратаДиалога.Да Тогда
		ЭтаФорма.Прочитать();
	КонецЕсли;	
	
КонецПроцедуры	

&НаКлиенте
Процедура ПередЗаписьюПеред(Отказ, ПараметрыЗаписи)
	
	Если (НЕ Параметры.Ключ.Пустая())
		И (Объект.ВерсияДанных <> ПолучитьВерсиюСсылки(Объект.Ссылка)) Тогда
		
		Отказ = Истина;
		ПоказатьВопрос(Новый ОписаниеОповещения("ОбработатьОтветПеречитатьЗаказ", ЭтотОбъект), "Заказ был изменен другим пользователем. Перечитать?", РежимДиалогаВопрос.ДаНет, 30);
	КонецЕсли;	
		
КонецПроцедуры
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. shevlad 12.02.24 17:41 Сейчас в теме
(1) с этой рандомностью не разобрался, для решения дописал документ, сделал перед записью проверку, что версия изменилась, и затем перечитываю объект:

&НаКлиенте
Процедура ОбработатьОтветПеречитатьЗаказ(Ответ, ДопПараметры) Экспорт
	
	Если Ответ = КодВозвратаДиалога.Да Тогда
		ЭтаФорма.Прочитать();
	КонецЕсли;	
	
КонецПроцедуры	

&НаКлиенте
Процедура ПередЗаписьюПеред(Отказ, ПараметрыЗаписи)
	
	Если (НЕ Параметры.Ключ.Пустая())
		И (Объект.ВерсияДанных <> ПолучитьВерсиюСсылки(Объект.Ссылка)) Тогда
		
		Отказ = Истина;
		ПоказатьВопрос(Новый ОписаниеОповещения("ОбработатьОтветПеречитатьЗаказ", ЭтотОбъект), "Заказ был изменен другим пользователем. Перечитать?", РежимДиалогаВопрос.ДаНет, 30);
	КонецЕсли;	
		
КонецПроцедуры
Показать
2. Ferth 12.02.24 16:46 Сейчас в теме
Возможно, стоит использовать Оповестить для документа и для формы в Обработке Оповещения перечитывать форму
3. shevlad 12.02.24 17:34 Сейчас в теме
(2) в другой сеанс не оповестит
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот