Имя: Пароль:
1C
1С v8
Как узнать из обработки открыт ли документ?
0 ferry
 
09.09.13
10:45
Не знаю как правильно спросить, но задача следующая: есть обработка, которая делает изменения в документах. Надо узнать при старте обработки открыт ли где то обрабатываемый документ. Как это сделать?
1 Rie
 
09.09.13
10:47
(0) Спросить насчёт блокировок? Не?
2 cw014
 
09.09.13
10:47
Заблокирован() ???
3 Fish
 
09.09.13
10:47
(1) Если просто открыта форма документа, но не внесены изменения, то имхо не поможет.
4 ferry
 
09.09.13
10:49
так дело в том что он не заблокирован если его просто открыли и ничего там не поменяли. а вот потом начинаются проблемы: изменения то обработка вносит, а у пользователей, у которых документ открыт на просмотр база вешается.
5 ferry
 
09.09.13
10:49
(3) ага
6 cw014
 
09.09.13
10:50
Вешается??? Просто возникает текст, дескать было изменено, пока вы втыкали в форму... Закрываешь, открываешь и дальше работай
7 ferry
 
09.09.13
10:53
(6) вот именно вешается. на форме есть событие приактивациистроки. вот оно начинает работать в цикле и вылетает при достижении максимально возможного количества таких обработок этого события.
8 Fish
 
09.09.13
10:55
(7) А вот вешаться не должно.
9 Maxus43
 
09.09.13
10:55
(7) ну очевидно, что код кривой.
Есть способ дебильный - при открытии формы блокировать документ, в итоге при попытке записать из обработки будет исключение. Но реально не стоит
10 Maxus43
 
09.09.13
10:57
В обработке сделать Оповестить, в доке в ОбработчикеОповещения - перечитать объект, правда если там вносят изменения - они волшебным образом исчезнут для пользователя
11 ferry
 
09.09.13
10:59
(10) да, видимо так и придется сделать. потому что вешается именно строчка реквизитформывзначение("объект") в документе
12 palpetrovich
 
09.09.13
11:09
мо попытаться удалить в транзакции+попытке? если незаблокирован - транзакцию отменить
13 Maxus43
 
09.09.13
11:09
(12) дак он и не заблокирован, просто форма открыта, не ведёт к блокировке
14 palpetrovich
 
09.09.13
11:11
(13) если он у кого-то открыт - пометку удаления поставить не удастся - стало-быть вопрос из (0) решен :)
15 palpetrovich
 
09.09.13
11:12
хотя - насчет транзакции - эт я погарячился, она там вообще не нужна
16 Maxus43
 
09.09.13
11:16
(14) нет, с чего бы?