вторник, 20 мая 2014 г.

1С "SDBL: Выход за пределы размерности результата" при обновлении конфигурации.

Недавеча, при обновлении конфигурации случалась такая вот грабля:
"SDBL: Выход за пределы размерности результата"

Имеем:
Конфа = "Управление торговым предприятием для Украины", редакция 1.2.
Платформа = 1С:Предприятие 8.2 (8.2.19.90)
База на PostgreSQL 8.4.21.

Добавил, значит, в конфу новый самописный документ. При обновлении конфигурации конфигуратор "залипает" минут на 20 с состоянием "Регистрация изменений. Таблица регистрации изменений".  В консоли сервера 1С количество заблокированных объектов СУБД нарастает. А потом валится с ошибкой "SDBL: Выход за пределы размерности результата".

В файловом варианте все гуд...

ВАЖНО!!! не забываем про BACKUP!!! Если используется РИБа - необходимо "распинать" обмены на ВСЕ периферийные БД, и убедиться, что конфы во ВСЕХ узлах  идентичны!!!

А сабж, собственно, решается так:

Способ рас (средствами SQL).
В консоли SQL-сервера открываем нужную БД и чистим таблицы "_ConfigChngR" и "_ConfigChngR_ExtProps"

DELETE FROM _ConfigChngR;
DELETE FROM _ConfigChngR_ExtProps;
COMMIT;

В этих таблицах хранится информация о всех изменениях конфигурации для обмена с распределенными узлами. Платформа собирает эту информацию автоматически, всегда, независимо от того используется РИБа или нет!

В случае, когда распределенка не используется их, для экономии места можно периодически очищать, например, по регламенту.

Способ два (средствами 1С).
В режиме предприятия(конфигуратор должен быть закрыт) в центральной базе следует выполнить код:
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
ПланыОбмена.УстановитьГлавныйУзел(ПланыОбмена.<ВашПланОбмена>.НайтиПоКоду(<КодГлавногоУзла>)); 

и таблицы также будут очищены.

Комментариев нет:

Отправить комментарий