«Ошибка SDBL: Выход за пределы размерности результата» может возникнуть при обновлении конфигурации, например, 1С Бухгалтерии или Управление торговлей. Достаточно часто ошибку встречают при использовании обменов по средствам распределенных баз данных (РИБ).
Решений проблемы может быть несколько:
- Обновить платформу 1С до более свежего релиза платформы 1С. Для этого Вы можете воспользоваться инструкцией по установке платформы 1С.
- Перезагрузить службу сервера 1С Предприятия.
- Очистить кеш сервера.
- В менеджере SQL сервера очистить таблицы _ConfigChngR и _ConfigChngR_ExtProps (используя команду delete).
Обычно указанный список успешно помогает решить проблему и вернуться к полноценной работе.
Нередко пользователи 1с сталкиваются с такой проблем мой как Ошибка SDBL. Давайте разберемся что же это такое и как устранить данную ошибку. Как правило, навсегда данный баг можно решить простой перезагрузкой и обновлением платформы. Рассмотрим наиболее качественные и действенные способы решения этой проблемы. Ведь для исправления этой ошибки нужно перекрыть кучу материала в интернете и не факт, что найдётся именно то, что действительно поможет.
Обычно такое происходит при сохранении и обновлении конфигураций. Вроде бы все идёт как обычно, но неожиданно компьютер выдаёт: “Ошибка SDBL: Выход за пределы размерности результата”. Хочу сразу сказать, что сложновато найти в Интернете нужную вам информацию по устранению этой ошибки, это может затянуться надолго. Ниже будут представлены все возможные варианты исправления ошибки SDBL
1. Reboot (перезагрузка) сервиса сервера 1С.
2. Тестирование и исправление ИБ.
3. Выгрузка в DT и загрузка его обратно.
4. Установка обновления платформы.
5. Очистить таблицы MSSQL dbo._ConfigChngR и dbo._ConfigChngR_ExtProps.
Первый и третий пункт не всегда дают результат, потому их можно даже не использовать, просто здесь представлены как одни из возможных вариантов.
Также можно попробовать удалить регистрацию изменений, если база Распределенная и имеет подчиненные узлы (РБД).
Пункт первый, т.е перезагрузку можно использовать если база распределенная и имеется несколько планов обмена. Узлы очищаются при помощи обработки: РегистрацияИзмененийДляОбмена83.epf, правда велика вероятность что проблема после этого останется.
Если это не помогло, можно попробовать поставить новую платформу.
Как только все будет готово нажимайте f5 в конфигураторе, конфигурация должна обновиться. Может случиться так что ошибка через некоторое время появится вновь. Тоже делать в этом случае?
Остаётся ещё один способ! Полностью останавливаем все процессы связанные с 1С, а потом запускаем обратно. Конфигурация обновляется, ошибка исчезает.
Скрипт остановки сервисов:
@taskkill /IM rmngr.exe /f
@net stop “1C:Enterprise 8.2 Server Agent”
@net stop “SQLSERVERAGENT”
@net stop “MSSQLSERVER”
@exit
Скрипт запуска сервисов:
@net start “1C:Enterprise 8.2 Server Agent”
@net start “MSSQLSERVER”
@net start “SQLSERVERAGENT”
@exit
Далее, после все проделанной операции следует создать текстовый файл, написать туда текст скрипта, и сохранить, поменяв расширение на bat. Запустить файл от имени администратора.
Обычно ошибка SDBL происходит при сохранении и обновлении конфигураций в момент реструктуризации базы данных, а также во время работы обменов данными.
Окно с данной ошибкой 1С имеет дополнительное содержание. Типичные сообщения:
- Ожидается выражение (pos = ).
- Выход за пределы размерности.
- Поле таблицы не может принимать значение NULL.
- Ошибка при полнотекстовом индексировании.
- Попытка вставки значения недопустимого типа.
- Поле определено неоднозначно.
- Пропущена точка с запятой.
- В схеме базы данных нет таблицы с именем…
Исправление ошибки SDBL
Большая часть способов исправления связана с восстановлением нормальной работы Информационной Базы. Но иногда описанными способами решить проблему не получается, поэтому помните о самом лучшем, универсальном способе — регулярном резервном копировании.
Перезагрузка сервера 1С и SQL-сервера
Самый простой способ, при условии, что на текущий момент в базе никто не работает.
Зайдите на сервер и выключите следующие службы:
- «Агент сервера 1С»,
- «SQL Server»,
- «Агент SQL Сервера».
А затем запустите их обратно.
Очистка кэша на сервере и клиента, где проявилась ошибка
В некоторых случаях исправить ошибку SDBL можно с помощью очистки кэша сервера 1С.
Как правило кэш расположен по адресу:
- «%userprofile%Local SettingsApplication Data1C1Cv8» и «%userprofile%Application Data1C1Cv8» для Windows XP,
- «%userprofile%AppDataRoaming1C1Cv8» и «%userprofile%AppDataLocal1C1Cv8» для Windows 7 и выше.
Перейдите в данный каталог и удалить все папки с генерированными именами вида « dg7c8re4-b89r…». При удалении будьте внимательны — в этой директории может присутствовать индекс полнотекстового поиска 1С, а также журналы регистрации, их удалять не нужно.
Перезаливка базы из DT-файла
Иногда помогает, казалось бы, парадоксальный способ — выгрузка базы данных в файл формата DT, а затем загрузка его обратно.
Войдите в режим «Конфигуратор», выберите пункт меню «Администрирование» > «Выгрузить информационную базу» и выберите каталог для сохранения файла.
Затем через аналогично через меню «Администрирование» > «Загрузить информационную базу» загрузите его обратно.
Тестирование и исправление Информационной базы
Для тестирование и исправление Информационной базы: войдите в «Конфигуратор», выберите пункт меню «Администрирование» > «Тестирование и исправление».
В случаях, когда невозможно запустить конфигуратор, воспользуйтесь утилитой chdbfl.exe. Это упрощенная программа-аналог тестирования базы, функции, которая запускается в режиме конфигуратора. Расположена она в папке «bin» установленной технологической платформы, например, C:Program Files (x86)1cv88.3…inchdbfl.exe.
Пользоваться ей просто — указываете путь к файлу базы данных и ставите опцию, нужно ли сразу исправлять обнаруженные ошибки. Если нет — утилита только продиагностирует ИБ.
Обновление платформы до новой версии
В данном случае всё достаточно просто. Скачивает с сайта поддержки 1С дистрибутив свежей версии платформы, распаковываем и запускаем инсталятор setup.exe.
Очистка таблиц базы данных
В крайнем случае можно попробовать удалить таблицы БД, связанные с ошибкой — «dbo._ConfigChngR» и «dbo._ConfigChngR_ExtProps».
Производится это через менеджер SQL-скриптом вида:
use имя_базы_данных
delete from dbo ._ ConfigChngR
delete from dbo ._ ConfigChngR _ ExtProps
Помните, прямые SQL-запросы лучше доверить профессионалу, умеющему работать с SQL.
Что нового для вашей 1С?
Рассылка осуществляется в день выхода обновления. Никакой рекламы, только полезная информация. Посмотрите пример →