Обычно ошибка 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…binchdbfl.exe.
Пользоваться ей просто — указываете путь к файлу базы данных и ставите опцию, нужно ли сразу исправлять обнаруженные ошибки. Если нет — утилита только продиагностирует ИБ.
Обновление платформы до новой версии
В данном случае всё достаточно просто. Скачивает с сайта поддержки 1С дистрибутив свежей версии платформы, распаковываем и запускаем инсталятор setup.exe.
Очистка таблиц базы данных
В крайнем случае можно попробовать удалить таблицы БД, связанные с ошибкой — «dbo._ConfigChngR» и «dbo._ConfigChngR_ExtProps».
Производится это через менеджер SQL-скриптом вида:
use имя_базы_данных
delete from dbo ._ ConfigChngR
delete from dbo ._ ConfigChngR _ ExtProps
Помните, прямые SQL-запросы лучше доверить профессионалу, умеющему работать с SQL.
55691
Руководитель Центра
сопровождения 1С
09 января 2019
Помощь 1С
Актуальность проверена: 04.06.2023
Получить консультацию
Бесплатно
Обслуживание 1С
Помощь персонального менеджера, оперативность сдачи отчетности, соответствие законодательству РФ
Устранение блокировок в 1С
Исключение «простоев» сотрудников. Исключение «плохих» блокировок»
Различные конфигурации 1С из-за сложности кода, бывает, огорчают администраторов и пользователей ошибками. Многие из них легко устраняются, но существуют и те, что способны испортить достаточно «крови» ИТ-службам. Одна из таких ошибок известна в кругах специалистов по 1С под именем «Ошибка SDBL».
Исправление ошибки SDBL в 1С
Обычно сообщение об ошибке SDBL мы видим при обновлении конфигурации, сохранении изменений или работе обменов данными. Чаще всего сопровождаться она следующими сообщениями:
- Ошибка при полнотекстовом индексировании;
- Попытка вставки значения недопустимого типа;
- Поле таблицы не может принимать значение NULL;
- Ожидается выражение (pos = );
- Пропущена точка с запятой;
- Выход за пределы размерности;
- Поле определено неоднозначно.
Бесплатная
консультация
эксперта
Анна Викулина
Руководитель Центра
сопровождения 1С
Спасибо за Ваше обращение!
Специалист 1С свяжется с вами в течение 15 минут.
Также эта ошибка может сопровождаться и другими информационными сообщениями. Чтобы решить эту проблему, администраторы 1С для начала применяют достаточно простые решения:
- Очистка КЭШа на сервере и компьютере пользователя, где появилась ошибка. Необходимо выйти из 1С, найти все папки с названиями типа «bd5c8ea4-b65f-4c23-a9c8-2dccfb0b15fa» в папке «Application Data» и удалить их;
- Перезагрузка сервера приложений 1С. Также может помочь включение и выключение всех связанных сервисов – SQL и его агента. Заходим на сервер, находим службу «Агент сервера 1С» и останавливаем ее с помощью контекстного меню. Аналогично поступаем со службами «SQL Server» и «Агент SQL Сервера» на сервере SQL. Затем включаем в обратной последовательности;
- Механизм «Тестирование и исправление ИБ», доступный в конфигураторе. В нужной информационной базе заходим в «Администрирование» — «Тестирование и исправление…» и запускаем процесс;
- Выгрузка базы данных в файл формата DT и загрузка его обратно в ту же информационную базу. Также выполняется в режиме конфигуратора через меню «Администрирование». Используются команды «Выгрузить информационную базу…» и «Загрузить информационную базу…»;
- Загрузка из резервной копии, если она сделана недавно. Резервные копии необходимо делать регулярно и дополнительно перед каждым серьезным действием с информационной базой. Резервные копии можно делать с помощью SQL MS или конфигуратора через выгрузку файла формата dt;
- Обновление платформы до более новой версии с официального портала ИТС. Необходимо скачать с сайта ИТС последний релиз платформы и установить на сервере и клиентских компьютерах.
Если все эти методы не дали результата, то для клиент-серверного варианта базы 1С можно попробовать очистить таблицы _ConfigChngR_ExtProps и _ConfigChngR. Делать это доверьте профессионалу, умеющему работать с MSSQL. В подавляющем большинстве случаев один из этих методов обязательно поможет. Если же ошибка осталась, и у вас нет резервной копии, следует обратиться к профессионалам за помощью.
Другие статьи по теме
Где скачать новый классификатор ОКОФ и как его загрузить в 1С 8.3 и 8.2
Понятие Общероссийского классификатора основных фондов знакомо всем специалистам, отвечающим по работе за учет объектов предприятия. ОКОФ разрабатывался для системной работы с фондами или, что в этом …
Почему 1С долго обновляется
Пользователям и администраторам знакома такая проблема: 1С от раза к разу обновляется все медленнее, до того, что это становится просто неприемлемо
Где скачать ФИАС и как его загрузить в 1С
Федеральная информационная адресная система (ФИАС) – федеральная государственная информационная система, обеспечивающая формирование, ведение и использование государственного адресного реестра
to continue to Google Sites
Not your computer? Use Guest mode to sign in privately. Learn more
11.01.12 — 15:04
Добрый день.Платформа 8.2.14.540. Конфигурация УПП 8.2.14.3.Sql server 2008.
Недавно при проведении нового документа Оприходование товаров появилась такая ошибка: Ошибка SDBL: Поле Fld24244 таблицы Document389 не может принимать значение Null.
Делал тестирование исправление — ничего не помогло.
Где искать ошибку и как с ней бороться?
1 — 11.01.12 — 15:08
смотреть, что за поле, какой реквизит отвечает
потом уже думать — может что из конфигуратора поправить удастся
2 — 11.01.12 — 15:09
Для начала стоит посмотреть значение какого реквизита несет это поле. Далее посмотреть значения каких типов может принимать реквизит и посмотреть что по факту там находится. Null обычно для составных типов не допустимо для несоставных
3 — 11.01.12 — 15:09
(1) где посмотреть что за поле?
4 — 11.01.12 — 15:11
Поле Fld24244 как мне найти в структуре метаданных документа?
5 — 11.01.12 — 15:11
(3) На ИТС вроде типовая была, либо из нетиповых на инфостарте глянь. Когда сам такую выкладывал
6 — 11.01.12 — 15:13
(5) а как хоть обработка называется?
7 — 11.01.12 — 15:14
(6) Этого не помню. Еще проще метод — глянуть в СП функцию ПолучитьСтруктуруХраненияБазыДанных()
8 — 11.01.12 — 15:17
infostart.ru/public/76537/
9 — 11.01.12 — 15:39
(8) большое спасибо за обработку. Поле Fld24244 я нашел. А что дальше с ним делать?
10 — 11.01.12 — 15:40
в нём почему-то тип не указан
11 — 11.01.12 — 15:41
(9) Какой реквизит — какие типы может принимать ? В отладчике глянь чего в него пихает ругающийся документ. Кроме того, проблема скорее всего при записи — а не при проведений документа — ибо меняется значение реквизита шапки.
12 — 11.01.12 — 15:41
(10) В конфигураторе тип реквизита глянь
13 — 11.01.12 — 15:53
просто в обработке мне показало следующее:
Таблица SQL|Поле SQL |Поле 1С
Document389|_Fld24244RRef |
_Fld24095RRef |ПодразделениеЗатраты
…………………………
В остальных таблицах показаны реальные реквизиты док.
14 — 11.01.12 — 15:54
а _Fld24244RRef = пусто. Как найти ему соответствие реквизиту 1с?
15 — 11.01.12 — 16:02
Сделай скриншот — несколько неясно о чем речь.
В (0) ты пишешь о поле Fld24244. Отсутсвие суффиксов говорит о явно простом типе значение.
В (13) Пишешь о поле Fld24244RRef , суффикс которого RRef указывает на хранение ссылочного типа значений.
16 — 11.01.12 — 16:13
блин, как сюда скриншоты вставлять?
17 — 11.01.12 — 16:16
(16) Через любой бесплатный хостинг, например imageshack.us
18 — 11.01.12 — 16:21
19 — 11.01.12 — 16:25
(18) А где RRef из (13) ?
20 — 11.01.12 — 16:28
21 — 11.01.12 — 16:29
(20) Предположительно это колонка следствие ошибки в структуре БД. Пробовал проводить реструктуризацию БД ?
22 — 11.01.12 — 16:31
(21)нет. Делал все проверки , кроме реструктуризации.
23 — 11.01.12 — 16:32
(22) Стоит сделать — скорее всего это решит проблему.
24 — 11.01.12 — 16:35
(23) сейчас буду пробывать. ОГРОМНОЕ СПАСИБО, что уделил мне время.
25 — 11.01.12 — 16:39
(24) Не за что. Лишь бы помогло
26 — 11.01.12 — 16:44
(15) Кстати, разница в именах полей 2х обработок возникла из отображение в SDBL представлении в (18) при SQL представлении в (20). Более информативно SQL представление, ибо дает больше информации о поле. В данном случае поле явно создавалось как ссылочное.
27 — 11.01.12 — 17:03
не помогла реструктуризация(
28 — 11.01.12 — 17:18
(27) Попробуй выгрузить сфник и загрузить в новую базу — появится ли в структуре лишнее поле.
29 — 11.01.12 — 17:18
может ещё идеи какие-нибудь есть?
30 — 11.01.12 — 17:32
(0)
На машине клиент банка какой ни будь есть?
У меня в платежках подобная ошибка возникает но только на той машине где клиент банка стоит.
31 — 11.01.12 — 17:38
(28) не в структуре не появилось лишнее поле.
32 — 11.01.12 — 17:39
(30) не , клиент банк не стоит
33 — 11.01.12 — 18:14
(31) Так значит у тебя проблема в данных. База большая ? Попробуй выгрузить базу и загрузить понову. Если не поможет — На копии (!!!) стоит попробовать вручную в SQL грохнуть колонку.
34 — 12.01.12 — 10:17
(33) РАЗОБРАЛСЯ!!!!!!!!!!!!!!!!!!!!!!!
ВСЕМ СПАСИБО ЗА ПОМОШЬ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
IT_PROGRAMMIST
35 — 13.01.12 — 11:03
решение: уд., а потом доб. последнего реквизита в цепочке метаданных документа
Ошибка SBDL — не очень приятная, но далеко не редкая. Часто она появляется на этапе обновления информационной базы, в момент реструктуризации базы данных. Под ней может крыться достаточно много неприятностей, а указывает она на то, что с базой данных произошли какие-то сбои.
Содержания могут быть следующими:
Ошибка SDBL: Ожидается CAST, идентификатор или константа (pos=32), Ошибка при полнотекстовом индексировании
Ошибка SDBL: Поле Fld1318 таблицы Document11 не может принимать значение NULL (pos=15)
Ошибка SDBL: Выход за пределы размерности результата — данный сбой возникает в конфигураторе при обновлении конфигурации на этапе реструктуризации базы данных. Последнее что можно увидеть в строке состояния: …» Выход за пределы размерности результата
Ошибка SDBL: Попытка быстрой вставки значения недопустимого типа (pos = 23)
Тексты ошибок могут отличаться и это только одни из множества вариантов.
К сожалению, попытки устранить описанные проблемы могут и не привести к чему-то положительному. Поэтому, рекомендуется не забывать о регулярном резервном копировании, чтобы на случай экстренных ситуаций, всегда была возможность сделать шаг назад, восстановив данные из копии. Также, рекомендуется не проводить эксперименты самостоятельно, а обратиться к профессионалам своего дела. Но, все же, если вы решили на свой страх и риск попробовать разобраться с этой неприятной ситуацией, то рекомендуем вам сделать следующие действия:
- Перезагрузка сервера 1С, SQL — сервера;
- Очистить кэш (cache) пользователя и сервера 1С;
- Выполнить процедуру тестирования и исправления (Конфигуратор-Администрирование-Тестирование и исправление…);
- Резервное копирование и загрузку файла 8.dt обратно в эту же базу;
- Обновить платформу до последнего релиза.
Рекомендуем не проводить экспериментов в поисках решения проблемы. Мы готовы решить эту ситуацию быстро и не дорого!
Если ничего из этих действий не привело к результату, то, рекомендуем попробовать очистить таблицы _ConfigChngR и _ConfigChngR_ExtProps, через менеджер SQL простым скрипто:
use Имя_БД
delete from dbo._ConfigChngR
delete from dbo._ConfigChngR_ExtProps
Также, в 1С встречаются и другие трудности. Подробнее о распространенных ошибках можно почитать тут.