Имя: Пароль:
1C
1С v8
Метод Заблокировать()
,
0 efoi
 
18.05.12
10:05
Доброго времени суток! Не получается заблокировать документ. Интерфейс не управляемый.

Ссылка.ПолучитьОбъект().Заблокировать()

При этом в отладке смотрю признак Заблокирован стоит истна, но при открытии документа все поля доступны. Подскажите пожалуйста в чем косяк?
1 zak555
 
18.05.12
10:06
ты записать попробуй
2 efoi
 
18.05.12
10:07
(1) Само собой :) запись есть
3 Shurjk
 
18.05.12
10:08
А что ты хочешь от метода заблокировать?
4 efoi
 
18.05.12
10:09
(3) Чтобы поля стали не доступными и проведение, короче не допустить изменение документа.
5 AaNnDdRrEeYy
 
18.05.12
10:11
ЭтаФорма.Доступность = ложь;
это в модуле формы естественно
6 kosts
 
18.05.12
10:12
Ссылка.ПолучитьОбъект().Заблокировать()

это равно получить объект по ссылке, заблокировать и забыть про объект и про блокировку...
7 Shurjk
 
18.05.12
10:12
(4) Он этого не делает - юзай свойство формы ТолькоПросмотр.
8 efoi
 
18.05.12
10:12
Ок! Спасибо)
9 Shurjk
 
18.05.12
10:13
(6) Это называется пессемистичная блокировка. Что значит забыть - не совсем понял.
10 kosts
 
18.05.12
10:18
(9)
Перем Объект;

Процедура
Объект = Ссылка.ПолучитьОбъект();
Объект . Заблокировать();
конецПроцедуры

При этом переменная Объект не должна уничтожаться на все время блокировки.
11 kosts
 
18.05.12
10:19
(10) Это в обработке
для формы документа так наверно пойдет:
ЭтотОбъект.Заблокировать();
12 Shurjk
 
18.05.12
10:22
(10) Что будет если она "уничтожиться" или переопределится? (11) Можно просто Заблокировать() - методы объекта и в форме доступны.
13 efoi
 
18.05.12
10:26
вернее мне надо было блокировать форму. А метод Заблокировать блокирует объект, например чтоб другой пользователь не открыл его пока идет обработка.
14 AaNnDdRrEeYy
 
18.05.12
10:27
Заблокировать() применяется когда что то программно изменяем и хотим быть уверенными что пока изменяем кто то другой не внесет в документ изменения перед тем как мы запишем свои.
Если нужно просто пользователю запретить мнять достаточно установить Доступность формы в ложь (или толькопросмотр в истина).
Если применять метод заблокировать() то после того как пользователь открыл документ даже программно его переписать не получиться, допустим перепроведением документов из другого сеанса
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший