Ошибка sdbl поле таблицы не может принимать значение null

Обычно ошибка 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С

Исключение «простоев» сотрудников. Исключение «плохих» блокировок»

Различные конфигурации 1С из-за сложности кода, бывает, огорчают администраторов и пользователей ошибками. Многие из них легко устраняются, но существуют и те, что способны испортить достаточно «крови» ИТ-службам. Одна из таких ошибок известна в кругах специалистов по 1С под именем «Ошибка SDBL».

Исправление ошибки SDBL в 1С

Обычно сообщение об ошибке SDBL мы видим при обновлении конфигурации, сохранении изменений или работе обменов данными. Чаще всего сопровождаться она следующими сообщениями:

  • Ошибка при полнотекстовом индексировании;
  • Попытка вставки значения недопустимого типа;
  • Поле таблицы не может принимать значение NULL;
  • Ожидается выражение (pos = );
  • Пропущена точка с запятой;
  • Выход за пределы размерности;
  • Поле определено неоднозначно.
Рис.1 Исправление ошибки SDBL в 1С
Рис.1 Исправление ошибки SDBL в 1С

Бесплатная
консультация
эксперта

Анна Викулина

Руководитель Центра
сопровождения 1С

Спасибо за Ваше обращение!

Специалист 1С свяжется с вами в течение 15 минут.

Также эта ошибка может сопровождаться и другими информационными сообщениями. Чтобы решить эту проблему, администраторы 1С для начала применяют достаточно простые решения:

  1. Очистка КЭШа на сервере и компьютере пользователя, где появилась ошибка. Необходимо выйти из 1С, найти все папки с названиями типа «bd5c8ea4-b65f-4c23-a9c8-2dccfb0b15fa» в папке «Application Data» и удалить их;
  2. Перезагрузка сервера приложений 1С. Также может помочь включение и выключение всех связанных сервисов – SQL и его агента. Заходим на сервер, находим службу «Агент сервера 1С» и останавливаем ее с помощью контекстного меню. Аналогично поступаем со службами «SQL Server» и «Агент SQL Сервера» на сервере SQL. Затем включаем в обратной последовательности;
  3. Механизм «Тестирование и исправление ИБ», доступный в конфигураторе. В нужной информационной базе заходим в «Администрирование» — «Тестирование и исправление…» и запускаем процесс;
  4. Выгрузка базы данных в файл формата DT и загрузка его обратно в ту же информационную базу. Также выполняется в режиме конфигуратора через меню «Администрирование». Используются команды «Выгрузить информационную базу…» и «Загрузить информационную базу…»;
  5. Загрузка из резервной копии, если она сделана недавно. Резервные копии необходимо делать регулярно и дополнительно перед каждым серьезным действием с информационной базой. Резервные копии можно делать с помощью SQL MS или конфигуратора через выгрузку файла формата dt;
  6. Обновление платформы до более новой версии с официального портала ИТС. Необходимо скачать с сайта ИТС последний релиз платформы и установить на сервере и клиентских компьютерах.

Если все эти методы не дали результата, то для клиент-серверного варианта базы 1С можно попробовать очистить таблицы _ConfigChngR_ExtProps и _ConfigChngR. Делать это доверьте профессионалу, умеющему работать с MSSQL. В подавляющем большинстве случаев один из этих методов обязательно поможет. Если же ошибка осталась, и у вас нет резервной копии, следует обратиться к профессионалам за помощью.

Другие статьи по теме

Где скачать новый классификатор ОКОФ и как его загрузить в 1С 8.3 и 8.2

Где скачать новый классификатор ОКОФ и как его загрузить в 1С 8.3 и 8.2

Понятие Общероссийского классификатора основных фондов знакомо всем специалистам, отвечающим по работе за учет объектов предприятия. ОКОФ разрабатывался для системной работы с фондами или, что в этом …

Почему 1С долго обновляется

Почему 1С долго обновляется

Пользователям и администраторам знакома такая проблема: 1С от раза к разу обновляется все медленнее, до того, что это становится просто неприемлемо

Где скачать ФИАС и как его загрузить в 1С

Где скачать ФИАС и как его загрузить в 1С

Федеральная информационная адресная система (ФИАС) – федеральная государственная информационная система, обеспечивающая формирование, ведение и использование государственного адресного реестра

to continue to Google Sites

Not your computer? Use Guest mode to sign in privately. Learn more

   IT_PROGRAMMIST

11.01.12 — 15:04

Добрый день.Платформа 8.2.14.540. Конфигурация УПП 8.2.14.3.Sql server 2008.

Недавно при проведении нового документа Оприходование товаров появилась такая ошибка: Ошибка SDBL: Поле Fld24244 таблицы Document389 не может принимать значение Null.

Делал тестирование исправление — ничего не помогло.

Где искать ошибку и как с ней бороться?

   mikecool

1 — 11.01.12 — 15:08

смотреть, что за поле, какой реквизит отвечает

потом уже думать — может что из конфигуратора поправить удастся

   Kashemir

2 — 11.01.12 — 15:09

Для начала стоит посмотреть значение какого реквизита несет это поле. Далее посмотреть значения каких типов может принимать реквизит и посмотреть что по факту там находится. Null обычно для составных типов не допустимо для несоставных

   IT_PROGRAMMIST

3 — 11.01.12 — 15:09

(1) где посмотреть что за поле?

   IT_PROGRAMMIST

4 — 11.01.12 — 15:11

Поле Fld24244 как мне найти в структуре метаданных документа?

   Kashemir

5 — 11.01.12 — 15:11

(3) На ИТС вроде типовая была, либо из нетиповых на инфостарте глянь. Когда сам такую выкладывал

   IT_PROGRAMMIST

6 — 11.01.12 — 15:13

