|
Может ли ЭтотОбъект.Заблокировать() вызывать блокировки ? | ☑ | ||
---|---|---|---|---|
0
ИС-2
naïve
16.01.23
✎
08:06
|
Разбираюсь с блокировками в тормознутом документе.
В форме при открытии нашел такой код //Проверка получения монопольного доступа на редактирование Попытка ЭтотОбъект.Заблокировать(); Может ли ЭтотОбъект.Заблокировать() вызывать блокировки ? |
|||
1
НоваяВолна
16.01.23
✎
08:09
|
||||
2
Admin_Net_1C
16.01.23
✎
09:22
|
(0) Да, может. Это метод объектной блокировки. У него свой менеджер блокировок наравне с менеджером управляемых блокировок.
|
|||
3
Admin_Net_1C
16.01.23
✎
09:35
|
P.S.
Механизм объектных блокировок позволяет оповестить пользователей о захвате объектных данных «1С:Предприятия»: справочников, документов, планов видов характеристик, планов счетов, планов видов расчета, бизнес-процессов, задач, планов обмена. То есть это не столько механизм защиты, сколько механизм оповещения. Чаще всего пользователи видят сообщения от этого механизма, редактируя данные объектов в формах и воспринимают их как ошибку: (1) «Не удалось заблокировать запись. Действие (изменение, удаление или блокировка записи) не выполнено»; (2) «Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)». Либо в последних версиях: «Данные были изменены или удалены другим пользователем»; (3) Не удалось начать редактирование. Пользователь уже начал редактировать эти данные. |
|||
4
НоваяВолна
16.01.23
✎
10:17
|
(3) интересно, а можно ли эти опопвещения выводить программоно, для себя, для отладки? Есть такой механизм?
|
|||
5
Kassern
16.01.23
✎
10:20
|
(4) Вы можете попытаться программно проверить, заблокирован ли объект, или нет и оповестить так как вам нужно.
|
|||
6
Ryzeman
16.01.23
✎
10:20
|
(4) Если года за 4 ничего не изменилось, то нет. Хоть я тогда ещё совсем-совсем зелёным был, но ничего в интернете не нашёл поэтому поводу, что бы получить как раз использовал попытку, и брал то ли из текста исключения то ли из ЖР. А было бы удобно, если бы платформа позволяла не извращаться.
|
|||
7
Ryzeman
16.01.23
✎
10:21
|
(6) Ненавижу попытки :( Try - catch один из самых убогих приёмов программирования :(
|
|||
8
Kassern
16.01.23
✎
10:31
|
(7) Есть же метод:
ДокументОбъект.<Имя документа> (DocumentObject.<Document name>) Заблокирован (IsLocked) Синтаксис: Заблокирован() Возвращаемое значение: Тип: Булево. Истина - документ заблокирован; Ложь - в противном случае. Для управляемых форм есть ЗаблокироватьДанныеФормыДляРедактирования() - вот там да, приходится через попытку проверять заблокирована ли форма, или нет. Не нашел метода, чтобы это проверять. |
|||
9
Ryzeman
16.01.23
✎
11:05
|
(8) Этот метод работает не так, как ты думаешь)
Он возвращает истину если только объект заблокирован через .заблокировать() и только тобой в текущей транзакции)) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |