HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1, 1c, 8.x, 8.1, 8.2, 8.3" />
В процессе обновления базы 1С 8 произошла критическая ошибка. Не удалось вставить значение NULL в столбец таблицы
Описание ошибки:
В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец "_Fld518", таблицы "Бухгалтерия.dbo._Reference18NG"; в столбце запрещены значения NULL. Ошибка в INSERT. HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1 Найденные решения: Нажатие на изображении увеличит его Описание ошибки уже само за себя говорит о моменте ее возникновения - в процессе обновления конфигурации базы данных. И текст ошибки сообщает о том, что некоторые данные базы некорректные. Этот конкретный пример предоставит представление о том, как можно разрешить подобного рода ошибки с минимальными знаниями и использованием MS SQL. Т.к. база данных на СУБД Microsoft SQL Server, то учитывая тот факт, что в ошибке есть исчерпывающие данные, то можно определить проблему и устранить с помощью самой СУБД. Попробуем определить, в каких объектах базы содержится ошибка и далее. Потребуется запустить SQL Server Management Studio. В дереве "Обозреватель объектов" находим базу данных по ее имени. Раскрываем ветку "Таблицы": Можно отметить, что название таблиц "_Reference" - это справочники, "_Document" - документы, "_DocumentJourna" - журнал документов, "_Enum" - перечисления, "_InfoRg" - регистры сведений, "_Const" - константы. Находим таблицу из описания ошибки, в данном примере "_Reference18". В ошибке еще содержится "NG" - это значит new generation (новое поколение), т.к. таблица обновляется. Но ищем исходную таблицу по имени. Правой кнопкой мыши открываем контекстное меню, переходим в подменю "Создать скрипт для таблицы", далее в подменю "Использую SELECT" и наконец пункт "Новое окно редактирования запросов". Таким подходом через менд запрос SELECT позволяет выбрать сразу содержимое всех колонок (столбцов) таблицы. Нажимаем кнопку "Выполнить" командной панели над обозревателем объектов. Нажатие на изображении увеличит его Это делается для того, чтоб идентифицировать, в каких данных базы содержится проблема. И по запросу и составу данных станет окончательно ясно, какой это справочник. После выполнения запроса можно изучить колонки таблицы "_Description" - она есть у любой таблицы, т.к. соответствует обязательному реквизиту любого справочника "Наименование" (для документов, таким обязательным реквизитом будет номер и дата - "_Date_Time" и "Number"). В текущем примере данные колонки таблицы "_Fld518" и колонки "_Description" легко позволяют понять, что проблема в реквизите "НомерСчета" справочника "Банковские счета". Нажатие на изображении увеличит его Даже если данные будут непонятными, то можно будет в режиме 1С:Предприятие воспользоваться полнотекстовым поиском в базе и найти элемент справочника по наименованию или документ по дате и номеру. Можно было бы сделать запрос далее к базе SQL на поиск значения NULL в столбце таблицы. Но, если Вы не так сильны в запросах к MS SQL, то предлагается дальнейшее устранение ошибки средствами самой 1С. В зависимости от типа и содержания ошибки стратегия поиска может меняться. Но в данном случае оставалось лишь составить запрос на поиск в справочнике реквизитов "НомерСчета" в значении NULL, ведь именно установка вызывает проблему, значит, скорее всего, что это значение неуместно для данного реквизита. Нажатие на изображении увеличит его В результате запроса получается выборка. Далее остается решить, что делать с этими данными. Либо корректно заполнить, либо удалить, если на эти элементы нет ссылок в базе. И далее, если других подобных ошибок в базе нет, то обновление закончится успешно.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2025. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу. 06-08-2021 Журавлев А.С. (Сайт azhur-c.ru) |
|
|||||||||||||
Copyright 2013-. Azhur-c.ru
ИП Журавлев Александр Сергеевич ИНН 667000271590 ОГРНИП 312667014300041 |