Ошибка «Транзакция setRollbackOnly SDBL» в 1С 8.3
Краткое решение
Краткое решение
Платформа уже пометила транзакцию на откат (setRollbackOnly). Найдите первичную ошибку в ТЖ до этого события, откатите транзакцию и исправьте обработку исключений по стандарту 1С.
Текст ошибки
Ошибка ТЖ SDBL: Func='setRollbackOnly'. В данной транзакции уже происходили ошибки — дальнейшие операции с информационной базой запрещены до ОтменитьТранзакцию().
Матрица платформ
| Версия платформы | Статус | Заметка |
|---|---|---|
8.3.24 |
✕ Затронута | |
8.3.27 |
✕ Затронута |
Пошаговое решение
-
В технологическом журнале отфильтруйте SDBL вокруг момента ошибки. Событие setRollbackOnly — следствие; смотрите предыдущее исключение (конфликт блокировок, проверка, деление на ноль).
-
В блоке Исключение вызовите ОтменитьТранзакцию() и ВызватьИсключение. Не читайте константы и не пишите объекты до отката.
-
После исправления первичной причины повторите бизнес-операцию новой транзакцией с корректным шаблоном Начать/Зафиксировать/Отменить.
Не помогло?
Тестирование и исправление ИБ
Проверил: Иван Демонстрационный 10 лет опыта
Дата вычитки: 2026-07-20 13:04:51
Информация носит справочный характер. Перед выполнением инструкций сделайте резервную копию.
Решение помогло?
Обсуждения (3 вопросов)
Ответы участников сообщества специалистов. Персоны вымышленные; формулировки основаны на обсуждениях с открытых форумов 1С.
-
У нас вылезло «Транзакция setRollbackOnly SDBL». С чего начать, чтобы не навредить базе?
-
После обновления снова «Транзакция setRollbackOnly SDBL». Кто чем лечил?
-
Делали очистку кэша — не помогло при «Транзакция setRollbackOnly SDBL». Что дальше?
Задать вопрос по этой ошибке