Имя: Пароль:
1C
1C 7.7
v7: ОткрытьФорму()
,
0 oslokot
 
17.12.12
17:47
Требуется ОткрытьФорму(,,) существующего документа.
Если он уже кем-то открыт, то открыть в режиме только просмотра
Иначе открыть в режиме редактирования

Вопрос, как проще узнать, открыт док другим юзером или нет?
Док.Блокировка() не срабатывает.
1 Mikeware
 
17.12.12
17:48
ищи на инфостарте
2 miki
 
17.12.12
17:49
Попытайся открыть на редактирование. В исключительном случае - откроешь на просмотр.
3 ДенисЧ
 
17.12.12
17:49
При отькрытии писать факт этого открытия куда-нибудь. На нимфостарте Епрст что-то такое выкладывал
4 Aleksey
 
17.12.12
17:49
А если пытаться блокировать?
5 Aleksey
 
17.12.12
17:51
Типа

ДокБлокировка=СоздатьОбъект("Документ");
ДокБлокировка.НайтиДокумент(ДокументОснование);
Если ДокБлокировка.Блокировка(1)=0 Тогда
//Так делать нельзя
Предупреждение("Невозможно заблокировать "+ДокументОснование+"
|Ввод на основании невозможен");    
СтатусВозврата(0);
Возврат;
КонецЕсли;
6 Aleksey
 
17.12.12
17:52
только не забудь потом сделать

ДокБлокировка.Блокировка(0);//снимем блокировку
7 Ёпрст
 
17.12.12
17:52
>>>Док.Блокировка() не срабатывает.

еще как срабатывает
8 oslokot
 
17.12.12
17:54
(2) не работает, попробовал
(4) сейчас попробую...
9 oslokot
 
17.12.12
17:55
(7) в каких случаях? в контексте юзера разве что?
10 Ёпрст
 
17.12.12
17:56
(9) во всех случаях..
Ты просто неправильно применяешь сей метод.

Нужно самому пытаться установить блокировку - если успех, не заблокирован, иначе - форма открыта кем-то.
и всё.
11 oslokot
 
17.12.12
17:57
(10) да-да, понял! пробую...
12 Ёпрст
 
17.12.12
17:58
на этом свойстве, чтатно, можно получить список активных юзверей, к примеру.
13 oslokot
 
17.12.12
18:04
Спасибо ребят что помогли поправить мою ДНК :)
Всё получилось, сделал через попытку заблокировать как (5)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.