Длина ключа индекса превышает максимально допустимую
Бывают случаи, когда при попытке выгрузить базу клиент-серверной СУБД в файловый вариант, происходит ошибка:
Ошибка загрузки информационной базы. В информационную базу загружены не все данные по причине: Ошибка СУБД: Длина ключа индекса превышает максимально допустимую '_InfoRg43573_1X1 (_Fld43574, _Fld43575) UNIQUE' по причине: Длина ключа индекса превышает максимально допустимую '_InfoRg43573_1X1 (_Fld43574, _Fld43575) UNIQUE'
Ошибка означает, что в базе существуют индексированные поля с длиной больше, чем поддерживает файловый вариант базы, из документации:
Единственным ограничением на использование индекса при использовании СУБД (файловый вариант), встроенной в 1С:Предприятие, является максимально допустимая суммарная длина ключа в индексе, равная 1920 байт. При попытке создания индекса с длиной ключа, превышающей 1920 байт, будет выдано сообщение об ошибке.
Системная ошибка сообщает о том, что у таблицы _InfoRg43573, есть два индексированных поля Fld43574 и Fld43575, длина ключа которых больше максимально допустимых.
Но проблема в том, что мы не знаем, что это за таблица, и тут нам на помощь приходит подсистема «Инструменты разработчика»
Скачать: Инструменты разработчика портативный 1С 8.2+ V6.23.1P
Скачиваем подсистему, запускаем в обычных формах и открываем инструмент: Структура хранения базы данных.
Выполняем все это в рабочей клиент — серверной версии информационной базы 1С.
По названию таблицы из ошибки находим объект конфигурации и проверяем индексированные поля.
В моем случае это регистр сведений и все его измерения являются индексированными.
Обычно ошибка выдается на индексированный столбец, где длина строки указана слишком длинной.
Как вариант решения: уменьшаем длину строки, или снимаем индексацию (если индексирование поставлено на всякий случай).
Уменьшаем размер строки измерений, применяем и выгружаем базу и заново пробуем загрузить в файловую.
Получаем сообщение об успешной загрузке информационной базы в файловую версию.