Имя: Пароль:
1C
1С v8
Блокировка объекта при работе с ним
0 ТДК
 
01.07.26
17:33
В БД присутствует ряд объектов требующих изоляции от изменения в других сеансах.
В процедуре прописал
ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
 ЗаблокироватьДанныеДляРедактирования(Объект.Ссылка, , ЭтаФорма.УникальныйИдентификатор)


В целом это решило проблему. Однако, ряд случаев портящих жизнь остался.  При выключении электричества, перезагрузки компьютера, принудительного завершения программы с открытым окном, сеанс пользователя в консоли администрирования висит и объект остается заблокированным.
Самостоятельно он не всегда разблокируется, приходится подключаться и выкидывать из консоли.
Существует ли красивое, программное и простое решение для такой задачи? В 7.7 блокировка формы/объекта была сразу пессимистичной и подобных кейсов не возникало.

Платформа 1С:Предприятие 8.3 (8.3.27.1606)
1 Волшебник
 
01.07.26
17:31
>> Существует ли красивое и простое решение для такой задачи?

Не делать это:
выключении электричества, перезагрузки компьютера, принудительного завершения программы
2 Garykom
 
гуру
01.07.26
18:05
(0) РегЗадание напиши свое
Которое будет стартовать после "выключении электричества, перезагрузки компьютера, принудительного завершения программы с открытым окном"
3 ТДК
 
01.07.26
18:06
(2) Мысль интересная, а как рег.задание узнает, что сеанс в консоли зависший?
4 X Leshiy
 
01.07.26
18:18
Администрирование - Параметры информационной базы - Прочие - Время завершения спящего сенаса (в секундах).

По умолчанию там сутки, поставь меньше.
5 Garykom
 
гуру
01.07.26
18:35
(3) Пофиг на зависший сеанс
Используй свой перечень объектов с датами захвата - если прошло слишком много времени - разблокируй
Ну типа нехрен захватывать объекты более чем на 2 часа
6 ДенисСмирнов
 
01.07.26
19:22
можно ставить номер сеанса/логин рядом с признаком блокировки. если сеанса нет, то блокировку снимать. ну и плюс таймауты - захватывать объекты на два часа действительно нефиг.
7 timurhv
 
01.07.26
20:04
(6) Поддерживаю, не забыть повесить это на рег.отчетность. Пускай главбух ночью в последний день сдачи радуется)
2 + 2 = 3.9999999999999999999999999999999...