(5) а как хоть обработка называется?

   Kashemir

7 — 11.01.12 — 15:14

(6) Этого не помню. Еще проще метод — глянуть в СП функцию ПолучитьСтруктуруХраненияБазыДанных()

   Kashemir

8 — 11.01.12 — 15:17

infostart.ru/public/76537/

   IT_PROGRAMMIST

9 — 11.01.12 — 15:39

(8) большое спасибо за обработку. Поле Fld24244 я нашел. А что дальше с ним делать?

   IT_PROGRAMMIST

10 — 11.01.12 — 15:40

в нём почему-то тип не указан

   Kashemir

11 — 11.01.12 — 15:41

(9) Какой реквизит — какие типы может принимать ? В отладчике глянь чего в него пихает ругающийся документ. Кроме того, проблема скорее всего при записи — а не при проведений документа — ибо меняется значение реквизита шапки.

   Kashemir

12 — 11.01.12 — 15:41

(10) В конфигураторе тип реквизита глянь

   IT_PROGRAMMIST

13 — 11.01.12 — 15:53

просто в обработке мне показало следующее:

Таблица SQL|Поле SQL      |Поле 1С

Document389|_Fld24244RRef |

           _Fld24095RRef |ПодразделениеЗатраты

…………………………

В остальных таблицах показаны реальные реквизиты док.

   IT_PROGRAMMIST

14 — 11.01.12 — 15:54

а _Fld24244RRef = пусто. Как найти ему соответствие реквизиту 1с?

   Kashemir

15 — 11.01.12 — 16:02

Сделай скриншот — несколько неясно о чем речь.

В (0) ты пишешь о поле Fld24244. Отсутсвие суффиксов говорит о явно простом типе значение.

В (13) Пишешь о поле Fld24244RRef , суффикс которого RRef указывает на хранение ссылочного типа значений.

   IT_PROGRAMMIST

16 — 11.01.12 — 16:13

блин, как сюда скриншоты вставлять?

   Kashemir

17 — 11.01.12 — 16:16

(16) Через любой бесплатный хостинг, например imageshack.us

   IT_PROGRAMMIST

18 — 11.01.12 — 16:21

   Kashemir

19 — 11.01.12 — 16:25

(18) А где RRef из (13) ?

   IT_PROGRAMMIST

20 — 11.01.12 — 16:28

   Kashemir

21 — 11.01.12 — 16:29

(20) Предположительно это колонка следствие ошибки в структуре БД. Пробовал проводить реструктуризацию БД ?

   IT_PROGRAMMIST

22 — 11.01.12 — 16:31

(21)нет. Делал все проверки , кроме реструктуризации.

   Kashemir

23 — 11.01.12 — 16:32

(22) Стоит сделать — скорее всего это решит проблему.

   IT_PROGRAMMIST

24 — 11.01.12 — 16:35

(23) сейчас буду пробывать. ОГРОМНОЕ СПАСИБО, что уделил мне время.

   Kashemir

25 — 11.01.12 — 16:39

(24) Не за что. Лишь бы помогло :)

   Kashemir

26 — 11.01.12 — 16:44

(15) Кстати, разница в именах полей 2х обработок возникла из отображение в SDBL представлении в (18) при SQL представлении в (20). Более информативно SQL представление, ибо дает больше информации о поле. В данном случае поле явно создавалось как ссылочное.

   IT_PROGRAMMIST

27 — 11.01.12 — 17:03

не помогла реструктуризация(

   Kashemir

28 — 11.01.12 — 17:18

(27) Попробуй выгрузить сфник и загрузить в новую базу — появится ли в структуре лишнее поле.

   IT_PROGRAMMIST

29 — 11.01.12 — 17:18

может ещё идеи какие-нибудь есть?

   Lama12

30 — 11.01.12 — 17:32

(0)

На машине клиент банка какой ни будь есть?

У меня в платежках подобная ошибка возникает но только на той машине где клиент банка стоит.

   IT_PROGRAMMIST

31 — 11.01.12 — 17:38

(28) не в структуре не появилось лишнее поле.

   IT_PROGRAMMIST

32 — 11.01.12 — 17:39

(30) не , клиент банк не стоит

   Kashemir

33 — 11.01.12 — 18:14

(31) Так значит у тебя проблема в данных. База большая ? Попробуй выгрузить базу и загрузить понову. Если не поможет — На копии (!!!) стоит попробовать вручную в SQL грохнуть колонку.

   IT_PROGRAMMIST

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. Перезагрузка сервера 1С, SQL — сервера;
  2. Очистить кэш (cache) пользователя и сервера 1С;
  3. Выполнить процедуру тестирования и исправления (Конфигуратор-Администрирование-Тестирование и исправление…);
  4. Резервное копирование и загрузку файла 8.dt обратно в эту же базу;
  5. Обновить платформу до последнего релиза.

Рекомендуем не проводить экспериментов в поисках решения проблемы. Мы готовы решить эту ситуацию быстро и не дорого!

Если ничего из этих действий не привело к результату, то, рекомендуем попробовать очистить таблицы _ConfigChngR и _ConfigChngR_ExtProps, через менеджер SQL простым скрипто:

use Имя_БД 
delete from dbo._ConfigChngR 
delete from dbo._ConfigChngR_ExtProps

 

 Также, в 1С встречаются и другие трудности. Подробнее о распространенных ошибках можно почитать тут.

Понравилась статья? Поделить с друзьями:
  • Ошибка sdbl поле с таким именем уже определено 1с
  • Ошибка sdbl поле fld не может принимать значение null
  • Ошибка sdbl поле fld в from
  • Ошибка sdbl оператор insert вложенный в оператор update
  • Ошибка sdbl ожидается имя таблицы pos 49 1с