8.х Почему срабатывают транзакционные блокировки?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем skv_79, 3 апр 2017.

  1. TopicStarter Overlay
    skv_79
    Offline

    skv_79 Опытный в 1С

    Регистрация:
    10 июл 2013
    Сообщения:
    379
    Симпатии:
    6
    Баллы:
    29
    Поймал блокировку, судя по описанию при записи именно в регистр сведений срабатывает взаимоблокировка. Походу пользователи пишут другие тоже... но не по этому документу, поэтому в менеджере измерения точно у всех разные.
    --- Объединение сообщений, 24 май 2017 ---
    Это мендеджер РС.
  2. TopicStarter Overlay
    skv_79
    Offline

    skv_79 Опытный в 1С

    Регистрация:
    10 июл 2013
    Сообщения:
    379
    Симпатии:
    6
    Баллы:
    29
    Оказывается виной всему фоновое задание, там выбираются видимо все записи регистра сведений:
    Взаимоблокировка.jpg
    Сессия.jpg
    --- Объединение сообщений, 24 май 2017 ---
    Убрал уже и соединение, и сеансы фоновых заданий, а блокировка так и висит:
    upload_2017-5-24_10-30-9.png
    Последнее редактирование: 24 май 2017
  3. TopicStarter Overlay
    skv_79
    Offline

    skv_79 Опытный в 1С

    Регистрация:
    10 июл 2013
    Сообщения:
    379
    Симпатии:
    6
    Баллы:
    29
    Получается блокировки копятся, и убрать их не всегда получается, только через перезагрузку службы, что конечно не есть решение проблемы...
  4. TopicStarter Overlay
    skv_79
    Offline

    skv_79 Опытный в 1С

    Регистрация:
    10 июл 2013
    Сообщения:
    379
    Симпатии:
    6
    Баллы:
    29
    Постараюсь объяснить как происходит блокировка:
    В конфигурации есть бизнес-процесс, задачи, регистр сведений, регламентное задание и общий модуль. Бизнес-процесс с задачами отрабатывает и на последнем пользователе в карте БП в событии ДействиеПриВыполнении() пишется в РС справочная информация для программного создания платежного поручения в БП 3.0. Потом регламентное задание срабатывает и начинает по каждой записи РС создавать свою платежку в БП 3.0. При выполнении фонового задания в самом конце этот регистр сведений очищается, так понимаю в этот момент происходит взаимоблокировка в транзакции, потому что параллельно пользователь выполняет задачу и очищается РС. Вот как сделать, чтобы она не возникала?
  5. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.397
    Симпатии:
    155
    Баллы:
    104
    Очистка идет каким образом? Запись набора записей без отбора?
    Лучше удалять каждую запись сразу после создания соответствующей платежки, это даст возможность продолжить создавать в случае падения в середине регламента и уберет блокировку всей таблицы при очистке
  6. TopicStarter Overlay
    skv_79
    Offline

    skv_79 Опытный в 1С

    Регистрация:
    10 июл 2013
    Сообщения:
    379
    Симпатии:
    6
    Баллы:
    29
    Да, создается набор и записывается следующей строкой.
    У меня читается набор, а потом для каждой записи из набора создается платежка. Если после создания платежки создавать еще набор с отбором по текущей записи набора и удалять эту запись то блокировки не будет возникать, набор только читается, а новому набору задам максимально точный отбор. Спасибо, попробую сделать.