В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец таблицы ".dbo."; в столбце запрещены значения NULL. Ошибка в INSERT.
 
Описание ошибки:
Столкнулся с ошибкой при выполнении процедуры Тестирование и исправление... на этапе реструктуризации таблиц информационной базы. База клиент-серверная. 1С: Управление торговлей 10.3.31. Платформа 1С: Предприятие 8.3.9

Найденные решения:

Сложно сказать, что посчастливилось, но все же ошибка преследовала меня в базе не единожды. Но по своей сути каждая последующая формулировка "В процессе обновления информационной базы произошла критическая ошибка..." отличалсь в причине и решении незначительно. С такой ошибкой столкнулся, если быть откровенным, впервые, но интернет в принятии решения устранения ошибки сильно не помог, кроме вот этого обсуждения на форуме Как удалить строки содержащие NULL в таблице где NULL недопустимо. Зацепок решения не было. Но все же решение было найдено. Читаем... ниже.

1С 8 ошибки в конфигураторе тестирование и исправление базы данных, В процессе обновления информационной базы произошла критическая ошибка

Итак, начнем с первого факта возникновения ошибки при выполнении тестирования и исправления базы данных на этапе реструктуризации таблиц базы данных.

1С 8 критическая ошибка по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец , таблицы   ".dbo."; в столбце запрещены значения NULL. Ошибка в INSERT.

Кнопка "Подробно...":

1С 8, конфигуратор, тестирование, как исправить ошибку HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

Полный текст ошибки:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец "_Fld412", таблицы "Торговля.dbo._Reference19NG"; в столбце запрещены значения NULL. Ошибка в INSERT.
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

Если взглянуть скрином ранее, то нельзя упустить из виду подсказку, оставленую программой в левом нижнем углу окна программы, в строке состояния, о том, что выполнение реструктуризации прервалось на справочнике "Банковские счета". В базе справочник имел более 3х с половиной тысяч элементов, поэтому сходу было сложно понять, в каком из них скрывается ошибка. Была написана простая обработка, которая просто должны была обойти все элементы справочника и перезаписать их. Надежда была на то, что запись проблемного элемента завершиться ошибкой.

Исполняемый код обработки прост:

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               | БанковскиеСчета.Ссылка
               |ИЗ
               | Справочник.БанковскиеСчета КАК БанковскиеСчета";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
       СпрОбъект = Выборка.Ссылка.ПолучитьОбъект();
       СпрОбъект.Записать();
КонецЦикла;

Предположение было оправдано. Ошибка при записи возникла. Теперь было понятно, элемент с каким кодом может быть причиной критической ошибки в процессе обновления информационной базы.

1C 8 как исправить ошибку при тестировании и исправлении в конфигураторе В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0

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

Тестирование и исправление было запущено повторно. Но уже вскоре после запуска процедуры в режиме реструктуризация таблиц базы мен ожидала идентичная ошибка, но уже связанная со справочником "Организации".

Новый текст ошибки отличался лишь немногим, названием таблицы и именем столбца:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец "_Fld888", таблицы "Торговля.dbo._Reference66NG"; в столбце запрещены значения NULL. Ошибка в INSERT.
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

1С 8 ошибка в конфигураторе как исправить Не удалось вставить значение NULL в столбец "_Fld888", таблицы   "Торговля.dbo._Reference66NG"; в столбце запрещены значения NULL. Ошибка в INSERT.

По опыту предыдущей инцидента уже казалось понятным, что в справочнике у какого-то элемента не заполнены данные. Так и оказалось. Проблемный элемент справочника был найден мгновенно и в этом случае повезло больше элемент можно было пометить на удаление, был помечен и удален с помощью "Удаление помеченных объектов".

1С предприятие 8 ошибка при тестировании базы как устранить HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

Тестирование и исправление было запущено в третий раз. Но и этот раз не обошелся без "критической ошибки в процессе обновления информационной базы".

Текст третьей ошибки:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец "_Fld1024RRef", таблицы "Торговля.dbo._Reference88NG"; в столбце запрещены значения NULL. Ошибка в INSERT.
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

1С 8 конфигуратор ошибка при тестировании и исправлении, реструктуризация таблиц информационной базы, В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД:

Но и в этот раз программа оставила подсказку, что проблема содержится в записях справочника "ТипыЦенНоменклатурыКонтрагентов".

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

1С 8 ошибка конфигуратора Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец таблицы   dbo, в столбце запрещены значения NULL. Ошибка в INSERT. HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

И в итоге очередной запуск, уже четвертый по счету, в режиме "Реструктуризация таблиц информационной базы" в рамках тестирования и исправления завершился успешно.

 

Оцените, помогло ли Вам предоставленное описание решения ошибки?

© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

31-10-2018

Журавлев А.С. (Сайт azhur-c.ru)

 
 

Здесь можно
приобрести лицензии

1С 8
​ и типовые решения

ural-rosaudit.ru - Аудит в сфере ЖКХ, www.ural-rosaudit.ru
azhur-blog.ru - мошенничество в интернете, www.azhur-blog.ru
info-compas.ru - каталог, инфокурсы, видеокурсы, видео курсы, обучение он-лайн, www.info-compas.ru
https://vk.com/effective_ideas - Группа вКонтакте Методы заработка и работы при помощи Интернет

 

Проверить аттестат
Cистема приема платежей, касса для сайта
Cистема управления контентом Santafox&trade. Санкт-Петербург, Ленинский проспект, д. 23 (812) 545-47-48
Яндекс.Метрика