Как заблокировать данные до начала проведения

1. cdiamond 233 09.06.22 13:55 Сейчас в теме
Подскажите знатоки, реализуема ли такая задача в принципе:
- Стоит почти классическая задача проверки остатков регистра (на типовой конфигурации Бух 3.0), но в случае отсутствия остатка нужно не Отказ=Истина, а изменить реквизит документа и проводить в минус.
Понятно что в первом приближении можно реализовать проверку остатка в событии ПередЗаписью и вносить изменения в реквизит, но такое решение имеет недостаток при многопользовательском режиме, т.к. мне неясно как заблокировать регистры так чтоб не мешало типовой обработке проведения и снялось только по завершении типовой обработки проведения, т.е. проверка остатка, запись изменений реквизитов и запись движений должны быть в одной транзакции.
По теме из базы знаний
Найденные решения
2. spacecraft 09.06.22 14:05 Сейчас в теме
(1) обработчик ПередЗаписью модуля объекта выполняется уже в транзакции и до записи объекта.
cdiamond; user1278383; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 09.06.22 14:05 Сейчас в теме
(1) обработчик ПередЗаписью модуля объекта выполняется уже в транзакции и до записи объекта.
cdiamond; user1278383; +2 Ответить
3. cdiamond 233 09.06.22 14:07 Сейчас в теме
(2) т.е. созданная в ПередЗаписью() БлокировкаДанных доживет до конца обработки проведения, я правильно понял?
4. soft_wind 09.06.22 14:14 Сейчас в теме
(3) Да, если процедуре ПередЗаписью сделать Отказ = Истина - все откатится!
попробуйте свои хотелки перенести в Фоновые задания, их можно сделать несколько, каждую в своей транзакции и со своими блокировками.
cdiamond; +1 Ответить
Оставьте свое сообщение

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