Дублирование ключей в уникальном индексе ‘_ACCRGAT’ в локальной базе
В типовой файловой базе 1С при попытке удалить старые документы вылезла редкая ошибка: «Дублирование ключей в уникальном индексе ‘_ACCRGAT’». В стандартных логах деталей минимум, а типовое тестирование и исправление базы ситуацию не спасло. Рассказываю, как локализовать проблему и что именно сделать, чтобы корректно удалить документы и вернуть базе нормальное состояние.
Окружение, в котором возникла ошибка
- Платформа: 1С:Предприятие 8.5 (8.5.1.1343)
- Конфигурация: Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.198.19)
- Тип базы: файловая
Задача была простая: почистить базу от старых документов через стандартные инструменты. Но при установке пометки удаления и дальнейшей попытке удаления вылезла ошибка, которую до этого я ни разу не встречал.
Как именно проявлялась ошибка
Ошибка «Дублирование ключей в уникальном индексе ‘_ACCRGAT’» проявлялась в нескольких типовых операциях:
- Установка пометки удаления объекта
- Отмена проведения документа
- Удаление через мастер удаления объектов
То есть проблема не ограничивалась конкретной формой или обработкой, а всплывала при попытке изменить состояние проблемных документов любым способом из любого места.
Что не помогло
Первое, что приходит в голову при любых проблемах с файловой базой — тестирование и исправление базы (ТИИ).
- Выполнено стандартное тестирование и исправление — без эффекта
- Пробованы разные варианты настроек ТИИ — ошибка продолжала появляться
Дальше в списке естественных действий — chdbfl. Но база жила в 1С:ГРМ, выкачивать её ради chdbfl в конкретной ситуации было нецелесообразно, поэтому пошёл другим путём.
Поиск проблемной таблицы и регистра
Определяем таблицу по индексу
Открываем обработку для анализа структуры базы, например «Структура хранения метаданных.epf» (подойдёт любая аналогичная обработка для просмотра таблиц).

В списке таблиц находим ту, которая фигурирует в тексте ошибки. В моём случае это
_AccRgAT230181.
По имени таблицы видно, что это таблица итогов регистра, связанная с объектом «ИтогиПоСчетамССубконто». Значит, логично двигаться в сторону управления итогами регистра накопления.
Пошаговое решение через управление итогами
Переходим в управление итогами
- Открываем раздел Функции для технического специалиста → Стандартные → Управление итогами.
- В форме управления итогами включаем режим «Полные возможности».


- Находим нужный регистр, соответствующий нашей таблице
_AccRgAT…(в моём случае — регистр «ИтогиПоСчетамССубконто»).
Временно отключаем использование итогов
- Проверяем, что для регистра используются Итоги и Текущие итоги.
- В панели команд:
- Нажимаем «Итоги» → «Выключить использование итогов»
- Нажимаем «Текущие итоги» → «Выключить использование текущих итогов»
Это временно отключает расчёт и использование итогов по проблемному регистру.
Повторяем проблемную операцию
Теперь пробуем снова выполнить действие, на котором раньше падало:
- Установить пометку удаления
- Отменить проведение
- Удалить документ через мастер удаления
В моём случае после отключения итогов все операции отработали без ошибки — документы успешно удалились.
Возвращаем итоги и пересчитываем
После успешного удаления:
- Возвращаемся в Управление итогами.
- Включаем обратно:
- «Итоги» → «Включить использование итогов»
- «Текущие итоги» → «Включить использование текущих итогов»
- Запускаем пересчёт итогов по выбранному регистру за необходимый период.
После пересчёта регистр вернулся в консистентное состояние, и ошибка «Дублирование ключей в уникальном индексе ‘_ACCRGAT’» больше не повторялась.
Выводы и рекомендации
- Ошибка с дублированием ключей в индексе
_ACCRGATможет быть связана с рассинхронизацией итогов по регистру, даже если ТИИ формально не находит проблем. - В ряде случаев проблему можно решить за счёт временного отключения использования итогов по конкретному регистру, выполнения проблемной операции и последующего пересчёта итогов.
- Перед любыми манипуляциями с итогами в боевых базах рекомендуется делать резервную копию, особенно если речь идёт о старых версиях платформы и типовых конфигураций.
