Имя: Пароль:
1C
 
как проверить занят ли объект?
0 Alexandr Novicov
 
18.10.19
07:29
Есть внешняя обработка которая стартует по регламенту, ищет не проведенные документы, проверяет заполненность реквизитов и проводит их.

Вопрос: Как проверить занят ли сейчас объект? Необходимо это на тот случай если я запущу обработку проведения еще раз, поймаю запросом не проведенный документ и начну его проводить, вот тут то мне и надо проверить а вдруг он уже проводится.
Дело еще в том что на основании этого документа у меня создаются дополнительные документы.

Спасибо
1 Случайный прохожий
 
18.10.19
07:38
Метод "Заблокирован" у объектов тебе не поможет?
2 Alexandr Novicov
 
18.10.19
08:00
Он разве не для формы работает?
3 Alexandr Novicov
 
18.10.19
08:00
спасибо, сейчас проверю
4 Alexandr Novicov
 
18.10.19
08:21
(1) Действительно всё работает! Спасибо еще раз
5 Alexandr Novicov
 
18.10.19
08:22
посмотрим как будет на большом количестве в рабочем режиме
6 Сияющий в темноте
 
18.10.19
08:56
на случай,если обработку запускают еще раз - в ней нужно проверить наличие выполнчемого регламента и остановиться
когда два процесса борются за документы - это очень плохо.
7 Alexandr Novicov
 
23.10.19
13:38
(6) Работает отлично,Сперва выполняется проверка на наличие флага который отвечает за запуск события, если к примеру объект попадает в критерий отбора, но при этом не должен принимать участие в событии. После проверки на РазрешитьСобытие() проверяю на Заблокирован(), если нет, тогда Заблокировать()... выполнить что надо, в случае если событие будет запущено вторично и после проверки Заблокирован() если да тогда Продолжить; иначе Заблокировать()... выполнить что надо
8 hhhh
 
23.10.19
13:43
(7) Заблокирован() работает только внутри одного сеанса. Если два пользователя на двух компах обращаются.ю то не работает.
9 Cyberhawk
 
23.10.19
13:44
Лучше через ЗаблокироватьДанныеДляРедактирования и не только по причине того что оно работает для разных сеансов, но и того что даже если проверять разные сеансы не требуется он работает надежнее (Заблокировать() + Заблокирован тупо иногда не отрабатывают)
10 Ёпрст
 
23.10.19
13:45
(7) ппроверяй не Заблокирован(), а сам пытайся объект заблокировать, если не удача - значит объект кто-то дрежит
11 Cyberhawk
 
23.10.19
13:47
(8) Кстати ты не прав
12 Cyberhawk
 
23.10.19
13:47
+(11) А не, пардон, речь о Заблокирован, подумал про Заблокировать() :)
Закон Брукера: Даже маленькая практика стоит большой теории.