Каталог решений - Ошибка "The index entry of length X bytes for the index ‘ … ‘ exceeds the maximum length of 900 bytes."

Ошибка "The index entry of length X bytes for the index ‘ … ‘ exceeds the maximum length of 900 bytes."

Ошибка "The index entry of length X bytes for the index ‘ … ‘ exceeds the maximum length of 900 bytes."

В наличии

Возможно, вы уже столкнулись с ошибкой "The index entry of length X bytes for the index ‘ … ‘ exceeds the maximum length of 900 bytes."
При записи в регистр больших значений 1С легко вылетает в дамп.
Давайте детально рассмотрим, что это и как этого избежать!

Категория:

Описание

Справка.

Итак, что же нам говорит microsoft: https://msdn.microsoft.com/en-us/library/ms191241(v=sql.105).aspx.

А это значит, что в нашем случае в регистре содержится запись, в которой количество индексируемых данных превысило 900 байт.

Как это случилось?

Давайте смоделируем эту ошибку:

Создаем регистр с несколькими измерениями.

Тип данных измерения: строка.

Длина измерения чем больше, тем хуже: max 1024 символа.

И вот у вас несколько измерений в 1024 символа. Ничего не предвещает беды, пока вы не начали по полной эти измерения использовать. В один момент у вас попадается запись, в которой должна быть большая строка, и в этот момент и вылетит ошибка.

Ресурсы регистра хоть и со свойством не индексировать, но индексы таблиц создаются неявным образом при создании объектов конфигурации системой 1С:Предприятие 8. Справка: http://its.1c.ru/db/metod8dev/content/1590/hdoc

Вот и попали мы на исключение!

Вывод.

Хоть 1С и позволяет в регистрах указывать длину большую, чем может обработать MS SQL, но не стоит пренебрегать ограничениями!

has been added to your cart:
Оформление заказа