Имя: Пароль:
1C
1С v8
v8: Как заблокировать объект, не открывая его формы
,
0 Soulseller76
 
10.02.14
16:24
Всем привет. Снова нужна ваша помощь.
Требуется открыть форму и скрыть ее с глаз пользователя. Как это в 8.2 сделать? Форма обычная.
1 zak555
 
10.02.14
16:25
открыть и закрыть ? =)
2 kiruha
 
10.02.14
16:25
Получит форму и не открывать
3 Автосервис
 
10.02.14
16:26
В свойствах формы убрать галочку "видимость" )))
4 Wobland
 
10.02.14
16:26
нужно просто взять и придумать нормальное решение
5 Torquader
 
10.02.14
16:26
(1) Никак.
Можно получить доступ к форме, но не открывать её и работать с ней.
Можно открыть и сразу же закрыть.
Можно, конечно, за экран спрятать - у меня пользователи, как выяснилось, это сами делают.
6 Soulseller76
 
10.02.14
16:26
(1) Нет. Форма должна "думать", что она открыта. :)
Короче, это нужно, чтобы сработала блокировка.
7 Soulseller76
 
10.02.14
16:28
(3) Хм... Почему-то я ее не нашла. Доступность есть, а вот Видимость... :(
8 Wobland
 
10.02.14
16:28
(6) говорил я, нечего онанизмы себе выдумывать
9 Maxus43
 
10.02.14
16:28
>>Короче, это нужно, чтобы сработала блокировка
блокирова чего? есть такие флаги как "ИзменяетДанные" у полей ввода, блокирует как разх то что выбрано там
10 Soulseller76
 
10.02.14
16:30
Нет... Сейчас попробую объяснить.
Мне нужно, чтобы при выборе документа (выбор просто в текст) никто не мог работать с этим документом. Как это сделать еще, если не открыть форму и позволить платформе самой отработать эту ситуацию?
11 Maxus43
 
10.02.14
16:32
(10) перечитай (9) ещё раз, поставь у поля куда выбираешь эту галку
12 zladenuw
 
10.02.14
16:33
(11) так можно в форме выбора, изменить
13 Soulseller76
 
10.02.14
16:33
(11) Спасибо, сейчас посмотрю!
14 Адский плющ
 
10.02.14
16:38
СП: "БлокировкаДанных" курить до просветления
15 Soulseller76
 
10.02.14
16:38
(14) Стесняюсь спросить, что такое СП?
16 Zamestas
 
10.02.14
16:40
(15) Священное Писание.
17 Maxus43
 
10.02.14
16:40
(15) блокировки автоматические стоят или управляемые? дядя (14) про управляемые
18 Soulseller76
 
10.02.14
16:41
(11) Галку установила - документ чудесно открывается другим пользователем. :( А мне этого как раз не нужно!!! :(
19 Defender aka LINN
 
10.02.14
16:41
(0) А... Нахрена?
20 Defender aka LINN
 
10.02.14
16:42
(18) ЗаблокироватьДляИзменения
21 Maxus43
 
10.02.14
16:42
(18) а записывается другим юзером? где поставила галку?
22 Адский плющ
 
10.02.14
16:44
Тфу, блокировка данных это для транзакции. А так есть метод "Заблокировать()".
23 le_
 
10.02.14
16:45
Заблокировать();
24 le_
 
10.02.14
16:46
Заблокировать (Lock)
Синтаксис:
Заблокировать()
Описание:
Выполняет блокировку объекта от изменения другими режимами или пользователями.
25 Torquader
 
10.02.14
16:48
(18) А нужно что-ли чтобы не открывался ?
26 le_
 
10.02.14
16:49
(25) Достаточно перед открытием проверку поставить.
Если Заблокирован Тогда
    Отказ = Истина;
    Возврат;
КонецЕсли;
27 le_
 
10.02.14
16:52
*Если Заблокирован() Тогда
...
28 Torquader
 
10.02.14
16:53
(26) Ну, я-то знаю, а в (0), видимо, хотели (25), а написали, то, что написали.
29 Адский плющ
 
10.02.14
16:59
(26) Не взлетит.
30 Torquader
 
10.02.14
17:00
(29) Почему ?
31 le_
 
10.02.14
17:00
(29) Что не взлетит?
32 troyka
 
10.02.14
17:00
(16) В точку
33 Torquader
 
10.02.14
17:01
(31) Если в самой форме документа, то он уже заблокирован, так как открыт этой же формой.
34 le_
 
10.02.14
17:02
(33) А вот и нет.
35 Адский плющ
 
10.02.14
17:02
(30)(31) Метод Заблокирован() работает ровно для того объекта, который себя блокировал. Другие экземпляры данного объекта БД в т.ч. на других машинах правду не скажуть.
36 le_
 
10.02.14
17:04
(35) Смысл блокировать весь объект метаданных? Понятно, что блокируется конкретный экземпляр.
37 Torquader
 
10.02.14
17:05
(35) Так можно сделать блокировку через Заблокировать() и тут же снять её, хотя, форма документа, по идее, должна себя блокировать, чтобы не было попыток поменять документ из нескольких сеансов.
38 le_
 
10.02.14
17:07
Если Заблокирован() Тогда
    Отказ = Истина;
    Возврат;
Иначе
    Заблокировать();
КонецЕсли;
39 Soulseller76
 
10.02.14
17:08
Ребята, всем огромное спасибо.
буду делать так:
[CODE]
Попытка
  Док = СсылкаНаДокументНаФорме.ПолучитьОбъект();
  Док.Заблокировать();
Исключение
  Сообщить("Не удалось заблокировать объект");
  Сообщить("Причина: "+ОписаниеОшибки());
КонецПопытки
[/CODE]