1C 8 Конфликт блокировок при выполнении транзакции: Неустранимый конфликт блокировок при групповом изменении объектов
Описание ошибки:
Ошибка в 1С 8 при групповом изменении реквизитов Ошибка при вызове метода контекста (Записать) {ОбщийМодуль.ЗакрытиеМесяца.Модуль(5835)}:МенеджерЗаписи.Записать(); ... {ОбщийМодуль.ДлительныеОперации.Модуль(1778)}:ВызватьФункцию(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения); [ОшибкаВоВремяВыполненияВстроенногоЯзыка] по причине: Ошибка при выполнении обработчика - 'ПриЗаписи' по причине: Ошибка при вызове метода контекста (Записать) [ОшибкаВоВремяВыполненияВстроенногоЯзыка] по причине: Конфликт блокировок при выполнении транзакции: Неустранимый конфликт блокировок Найденные решения: Нажатие по изображению увеличит его Ошибка "Конфликт блокировок при выполнении транзакции: Неустранимый конфликт блокировок при групповом изменении объектов" была встречена в частности в базе Бухгалтерия предприятия редакции 3.0 при групповом изменении реквизитов документов. Часть документов изменялась, а часть оставалась неизменной. Повторные запуски группового изменения приводили к таким же результатам. Изначально было выдвинуто предположение, что регламентные фоновые задания в клиент-серверной базе вызывают блокировку, ведь ошибка конфликт блокировок при выполнении транзакции чаще всего возникает при активной работе нескольких пользователей. Но в этой базе работал все время только один пользователь. Так же в данной ситуации следует отметить особенность ошибки в том, что если при высокой частоте работе нескольких пользователей возникает ошибка с текстом "Конфликт блокировки при выполнении транзакции", то в этом случае ошибка содержит неприятное прилагательное "Неустранимый конфликт блокировок", чем выделяет данную ошибку особенно среди похожих, связанных с блокировками в базах 1С 8. Регламентные задания могут вызывать, так запускаются фоново процессы под пользователем. Были изменены расписания регламентных заданий. Там, где задание выполнялось очень часто, каждую минуту, интервал времени был изменен до часа. Некоторые регламентные задания, которым время для разового выполнения было установлено в течение дня, были перенесены на утро или вечер. Но это не дало результатов. Подсказка решения ошибки "Неустранимый конфликт блокировок" нашлась в обсуждении форума infostart - "Групповое изменение реквизитов - конфликт блокировок, 1 пользователь". Поэтому расскажу ниже о том, как устранить "Конфликт блокировок при выполнении транзакции: Неустранимый конфликт блокировок" в базах 1С 8. Проблема в настройке базы, связанной с константой "Количество потоков длительных операций". При выполнении группового изменения реквизитов в базе вызывается функция обработки "ВыполнитьИзменениеОбъектовВНесколькоПотоков()". Эта функция в свою очередь получает количество потоков из константы "КоличествоПотоковДлительныхОпераций". Если в константе установлено значение 0, то возвращается 4 потока. Т.е. действие выполнятся в 4 фоновых потока. 4 потока изменяют документы и в процессе работы сами же на себя "натыкаются" подобно тому, как если бы одновременно работало несколько пользователей. Что и является причиной блокировки в общем случае. Поэтому ошибка и возникает при многопоточной операции. Нажатие по изображению увеличит его Таким образом, чтобы устранить ошибку "Конфликт блокировок при выполнении транзакции: Неустранимый конфликт блокировок" нужно установить константе значение - 1. Или любое другое до 4-х. Ниже приведен пример изменения настройки константы и установки значения "1". Для этого необходимо открыть "Главное меню" программы в правом верхнем углу. И через пункт меню "Функции для технического специалиста" среди констант через поле поиска по объектам базы найти "Количество потоков длительных операций". Если пункт меню "Функции для технического специалиста" у Вас отсутствует, то обратитесь к описанию того, "Как сделать видимой команду "Функции для технического специалиста" по этой ссылке. Нажатие по изображению увеличит его После выбора константы откроется небольшая форма для редактирования ее значения. По умолчанию скорее всего будет установлено значение "0". Нажатие по изображению увеличит его Изменяем значение константы на "1". Нажимаем кнопку "Записать". Форма закроется. Нажатие по изображению увеличит его Таким образом проблема в Вашей базе должна быть решена. Стоит отметить, что, поскольку константа "Количество потоков длительных операций" есть и в других наиболее распространенных конфигурациях 1С 8 (Управление торговлей 11, Комплексная автоматизация, Управление предприятием ERP 2 и др.), которые основаны на "Библиотеке стандартных подсистем" (БСП), то эта ошибка может возникнуть не только в серверной базе конфигурации 1С: Бухгалтерия предприятия 3.0. И, например, в других базах по умолчанию так же значение константы может быть "0". Нажатие по изображению увеличит его Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу. 23-09-2024 Журавлев А.С. (Сайт azhur-c.ru) |
|
|||||||||||||
Copyright 2013-2020. Azhur-c.ru
ИП Журавлев Александр Сергеевич ИНН 667000271590 ОГРНИП 312667014300041 |