Всем привет! Нужно организовать подобие мутекса в 8.1
Задача такая: Есть регистр сведений, в нем есть записи, они разными сеансами в разное время могут "отправляться" - обрабатываются, потом стираются. Надо сделать так, чтобы во время обработки одним сеансом, другой не стал бы одновременно отправлять.
Я поставил реквизит ВОбработке и делаю в транзакции
1) Запрос с "ДЛЯ ИЗМЕНЕНИЯ" по регистру, где НЕ ВОбработке
2) Ставлю записям ВОбработке
3) Обрабатвают эти записи
4) Стираю их
В таком случае у меня исчезает вероятность того, что несколько сеансов одновременно начнут обрабатывать одну запись?
ДЛЯ ИЗМЕНЕНИЯ это вариант монопольной управляемой блокировкой (РежимБлокировкиДанных.Исключительный). С помощью управляемых блокировок ты можешь делать много читателей и один писатель ,так как РежимБлокировкиДанных.Разделяемый не блокируют друг друга, а РежимБлокировкиДанных.Исключительный блокиует все.
(7) А чем это поможет? Если с твоим id не совпадает, то значит занял кто-то другой. А этот другой может в BSOD еще вчера упал и записи навечно "ВОбработке".
(8) Сеансы будут непересекаться. Делать в транзакции.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой