Имя: Пароль:
1C
1С v8
Неявные блокировки платформы
0 Enterprise
 
15.01.16
12:46
Здравствуйте. Теоретический вопрос
В конфигурации стоит управляемый режим блокировок.
При записи данных платформа неявно устанавливает исключительную блокировку. С этим ясно.
Вопрос: неявные блокировки платформы действую как и явные до конца транзакции?
Есть ли неявные разделяемые блокировки при чтении данных и как действуют?
1 Господин ПЖ
 
15.01.16
12:50
>Есть ли неявные разделяемые блокировки при чтении данных и как действуют?

это зависит и от платформы от настроек базы... что там у вас - телепаты в отпуске
2 Господин ПЖ
 
15.01.16
12:50
>от настроек базы

+ и от версии скуля
3 Enterprise
 
15.01.16
12:54
(1) У нас пустая конфигурация и вопрос про платформенный менеджер блокировок
4 Enterprise
 
15.01.16
13:04
(3)+ Платформа 8.3.7
5 Enterprise
 
15.01.16
13:25
и тишина... ))
6 vde69
 
15.01.16
13:37
блокировки на чтение или на запись?

вроде так:
на чтение действуют пока не разрушен менеджер блокировки,
на запись - до окончания транзакции
7 Enterprise
 
15.01.16
13:51
(6) больше интересует чтение
а когда он разрушается?
8 Enterprise
 
15.01.16
13:53
(7) Больше интересует ставит ли сама платформа блокировку на чтение неявную
9 vde69
 
15.01.16
13:57
(8) платформа сама НЕ ставит блокировки на чтение (при штатном уровне изоляции транзакции). То есть грязное чтение в 1с присутствует...
10 vde69
 
15.01.16
14:00
что кстати легко проверяется :)

1. делаешь отчет который выводит одной суммой остаток на складе
2. запускаешь в цикле перепроведение нескольких документов
3. в параллельном сеансе обновляешь отчет и удивляешься, что сумма склада прыгает :)
11 Ник второй
 
15.01.16
14:13
(0) Смотря на какой стороне
12 Карупян
 
15.01.16
14:14
в режиме рид коммитед снэпшот блокировок скуля на чтение вообще нет
13 Enterprise
 
15.01.16
14:16
(11) Поясните
14 Enterprise
 
15.01.16
14:26
(10) Есть отличия при работе в файловом режиме и клиент серверном в блокировках 1С, кроме уровня изоляции?
15 Ник второй
 
15.01.16
14:27
(13) Есть блокировки скуля и блокировки сервера 1С...
первые действуют только при выполнении скрипта к бд, вторые на всю транзакцию. Упрощенно так
16 Enterprise
 
15.01.16
14:32
(15) Я в (3) написал, что именно интересует менеджер блокировок 1С
17 Ник второй
 
15.01.16
14:34
(16) Что подразумевается под неявными, блокировка при изменении или чтении в транзакции?

Действуют до конца транзакции
18 Enterprise
 
15.01.16
14:35
(17) Неявные, которые сама платформа делает.
При чтении в транзакции
19 Ник второй
 
15.01.16
14:37
(18) До конца транзакции
20 Enterprise
 
15.01.16
14:39
(19) т.е. всё таки есть блокировка при чтении?)
21 bred_
sivko_burko
 
15.01.16
14:47
в режиме рид коммитед снэпшот

Нет такого режима, есть рид коммитед, есть снэпшот, это два разных режима (точнее уровня изоляции) https://msdn.microsoft.com/ru-ru/library/ms173763(v=sql.120).aspx.
Уже не первый раз слышу этот термин...
22 Ник второй
 
15.01.16
14:51
(20) А есть сомнения?
23 Enterprise
 
15.01.16
14:53
(12), (21) блокировки на стороне СУБД здесь не рассматриваются
24 Enterprise
 
15.01.16
14:54
(22) Есть)
25 Enterprise
 
15.01.16
14:54
(22) Есть незнание
26 Карупян
 
15.01.16
14:55
(21) is read committed snapshot on = true
27 Ник второй
 
15.01.16
14:56
(25) Я развеял твои сомнения?
28 Enterprise
 
15.01.16
15:00
(27) ставится разделяемая блокировка?
29 bred_
sivko_burko
 
15.01.16
15:07
is read committed snapshot on = true


аааа... в этом смысле да, конечно
30 Карупян
 
15.01.16
15:30
платформа сама НЕ ставит упр блокировок на чтение
31 Ник второй
 
15.01.16
15:46
(30)
Неявные блокировки платформы

...

При чтении наборов записей платформа сама (неявно) устанавливает разделяемую управляемую блокировку. Эта неявная блокировка сохраняется до конца транзакции (как все управляемые блокировки).

http://cascade-group.com.ua/upravlyaemye-blokirovki-1c/
32 Enterprise
 
15.01.16
15:47
(31) Я это тоже читал)
33 Ник второй
 
15.01.16
16:01
(32) Если сомневаешься, то проверь )
34 Enterprise
 
15.01.16
16:02
(33) Обязательно на выходных проверю и отпишусь)
35 Enterprise
 
19.01.16
07:41
(33) неявная блокировка при чтении в транзакции пока не подтвердилась)
36 2mugik
 
19.01.16
08:22
(35) Если упр. режим блокировок то СКЛ стоит в рид комиттед и блокировка ставится только на время чтения.
37 Enterprise
 
19.01.16
09:09
(36) согласен. но меня статья из (31) смутила
38 Marine Band
 
19.01.16
09:10
(35) Как ты проверял, через ЦУП? или смотрел сам тех журнал?
39 vde69
 
19.01.16
09:15
(35)блокировка не означает, что данные нельзя прочитать и (о ужас) записать...

блокировки они разные бывают...
40 Enterprise
 
19.01.16
09:33
(38) ну пока проверял при работе в двух сеансах через отладку)
41 Enterprise
 
19.01.16
09:34
(39) точнее не скажешь
42 Enterprise
 
19.01.16
09:35
(41) * точнее и не скажешь
43 Marine Band
 
19.01.16
09:37
(40) А как проверял? в скульной базе в одном сеансе в транзакции прочитал регистр накопления и после запрос.Выполнить поставил точку остановки.
А во втором сеансе попытался записать этот регистр накопления с совпадением измерений?
44 Enterprise
 
19.01.16
10:01
(43) ну типо того, да
45 Enterprise
 
20.01.16
07:21
(43) продолжения не будет?)
46 hhhh
 
20.01.16
09:50
(44) вроде "после запрос.Выполнить" блокировка уже снимается. Запрос-то уже выполнен.
47 Enterprise
 
21.01.16
08:48
(46) а как же (31)? в рид коммитед на sql она снимется после выполнения запроса, да. А на сервере 1с?
48 hhhh
 
21.01.16
10:19
(47) то есть вы запрос в транзакции делаете?
49 Enterprise
 
21.01.16
10:26
(48) в обработке проведения
50 Enterprise
 
26.01.16
10:34
Судя по http://kb.1c.ru/articleView.jsp?id=46#case1_3:
1. Разделяемая блокировка на чтение устанавливается ТОЛЬКО НА УРОВНЕ СУБД
2. Устанавливается она в транзакции при чтении в объектной технике и выполнении запросов.
3. Важный момент: Только если данные реально изменились, при записи будет автоматически установлена эксклюзивная блокировка. Освещался в последнем посте Управляемые блокировки - боль. страдание. унижение.

Пока я понял так. Может, конечно, я неправильно понял)

Думаю, В УЦ1 расставят все точки)
51 Дык ё
 
26.01.16
10:50
(21) по твоей же ссылке оно есть ;) долистай до таблицы в разделе remarks
52 Enterprise
 
17.02.16
15:44
Ну и финалочка)
После УЦ1 стало намного яснее.
Статья http://cascade-group.com.ua/upravlyaemye-blokirovki-1c/ права.
1. Неявные управляемые блокировки платформы действуют до конца транзакции.
2. Особенность в том, что эти блокировки устанавливаются только при чтении/записи в объектной технике. При выполнении запроса, управляемые блокировки не устанавливаются.
53 2mugik
 
02.03.16
12:51
(52) т.е. если в транзакции прочитал объект - то до конца транзакции на него накладывается неисключительная блокировка?
54 Enterprise
 
19.03.16
09:27
(53) да
55 Cyberhawk
 
19.03.16
10:41
+(53) А если в транзакции выполнил запрос (к полям объекта)?
56 Enterprise
 
19.03.16
14:31
(52)(55) Я набор записей регистра имел в виду.
Например ПолучитьОбъект(), Выбрать() не вызовут управляемую блокировку 1С, так же как и обычный запрос
57 Enterprise
 
19.03.16
15:53
(53)(55)*
58 Вуглускр1991
 
19.03.16
19:42
(52) Вот теперь правильно.
Запусти ТЖ и убедись отлавливая события "TLOCK".