В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД:
Ошибка 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, запустите Тестирование и исправление из Конфигуратора, установив флаги Проверка ссылочной и логической целостности.
Для Серверного варианта тоже должно помочь.
Столкнулся с такой же проблемой в файловом варианте. 1c_tool с возможностью редактирования. Еще бубем и все заработало.
Подскажите как при помощи 1c_tool исправить данную ошибку ??? ТИС не помогает именно при тестировании и выходит данная ошибка.
Также параллельно с ней появляется «ошибка формата потока » подскажите как быть куда копать ?
Обнаружена такая же проблема в файловой варианте БП 2.0. Тестирование и исправление не помогает.
Искал проблемные следующим образом: в листере тотал коммандера открыл базу, поиском задал имя поля (без нижнего подчеркивания). когда спозиционировался поиск на данное поле листая вверх определил ближайшее объявление объекта, в моем случае это оказался Reference17 (справочник банковские счета) и Reference60. Ну а дальше, как вариант — через консоль запросов выбрать из этих справочников все значения содержащие NULL и по ситуации действовать
А у меня имя поле _NUMBER, но в шапках документа я не нашел пустого номера…
(6) Ага спасибо, помогло! Только использовал Winhex. а потом уже удалил запись через 1c_tool
Сегодня на одной базе была такая же ошибка. Помогло ТиИ.
Добрый день, сегодня обнаружил такую же проблему в БП 3.0 при обновлении вылезла гадость такая, помогло ТИИ