|
автоблокировка, набор записей и транзакция | ☑ | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
Йюхйюх
05.02.14
✎
19:15
|
Бд в режиме автоматических блокировок
НачатьТранзакцию() РегистрСведениий.Васек.СоздатьНаборЗаписей() Таблица регистра заблокируется для записи в нее из других сессий и сеансов? |
|||||||||||||
1
MrStomak
05.02.14
✎
19:18
|
нет.
|
|||||||||||||
2
Йюхйюх
05.02.14
✎
19:24
|
(1) Уверен?
|
|||||||||||||
3
Жан Пердежон
05.02.14
✎
19:26
|
причем тут автоматические блокировки?
|
|||||||||||||
4
Йюхйюх
05.02.14
✎
19:28
|
(3) Конструкция
НачатьТранзакцию() справочник.Лошары.СоздатьОбъект() Приводит к тому, что то же самое не может выполниться в другом сеансе |
|||||||||||||
5
Йюхйюх
05.02.14
✎
19:34
|
А что будет если в запросе конструкция для изменения и соединение с таблицей регистра сведений срез последних?
и все это внутри транзакции. |
|||||||||||||
6
MrStomak
05.02.14
✎
19:35
|
Справочник тоже должен создаваться. Возможно, как-то повлияла автонвмерация?
|
|||||||||||||
7
MrStomak
05.02.14
✎
19:37
|
(5) заблокируется на запись даже без для изменения
|
|||||||||||||
8
Йюхйюх
05.02.14
✎
19:39
|
(7) Нафига тогда "для изменения" нужна?
|
|||||||||||||
9
MrStomak
05.02.14
✎
19:40
|
чтобы блокировать другие читающие для изменения запросы.
|
|||||||||||||
10
Йюхйюх
05.02.14
✎
20:02
|
(9) А как конструкция НачатьТранзакцию() решит, что ей надо заблокировать на запись таблицу регистра?
|
|||||||||||||
11
MrStomak
05.02.14
✎
20:11
|
(10) Данная конструкция не осуществляет блокировку.
|
|||||||||||||
12
Йюхйюх
05.02.14
✎
20:14
|
(11) Че за муйня, ты же писал (7)?
|
|||||||||||||
13
MrStomak
05.02.14
✎
20:15
|
(12) Наложение блокировки происходит в момент и в процессе выполнения запроса, по тем данным, что он в процесс выполнения пройдёт.
|
|||||||||||||
14
Жан Пердежон
05.02.14
✎
20:15
|
(12)
НачатьТранзакцию() справочник.Лошары.СоздатьОбъект() ничего не блокируют |
|||||||||||||
15
Новиков
05.02.14
✎
20:21
|
(4) >>Приводит к тому, что то же самое не может выполниться в другом сеансе
Попытка НачатьТранзакцию() справочник.Лошары.СоздатьОбъект() Исключение ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ОписаниеОшибки()); КонецПопытки; Что выведет сообщение? Это первое. К гипотезе (6) добавлю, что возможно сработал RLS или механизм даты запрета изменения, если оный есть, или какой-то другой костылек. |
|||||||||||||
16
Новиков
05.02.14
✎
20:28
|
А в (0) дальше добавь
Попытка РегистрСведениий.Васек.Записать(); Исключение ОбщегоНазначенияБПКлиентСервер.СообщитьОбОшибке(ОписаниеОшибки()); КонецПопытки; Почитай сообщение об ошибке, которое прилетит. не заблокируется |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |