|   |   | 
| 
 | Управляемые блокировки при проведении | ☑ | ||
|---|---|---|---|---|
| 0
    
        Asyc 18.10.23✎ 14:13 | 
        Всем привет.
 Клиент-серверная база, режим блокировок управляемый. Имеется один документ, который сначала читает данные из РН, потом пишет их. Перед чтением устанавливаю исключительную блокировку по диапазону дат (например, предыдущий месяц) + организации. Ставлю точку останова. В другом сеансе открываю документ, который пишет данные в этот же регистр, но текущей датой. Никаких блокировок не устанавливаю. Пытаюсь провести, падаю по дедлоку в момент записи набора. Собственно вопрос: при записи в регистр без установки блокировок он блокируется целиком? Мы этим управлять не можем? | |||
| 1
    
        Волшебник 18.10.23✎ 14:18 | 
        Если режим блокировок управляемый, то его надо устанавливать в каждой транзакции     | |||
| 2
    
        Asyc 18.10.23✎ 14:52 | 
        (1) А если в транзакции проведения ничего не установить, включается какой-то дефолтный режим? И как понять на что именно он блокировки накладывает? На весь регистр целиком? Может кто знает где почитать про это, чет на ИТСе про запись не нашел ничего.     | |||
| 3
    
        BDA80 18.10.23✎ 15:55 | 
        (2) Любое изменение данных устанавливает неявную управляемую исключительную блокировку     | |||
| 4
    
        H A D G E H O G s 18.10.23✎ 16:08 | 
        deadlock от 1С или от СУБД?
 Если от 1С - ищи его в ТЖ, все понятно там написано. Если от СУБД (что врядли, но все же бывает) - строй граф deadlock-ов в профайлере и придется полюбиться. | |||
| 5
    
        Волшебник 18.10.23✎ 16:10 | 
        (4) deadlock бывает только от СУБД     | |||
| 6
    
        H A D G E H O G s 18.10.23✎ 16:24 | ||||
| 7
    
        Valdis2007 19.10.23✎ 07:38 | 
        (6) таки это не дедлок же? это отказ в блокировке, что-бы избежать дедлока?     | |||
| 8
    
        H A D G E H O G s 19.10.23✎ 08:52 | 
        (7) точно также, как и в субд. Но и там это называется deadlock.     | |||
| 10
    
        Valdis2007 19.10.23✎ 10:35 | 
        (8) мне кажется вы говорите про -"Взаимоблокировка", а дедлок несколько другое?     | |||
| 11
    
        H A D G E H O G s 19.10.23✎ 10:55 | 
        (10) Начинаешь понимать, когда женщина говорит "Иногда проще дать"     | |||
| 12
    
        H A D G E H O G s 19.10.23✎ 10:55 | 
        (10) 
 wiki:Взаимная_блокировка Взаи́мная блокиро́вка (сокращённо взаимоблокировка, англ. deadlock) — ситуация в многозадачной среде или СУБД, при которой несколько процессов находятся в состоянии ожидания ресурсов, занятых друг другом, и ни один из них не может продолжать свое выполнение | |||
| 13
    
        Asyc 19.10.23✎ 11:57 | 
        (3) Любое изменение данных устанавливает неявную управляемую исключительную блокировку
 Допустим, а управлять полями блокировки при изменении данных мы можем? | |||
| 14
    
        bolobol 19.10.23✎ 12:43 | 
        Есть подозрение, что какие-то танцы с исключительностью и итогами, либо падает не на записи, либо не по дедлоку.     | |||
| 15
    
        Valdis2007 19.10.23✎ 13:00 | 
        (12) за ссылку на вики конечно спасибо)) в данном конкретном случае, мы дедлок на уровне платформы 1с обсуждаем, а не других абстарктных инфосистем?     | |||
| 16
    
        BDA80 19.10.23✎ 13:04 | 
        (13) Сделать то что хотим? Задачу опишите     | |||
| 17
    
        Asyc 19.10.23✎ 13:47 | 
        (16) Хочу чтобы заблокированные одним документом данные (за предыдущий месяц) не мешали оперативному проведению другого документа (на текущую дату).
 Блокировку в первом документе устанавливаю по диапазону дат. Во втором не делаю ничего. Ставлю точку останова в первом документе, сразу после блокировки. Начинаю проводить второй - падаю с конфликтом блокировок при выполнении транзакции. Превышено максимальное время ожидания предоставления блокировки. | |||
| 18
    
        H A D G E H O G s 19.10.23✎ 14:04 | 
        (17) у вас не дедлок, а превышено ожидание на блокировке.
 Соберите ТЖ, проанализируйте его ИР, найдите Tlock с продолжительностью 20000, Ир покажет его пересечение с другой блокировкой. По структуре хранения данных, посмотрите, какие поля пересекаются. | |||
| 19
    
        Asyc 19.10.23✎ 14:19 | 
        (18) Спасибо, буду пробовать.     | |||
| 20
    
        bolobol 19.10.23✎ 14:25 | 
        (19) Я так и не понял - в регистре нет итогов? Или итоги есть, но Организации разные в блокировке?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |