Ошибка «В данной транзакции уже происходили ошибки» в 1С 8.3
Краткое решение
Краткое решение
После любого исключения внутри транзакции платформа ставит rollback-only: любое дальнейшее обращение к БД даёт «В данной транзакции уже происходили ошибки», часто маскируя первопричину. Исправьте код по std783: НачатьТранзакцию вне Попытки, Зафиксировать в конце Попытки, в Исключении — ОтменитьТранзакцию и ВызватьИсключение. Ищите setRollbackOnly в ТЖ.
Текст ошибки
В данной транзакции уже происходили ошибки (транзакция помечена только для отмены после исключения)
Матрица платформ
| Версия платформы | Статус | Заметка |
|---|---|---|
8.3.17 |
✕ Затронута | |
8.3.24 |
✕ Затронута | |
8.3.27 |
✕ Затронута |
Пошаговое решение
-
НачатьТранзакцию(); Попытка … ЗафиксироватьТранзакцию(); Исключение ОтменитьТранзакцию(); ВызватьИсключение; КонецПопытки. Не читайте/пишите БД после исключения до отмены.
-
ТЖ: SDBL Func=setRollbackOnly + EXCP по времени/connectID. Монитор — показатель «Ошибка ТЖ». В стеке ищите реальную ошибку (деление на 0, запись и т.п.).
-
Повторите операцию после закрытия документа; если падает стабильно — передайте программисту стек и время из журнала регистрации. Не «лечите» ТиИ.
Не помогло?
Тестирование и исправление ИБ
Проверил: Иван Демонстрационный 10 лет опыта
Дата вычитки: 2026-08-17 12:47:02
Информация носит справочный характер. Перед выполнением инструкций сделайте резервную копию.
Решение помогло?
Обсуждения (3 вопросов)
Ответы участников сообщества специалистов. Персоны вымышленные; формулировки основаны на обсуждениях с открытых форумов 1С.
-
У нас вылезло «В данной транзакции уже происходили ошибки». С чего начать, чтобы не навредить базе?
-
После обновления снова «В данной транзакции уже происходили ошибки». Кто чем лечил?
-
Делали очистку кэша — не помогло при «В данной транзакции уже происходили ошибки». Что дальше?
Задать вопрос по этой ошибке