gifts2017

Ошибка SQL: Запись значения NULL в поле, не допускающее NULL

Опубликовал ptkrzy в раздел Администрирование - Тестирование и исправление

При запуске тестировани и исправления появляется сообщение:

В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД:
Ошибка SQL: Запись значения NULL в поле, не допускающее NULL '_FLD891RREF' по причине:
Ошибка SQL: Запись значения NULL в поле, не допускающее NULL '_FLD891RREF'

Ошибка появляется как в файловом, так и в серверном варианте запуска программы.

В SQL

Узнаем имя проблемной таблицы

Use DB_NAME       
SELECT TABLE_NAME
FROM information_schema.COLUMNS
WHERE  COLUMN_NAME LIKE '%_FLD891RREF%'

В моем случае это _Reference61

Узнаем имя объекта в 1с. Просто останавливаемся с отладчике, в табло выводим результат ПолучитьСтруктуруХраненияБазыДанных(). Через Ctrl+F находим объект в 1с. В моем случае это был справочник КБК. Так и предполагалось, т.к. когда тестирование прервалось, в окне сообщений последняя запись была об этом типе объекта.

Ищем проблемный элемент


Select * from _Reference61
Where _FLD891RREF IS NULL

В моем случае сплошные NULL  - надо искать объект с пустыми полями. Справочник небольшой и я его увидел сразу.

И теперь главный вопрос - что делать. В данном случае на справочник ссылались два помеченных на удаление документа, так что решение было очевидно.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Александр Киричков (GreenDragon) 15.11.14 10:01
Описано решение проблемы в серверном варианте. Что делать пользователям в файловом варианте? Крайне "куцая" публикация
2. Ирина Махно (mie24) 19.11.14 10:06
(1) GreenDragon, запустите Тестирование и исправление из Конфигуратора, установив флаги Проверка ссылочной и логической целостности.
Для Серверного варианта тоже должно помочь.
3. Юрий Патласов (NoRazum) 29.01.15 21:16
Столкнулся с такой же проблемой в файловом варианте. 1c_tool с возможностью редактирования. Еще бубем и все заработало.
4. Григорьев Анатолий (ToJIuK) 18.10.15 23:28
Подскажите как при помощи 1c_tool исправить данную ошибку ??? ТИС не помогает именно при тестировании и выходит данная ошибка.
Также параллельно с ней появляется "ошибка формата потока " подскажите как быть куда копать ?
5. Сергей Иванов (psa247) 20.01.16 07:37
Обнаружена такая же проблема в файловой варианте БП 2.0. Тестирование и исправление не помогает.
6. Сергей Иванов (psa247) 20.01.16 08:18
Искал проблемные следующим образом: в листере тотал коммандера открыл базу, поиском задал имя поля (без нижнего подчеркивания). когда спозиционировался поиск на данное поле листая вверх определил ближайшее объявление объекта, в моем случае это оказался Reference17 (справочник банковские счета) и Reference60. Ну а дальше, как вариант - через консоль запросов выбрать из этих справочников все значения содержащие NULL и по ситуации действовать
7. Alex Necro (alexnecro) 15.06.16 13:28
А у меня имя поле _NUMBER, но в шапках документа я не нашел пустого номера...
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа