| 
    
            
         
         | 
    
  | 
Неявные блокировки платформы | ☑ | ||
|---|---|---|---|---|
| 
    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".  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |