Это моя первая публикация на ИС, прошу сильно тапками не кидать :)
В общем то, суть: встретилась ошибка "Дублирование ключей в уникальном индексе '_ACCRGAT'" в самописной локальной базе. Возникла после добавления субконто к регистру бухгалтерии. Проявляется она при проведении документа, пишущего в РБ:
Перенести в серверную возможности нет.
Первое, что приходит на ум - тестирование и исправление базы. Делаем - не помогает. Можно делать с любыми настройками, эффект один и тот же.
Дальше chdbfl - он тоже сообщит, что ошибок не обнаружено.
Пробуем покопать в интернете - возможно, это я плохо ищу, конечно, но там решений, больше чем предыдущие 2 пункта нет. (есть еще варианты рыться во внутренностях таблицы в СУБД, но это не наш вариант)
Что же можно сделать:
1. _ACCRGAT - это таблица ИтогиПоСчетамССубконто, значит, попробуем пошаманить с итогами. Идем в управление итогами (Функции для технического специалиста -> Стандартные -> Управление итогами) и переходим в Полные возможности:
2. Видим, что для Регистра используются Итоги и Текущие итоги:
3. Что ж, попробуем их отключить и включить снова: Сверху жмем на "Итоги" -> "Выключить использование итогов", и так же на "Текущие итоги" -> "Выключить использование текущих итогов".
4. Казалось бы, выключили, теперь, чтобы все работало как раньше надо включить ("А вы пробовали выключить и включить?") - Включаем, пробуем провести документ - ошибка сохраняется.
5. Фокус тут в том, что нужно Выключить использование итогов, затем провести хотя бы один документ, а только после этого включить их обратно. После этого ошибка пропадает, и другие документы пишутся корректно.
Понятно, что ошибка довольно специфичная, но может, благодаря этой статье кто-то сможет с ней разобраться быстрее.