При выполнении конвертации структуры информационной базы произошла критическая ошибка 1с
Ошибки, которые возникают во время работы в 1С и методы их исправления
Эта статья ориентирована на обычных пользователей и новичков, которые только начали работать с программой. Опытные программисты знают об этих ошибках и у них есть свои методы решения проблемы. Я объединила в данной статье часто возникающие ошибки.
Причин появления ошибок может быть много. Может быть нарушена целостность базы, разработчик (программист) ошибся – такое бывает, все мы люди, сами пользователи не корректно работают с базой, сбой в операционной системе и так далее.
Если специалист, с которым Вы общаетесь, работает у Вас не постоянно, то необходимо сообщить информацию о релизах платформы и конфигурации, в которых работаете в настоящий момент. Как часто и как давно возникла проблема. Возникает такая ошибка у всех пользователей или только у одного. Исходя из всей полученной информации, специалист может уже сделать какие-то выводы и дать дальнейшие рекомендации.
При возникновении программных ошибок, первое, что нужно сделать – это почистить Кешь (и Local, и Roaming) чистим в первую очередь. И при возможности перезапускаем серверы приложения и СУБД.
Теперь перейдем к рассмотрению ошибок и вариантам их исправления.
1. Как не удивительно, но бывает так, что при обновлении платформы начали появляться ошибки , например при запуске программы, но полностью работу программы не останавливает. Тут можно попробовать переустановить платформу, бывает, что ошибки в релизе. Например: в версии платформы 8.3.13.1690 от пользователей поступали жалобы на сбои программы, переустановка при этом не помогала.
При установке нового релиза ошибка больше не появляется. В таком случае приходится ждать обновления.
Если уже такое случилось, и нового релиза нет, то выход один – восстанавливать базу из бекапа.
3. При выполнении действия ссылка на код, то есть выкидывает в конфигуратор.
В данном случае ошибка в коде и нужно с помощью отладчика искать ошибку. Это может произойти из-за ошибки программиста, который не учел какие-то моменты или ошибка в новом релизе (после обновления программы стала возникать), но в любом случае - без отладчика не обойтись.
4 . Ко мне часто обращались с таким вопросом, что один пользователь может выполнять операцию, а другой нет .
Тут все просто и я в статье уже об этом писала – ограничение прав. Значит у одного пользователя предоставлено в программе больше прав.
Бывает и так, что права то я дала одинаковые и проверила настройки прав доступа, а проблемы возникают. Тут поможет очистка кеша. О том как очистить кеш есть много информации в интернете, поэтому в этой статье я не буду об этом подробно рассказывать.
5. Частые жалобы, что все сломалось, а пользователь утверждает, что ни при чем, и ничего не делал . Или такое заявление: «Я не отменял(ла) проводки, а кто-то все сломал». Как правило, в таких случаях не добьёшься правды.
Нужно смотреть журнал регистрации. Его можно найти в Пользовательском режиме в разделе «Администрирование – Обслуживание - Журнал регистрации». В Конфигураторе – «Администрирование – Журнал регистрации». Отобраться по нужным реквизитам, и посмотреть какие были изменения, и кто их сделал. Еще специальную обработку добавляли, с помощью которой видели все изменения, которые происходили с документом или справочником (но это уже по личной инициативе, своя обработка).
6. С одного компьютера не войти в базу, с других – все работает
Если это файловая база , то очищаем кеш. Проверяем доступ к папке с базой. Возможно, что к папке не предоставлен общий доступ.
Если это клиент-серверный вариант , то тут может быть проблема связи или авторизации. В данном случае пингуем, анализируем системные логи и т. д. Еще помогает в решении проблемы технологический журнал, но это отдельная тема, так как неопытным специалистам будет сложно работать с ним. Технологический журнал требует хорошего понимания архитектуры работы системы и тексты запросов регистрируются на языке DBMS.
7. База запускается в конфигураторе, а в пользовательском режиме не работает
Если это единичная ошибка , то есть на одном компьютере, а у других такой проблемы нет, то удаляем базу из списка и подключаем заново. Можно попробовать зайти на другом компьютере под своими правами, если ошибка повториться, то проблема в настройке прав. Если с правами все в порядке, то возможна проблема с ПК, попробуйте подключить базу на другом компьютере.
В случае, если такая ошибка и у других пользователей , то нужно сделать Тестирование и исправление информационной базы. В конфигураторе «Администрирование – Тестирование и исправление». Галочки устанавливаете в зависимости от ситуации.
Можно выгрузить базу (dt), создать пустую новую базу и туда загрузить (dt) или провести тестирование средствами sql (chdbfl /).
8. База не открывается ни в конфигураторе, ни в пользовательском режиме
В данном случае решения похожи на те, что в пункте 6. То есть, очистка кеша, новое подключение базы, запуск с другого ПК – в случае ошибки на одном рабочем месте.
Если файловая база , то запустите утилиту chdbfl, для определения физической целостности базы. Утилита находится в папке: C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe
Если база на sql, то тестируйте chdbfl /.
Если все выше перечисленное не помогло, попробуйте установить новую платформу.
В пунктах 7 и 8 тоже специалисты рекомендуют не гадать, а обращаться к технологическому журналу. Это уже на Ваше усмотрение.
9. 1С закрывается с записью дампа памяти
При работе в программе, чаще всего при формировании отчетов 1с закрывается с формирование дампа памяти.
В этом случае нужно отключить аппаратное ускорение видеокарты .
Отключение аппаратного ускорения в Windows XP
- Открываем свойства экрана через Панель управления или щелкнув правой кнопкой мыши по любой части рабочего стола (свободного без ярлыков), выбрав в контекстном меню «Свойства».
- Откроется окно настройки дисплея. Нужно перейти на закладку «Параметры» и нажать кнопку «Дополнительно».
- Откроется окно свойств видеокарты. Перейдите на вкладку «Диагностика».
- Передвиньте регулятор в крайнее левое положение (то есть «нет»). Далее нажать «Применить» или «ОК».
- Все аппаратное ускорение отключено, но изменения вступят в силу только после перезагрузки системы.
Отключение аппаратного ускорения в Windows 7
- Открываете Панель управления (Пуск – Панель управления).
- Открываете элемент «Экран».
- В левой части открывшегося окна щелкните по ссылке «Настройка параметров экрана».
- В открывшемся окне нажмите на ссылку «Дополнительные параметры».
- Перейдите на вкладку «Диагностика» и нажмите кнопку «Изменить параметры».
- В открывшемся окне передвиньте регулятор в крайнее левое положение («нет») и нажмите «Ок».
- Если UAC включен, придется подтвердить, что изменения санкционированы пользователем.
- Аппаратное ускорение отключено. Изменения вступят в силу после перезагрузки системы.
В Windows 7 не всегда активна кнопка «Изменить параметры». Если кнопка неактивна, то отключить аппаратное ускорение не возможно, значит видеокарта и драйвер не поддерживают такие настройки.
Вариант решения проблемы через отключение аппаратного ускорения предлагается у многих специалистов, но это одна из возможных причин.
Лучшее решение – это обновление драйверов видео, так как чаще всего ошибки такого характера происходят со старыми драйверами.
При возникновении этой ошибки тоже рекомендуется анализировать технологический журнал.
10. Элементы форм неправильно расположены, форма до конца не разворачивается и т.д .
Такое часто возникало в 1С 8.2., в обычных формах (ОФ). В управляемых приложениях такой ошибки я уже не видела, хотя утверждают, что такое бывает, тогда может быть виноват браузер.
Если у вас старая версия программы и такое возникает в ОФ, то либо попробуйте очистить кешь, либо в конфигураторе смотрите привязки элементов формы. Я чаще всего в этом случае исправляла привязки.
В некоторых случаях достаточно просто перезапустить сеанс, но это работает не всегда.
11. Недостаточно памяти.
Эта ошибка может возникать при обновлении конфигурации, формировании отчета, загрузке или обработке большого файла и т. д. В данном случае речь идет об адресной памяти.
Причина ошибки в том, что по умолчанию, адресная память ограничена. Для 32-х битной системы – это 2 гб., а для 64- разрядной системы – 4 гб..
Можно увеличить размер памяти. Для этого нужно:
- запустить командную строку – «Пуск» - «Выполнить» - введите в поле « CMD » и нажмите « Enter »;
- ввести в командной строке «bcdedit /set increaseuserva 3072″, где 3072 — размер желаемой адресной памяти;
После успешного завершения процесса в 1С рекомендуется вернуть размер адресной памяти, если такая ошибка возникает редко. Для возврата нужно ввести в командной строке bcdedit /deletevalue increaseuserva.
Если такая ошибка происходит на сервере , то перезапустите рабочие процессы. Оптимизируйте проблемные запросы, не забудьте о фрагментации адресного пространства памяти.
12. Конфликт блокировок при выполнении транзакций
Конфликт блокировок встречается по следующим причинам:
- одновременная работа пользователей с большим объемом данных;
- ошибки и недочеты конфигурации, то есть неоптимальные запросы, неправильное применение объектов конфигурации, избыточность дополнительно разработанных блокировок, запрос остатков вначале действий.
Не стоит игнорировать конфликты блокировок. Они могут привести к дальнейшим, более грубым ошибкам в программе.
Решением проблемы конфликта блокировок в 1С 8.3 может стать перевод на ручной режим управления блокировками. Но в этом случае нужно будет самостоятельно контролировать все блокировки в системе, если вы это делать не готовы, то не торопитесь с переводом.
Быстрое решение проблемы, но при этом без поиска первопричин:
- завершить заблокированный сеанс пользователя;
- если очень много сотрудников и найти быстро заблокированный сеанс не возможно или жалоб несколько в одно и то же время, то можно перезагрузить сервер.
Перечисленные способы направлены на быстрое решение проблемы, чтобы не задерживать работу пользователей. Первопричину проблемы нужно искать уже в процессе работы, в отладчике, в журналах, то есть, анализируя весь процесс.
13. Ошибка СУБД: Внутренняя ошибка компоненты dbeng8
Как правило, это ошибка появляется при нарушении структуры базы данных. Прежде чем исправлять эту ошибку, сделайте резервную копию базы.
В этом случае нужно сделать Тестирование и исправление средствами конфигуратора .
- Администрирование – Тестирование и исправление…
- Далее устанавливаем как на картинке ниже.
Можно использовать утилиту chdbfl, она является аналогом тестирования и исправления . В пункте 8 я уже писала об этой утилите, напомню, что она находится - C:\Program Files (x86)\1cv8\8.x.x.xxx\bin\chdbfl.exe. После запуска утилиты потребуется указать путь к тестируемой базе данных и установить флаг «Исправлять обнаруженные ошибки».
Если два предыдущих способа не помогли, то можно переустановить платформу или подменить файл dbeng8.dll из другого дистрибутива программы, который находится также в папке bin .
Еще как вариант можно сделать выгрузку dt и загрузку в новую базу.
14. Ошибка SDBL: Выход за пределы размерности результата»
Такая ошибка может появиться при обновлении конфигурации или при использовании обменов по средствам РИБ (распределенных баз данных).
В этом случае может помочь один из вариантов решения.
- Очистите кеш сервера или перезагрузите службу сервера 1С:Предприятие.
- В менеджере SQL сервера очистить таблицы _ConfigChngR и _ConfigChngR_ExtProps (используя команду delete).
- Может помочь обновление платформы.
15. Ошибка десериализации контактной информации не указан ожидаемый тип
Эта ошибка может появиться при переходе на новую редакцию программы. Например: переводим Бухгалтерию Предприятия с версии 2.0 на 3.0. В этом случае некорректно конвертировался справочник «Виды контактной информации» . Бывает, что ошибка описана по-другому: «Сведения о виде контактной информации были повреждены» . В обоих случаях решается ошибка одинаково.
Нужно в справочнике «Виды контактной информации» пометить на удаление поле, тогда оно перестанет отображаться.
16. Ошибка формата потока
Варианты исправлений такие же как и в предыдущих ошибках.
Удаление временных файлов, тестирование и исправление в конфигураторе или с помощью утилиты.
Если перечисленные способы не помогли, но режим 1С предприятие запускается, то можно выгрузить данные в новую базу при помощи обработки « Универсальная выгрузка/загрузка данных XML », только при этом способе можете потерять некоторые данные.
Если конфигуратор запускается, то лучше выгрузить dt , а потом загрузить в новую базу. При таком способе вы данные не потеряете.
17. Начало сеанса с информационной базой запрещено. Резервное копирование
В этом случае перед тем, как что-то делать и выбирать вариант решения проблемы, о которых я расскажу позже, нужно полностью убедиться, что никто не работает в программе (не обновляет ее) и Вы на 100 % уверены, что процесс завис.
Самый простой вариант - удалить файл блокировки 1Cv8.cdn из каталога с информационной базой . Особенно этот способ подойдет, если это файловая база .
Второй способ – это через дополнительные параметры запуска с параметром СРазрешитьРаботуПользователей /UC /. На этом варианте остановимся подробней.
Такой способ подойдет в том случае если в программе был задан код для разблокировки. Задается этот код на закладке «Администрирование – Поддержка и обслуживание - Блокировка работы пользователей» (пример на картинке ниже).
Для того, чтобы запустить программу с дополнительными параметрами нужно выбрать из списка базу, которая заблокирована, затем нажать кнопку «Изменить» откроется окно «Редактирование информационной базы», затем «Далее», на второй закладке редактирования есть нужная нам строка «Дополнительные параметры запуска». Туда нужно ввести параметр СРазрешитьРаботуПользователей /UC 6542 , где 6542 – это пароль для разблокировки (пример на картинке ниже).
Если код блокировки был задан, но его забыли , то можно посмотреть его в файле 1Cv8.cdn. Открыть этот файл нужно с помощью текстового редактора.
Если кода не знаете или не задавали , то можете попробовать использовать значение по умолчанию «/UCКодРазрешения» или «/UC КодРазрешения».
Третий вариант решения проблемы подойдет для снятия блокировки с клиент-серверной базы .
Если есть доступ к консоли сервера , то нужно открыть свойства информационной базы и убрать галку «Блокировка начала сеансов включена» (на картинке выделено красным цветом, где нужно отключить флажок).
Четвертый способ – это откорректировать содержимое файла 1Cv8.cdn . Открываете файл с помощью текстового редактора. Первый параметр, который на картинке подчеркнут красным цветом – является признаком блокировки. Если там стоит 1, значит база заблокирована. Если поменять на 0 и записать изменения, то база должна запуститься.
18. Неверный формат хранилища данных
Причина ошибки кроется в кеше, или в нарушении целостности структуры.
Первое, что надо сделать – это почистить кешь. Если это не поможет, то запускаем Тестирование и исправление или файла chdbfl.exe , в предыдущих пунктах об этих способах я уже писала.
Самый радикальный способ – это перенос данных в пустую базу. Делать это стоит в самом крайнем случае, когда уже ничего не помогает.
Наверняка, найдутся специалисты и критики, у которых есть свое мнение по решению каждой из этих ошибок, отличное от моего - ну что-же, тогда напишите свои рекомендации, я буду признательна и мне они тоже пригодятся в дальнейшем.
Рада, что эта статья пользуется спросом. Появились новые ошибки, о которых, как и обещала рассказываю во второй части.
В большинстве случаев причина появления окна – недавний переход программы с устаревшей версии платформы на более новую. У разных платформ информационная база 1С формируется по-своему и принимает разный состав. Всё, что требуется сделать – произвести конвертацию базы данных (структура которой соответствует устаревшей платформе) в самый новый формат.
Преобразование БД
Процедура эта несложная, однако, сначала рекомендуется создать резервную копию базы, на случай, если во время конвертирования произойдёт ошибка (например, отключится компьютер, в результате информационная база 1С , как и сама программа, могут повредиться). Затем примените следующий алгоритм действий:
Откройте базу данных – она должна запуститься без проблем. Если после преобразования окно с ошибкой продолжает появляться, можно попробовать выполнить процедуру повторно. В случае, когда и это не помогает, необходимо обратиться к программисту 1С. Иногда при выполнении операции программа может подвисать. Не надо в этот момент предпринимать никаких действий.
Важно! Информационная база 1С , преобразованная последней версией программы, не может быть открыта на предыдущих версиях.
авторитет 18 сентября 2013 в 15:24
В свое время столкнулся с проблемой: при обновлении конфигурации из хранилища, произошел сбой, и закрылась 1С.
Как выяснилось позднее – произошло разрушение хранилища конфигурации и при обновлении конфигурации из хранилища слетела и конфигурация БД. Подобная ошибка возникала прежде при динамическом обновлении ИБ.
Т.к. данная проблема возникала не однократно решил поделится вариантом лечения.
При разборе данной проблемы было найдено несколько вариантов решения проблемы, каждое решение работает в разных случаях.
Вариант 1 (при наличии бэкапа SQL c копией с идентичной конфигурацией):
Разворачивается копия ИБ, и выполняется запрос следующей конструкции:
USE GO DELETE FROM .. GO INSERT INTO .. SELECT * FROM .. GO
При этом пере заливается таблица в которой хранится конфигурация ИБ. Желательно после данной операции выполнить тестирование и исправление ИБ.
Вариант 2 (при отсутствии бэкапа):
К данному варианту обратились как к последней соломинке. Т.к. конфигурация была в стадии разработки и про бэкап немного позабыли понадеясь на хранилище.
В базе удаляются две записи из таблицы «Config» по значению в столбце «FileName» - dbStruFinal и commit
Выполняется следующий запрос:
USE GO DELETE FROM . WHERE FileName = "dbStruFinal" GO DELETE FROM . WHERE FileName = "commit" GO
Как ни странно база оживает.
Теги: 1с предприятие 8.2, SQL, восстановление конфигурации
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит
Предыстория
Тут все ясно. Записи стали неуникальными, нужно их удалить!
Самой простой способ это:
Таким методом мы очистим регистр в 1С очень быстро (но это будет и нашей ошибкой).
Казалось бы, в регистре пусто, и можно обновлять 1С. Не хочу вас удивить, но будет снова ошибка:
Что же представляет ошибка:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Попытка вставки неуникального значения в уникальный индекс:
Microsoft SQL Server Native Client 11.0: The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name "dbo._InfoRgChngR34546NG" and the index name "_InfoR34546_ByNodeMsg_RNTSRRRRRRNG". The duplicate key value is (0x00000011,d7, , Sep 27 4015 10:22PM, 768404,00,00,00,00,00,00).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=10, native=1505, line=1
А теперь поясню, что же произошло. Когда мы загрузили данные в регистр, то в SQL они попали в таблицу " _InfoR34546". Когда мы кодом в 1С очистили таблицу, то эти данные удалились из таблицы " _InfoR34546", но они скопировались в таблицу " _InfoRgChngR34546". Это и стало проблемой.
Для решения возникшей проблемы нам понадобится очистить SQL таблицу " _InfoRgChngR34546".
Расскажу на примере "Microsoft SQL Server Management Studio". Заходим в " Management Studio". Находим нашу базу, открываем вкладку таблиц, кликаем на любую и жмем кнопку "Новый запрос":. Теперь набираем запрос
Truncate table "_InfoRgChngR34546 "
У вас может быть и другая таблица! Не забывайте!
И жмем выполнить или клавишу "F5". Вот такой должен быть результат:
Все, теперь можно спокойно обновлять 1С, и ошибки не будет!
Переезжали мы на новый сервер. На нем SQL и 1C. В сравнении со старыми был намного круче. И тест Гилева это тоже подтвердил: против 10-15 на старых серверах выдавал 39. Поэтому мы сразу после покупки перенесли базу и начали работу.
«Внимание. При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?» «Да, Нет»
После нажатия кнопки «Да» появляется следующее:
«Обнаружена незавершенная операция сохранения конфигурации. Для продолжения работы необходимо завершить операцию.»
Первое, что решил сделать — CHECKDB на в Managment Studio — после 2х часов ожидания (база 500 ГБ) — все ОК.
На просторах сети нашел информацию, что такая же ошибка бывает при динамическом обновлении.
Решения, предложенные в сети сходу не помогли, но вкупе с другими действия дали результат. Итак, что я делал:
sp_configure ‘allow updates’, 1
reconfigure with override
go
2. Переводим базу в режим восстановления
alter database set EMERGENCY, SINGLE_USER
3. Выполняем тестирование базы:
dbcc checkdb(‘db_name’, REPAIR_ALLOW_DATA_LOSS)
4. Выводим базу из режима восстановления:
alter database set ONLINE, MULTI_USER
5. В принципе, если уверены что с самой базой все ок, то можно не делать 2-4 пункты. Далее выполняем два запроса в профайлере SQL:
delete from config where FileName = ‘commit’
delete from config where FileName = ‘ dbStruFinal’Эти записи и отвечают за динамическое обновление — можно не бояться их удалять.
В рабочих версиях баз запросы:
select * from Config WHERE FileName = ‘commit’
select * from Config WHERE FileName = ‘dbStruFinal’
будут пустые.
Если копирование баз в архив выполнялось давно или вообще не выполнялось, ситуация становится близка к катастрофе. Приходится восстанавливать хозяйственные операции за большой период, а это всегда несет с собой риск появления новых ошибок.
Бухэксперт8 при работе с базой данных рекомендует делать архивные копии 1С не реже 1 раза в месяц, а также перед выполнением исправлений в базе и после закрытия месяца.
При запуске 1С выдается ошибка выполнения операции с информационной базой. Перезапуск программы не помогает, открыть базу данных для работы в ней — невозможно.
Причины, вызывающие эту ошибку, могут быть совершенно разными:
- несовместимая версия файла базы данных;
- файл базы данных поврежден;
- ошибка соединения с сервером 1С: Предприятия 8.3;
- переустановка баз на сервере;
- проблема с портами на сервере
- и т.д.
Ошибки такого уровня очень серьезны. А в случае возникновения их на сервере — однозначно требуют обращения к специалистам. И если организации, устанавливающие клиент-серверный вариант, рассчитанный на большое число пользователей, обычно имеют в штате системных администраторов и программистов, отвечающих за сервер, то пользователи, работающие на обычных файловых вариантах 1С, должны уметь самостоятельно разобраться с этой проблемой и решить ее.
Как правило, ошибка при выполнении операции с информационной базой в файловом режиме работы означает, что произошло повреждение файла базы данных. Причин может быть множество:
- сетевые проблемы при записи файла;
- неудачное копирование базы;
- отключение электропитания в момент работы программы;
- и т.д.
В данной статье мы рассмотрим возникновение этой ошибки для пользователей файловых 1С и дадим два инструмента решения проблемы:
Обязательно сохраните поврежденный файл базы данных перед началом исправления ошибок, так как любые изменения структуры при тестировании имеют необратимый характер. Сделать копию можно обычным копированием файла 1Cv8.1CD.
Тестирование и исправление
Внутренняя обработка 1С Тестирование и исправление проверяет и исправляет структуру конфигурации и информационных данных.
Пошаговая инструкция Тестирования и исправления базы.
Шаг 1. Запустите 1С в режиме Конфигуратор .
Шаг 2. В конфигурации выберите пункт меню Администрирование — Тестирование и исправление .
Перед открытием формы тестирования программа напомнит о необходимости сделать копию базы перед проверкой. Если копия сделана — нажимаете на кнопку Продолжить .
Шаг 3. Настройка тестирования.
Форма тестирования предлагает несколько вариантов проверок и режимов, не зависящих друг от друга. Выполнить нужно все проверки в полном объеме, поэтому установите флажки напротив тех вариантов, где они не поставлены по умолчанию.
Форма тестирования и исправления информационной базы должна иметь следующий вид.
Рассмотрим основные группы переключателей проверки.
Группа переключателей Проверки и режимы
Позволяет сделать выбор между режимом, производящим только проверку информационной базы и режимом, производящим коррекцию обнаруженных ошибок.
Проверка информационной базы:
- проверка логической целостности информационной базы;
- проверка ссылочной целостности информационной базы.
Коррекция обнаруженных ошибок:
- реиндексация таблиц информационной базы;
- пересчет итогов;
- сжатие таблиц информационной базы;
- реструктуризация таблиц информационной базы.
Группа переключателей Тестирования
Варианты тестирования:
- Тестирование и исправление;
- Только тестирование.
При установке переключателя в положение Только тестирование будет произведен поиск ошибок без исправления. Просмотрев характер ошибок, пользователь сам примет решение: будет ли передавать ситуацию на автоматическое программное исправление или нет.
Группа При наличии ссылок на несуществующие объекты
Эта группа определяет, должна ли программа при обнаружении ссылок на несуществующие объекты:
- создавать объекты;
- удалять ссылки;
- не изменять.
По умолчанию установлен самый безопасный вариант Не изменять. При использовании первых двух вариантов в сложных случаях возможны искажения информации в базах 1С.
Группа переключателей При частичной потере данных объектов
Эта группа задает поведение программы, если было обнаружено, что данные объектов были частично потеряны, но оставшихся данных достаточно для того, чтобы восстановить потерянные. Пользователь самостоятельно выбирает вариант:
- создавать объекты;
- удалять объект;
- не изменять.
По умолчанию установлен самый безопасный вариант Не изменять. При использовании первых двух вариантов в сложных случаях возможны искажения информации в базах 1С.
Кнопка Выполнить
Перед нажатие на кнопку Выполнить , убедитесь, что 1С закрыта у всех пользователей. Проверка выполняется в монопольном режиме. Сохранение копии базы — обязательное условие перед проверкой.
- Значение должно быть… Сохранено значение…
Утилита chdbfl.exe
Утилита chdbfl.exe отвечает за проверку физической целостности базы. Именно она спасает пользователей в большинстве случаев при невозможности входа в базу данных.
Утилита включена в Платформу 1С и поставляется отдельно для каждой Платформы 1С.
Пошаговая инструкция работы с утилитой chdbfl.exe.
Определение Платформы 1С
Откройте на вашем компьютере папку с Платформой, на которой работает ваша база. Как правило, это последняя установленная вами Платформа 1С, но могут быть случаи, когда запуск происходит с более старых версий специально, поэтому этот момент нужно уточнить. Сделать это можно, например, в конфигурации по справке о программе: меню Справка — О программе .
Место установки Платформы на компьютере зависит от ее разрядности:
- 32-разрядные Платформы 1С устанавливаются в каталог С:\Program Files (x86)\1cv8\
- 64-разрядные Платформы 1С устанавливаются в каталог С:\Program Files\1cv8\
Запуск утилиты chdbfl.exe
В выбранной Платформе 1С перейдите в папку bin и запустите утилиту chdbfl.exe.
Настройка проверки базы данных
Для настройки проверки физической целостности необходимо:
- выбрать файл информационной базы, где выходит ошибка;
- установить флажок Исправлять обнаруженные ошибки .
После нажатия на кнопку Выполнить запустится проверка физической целостности файла БД.
Программа 1С при выполнении проверки должна быть закрыта у всех пользователей. Сохранение копии базы — обязательное условие перед проверкой.
Если рассмотренные здесь методы не помогли войти в базу данных и при запуске 1С выдается ошибка выполнения операции с информационной базой, то для восстановления целостности информационной базы и исправления ошибок следует обратиться к специалистам 1С.
- 1С удаление: указанная учетная запись уже существует
- Установка запрещена на основании системной политики 1С 8.3
- Обнаружено неправомерное использование данного программного продукта в 1С: как убрать
- Ошибка ввода пинкода. Пинкод не укомплектован в 1С 8.3
- Печатная форма недоступна 1С 8.3 при вызове внешней печатной формы
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Иногда в работе с программой 1С появляются ошибки и системные.Иногда при работе в 1С может возникнуть ошибка «Конфликт блокировок..До 31.12.2018 работодатели обязаны провести специальную оценку условий труда (СОУТ).
(3 оценок, среднее: 2,67 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец таблицы ".dbo."; в столбце запрещены значения NULL. Ошибка в INSERT.
Описание ошибки:
Столкнулся с ошибкой при выполнении процедуры Тестирование и исправление. на этапе реструктуризации таблиц информационной базы. База клиент-серверная. 1С: Управление торговлей 10.3.31. Платформа 1С: Предприятие 8.3.9
Сложно сказать, что посчастливилось, но все же ошибка преследовала меня в базе не единожды. Но по своей сути каждая последующая формулировка "В процессе обновления информационной базы произошла критическая ошибка. " отличалсь в причине и решении незначительно. С такой ошибкой столкнулся, если быть откровенным, впервые, но интернет в принятии решения устранения ошибки сильно не помог, кроме вот этого обсуждения на форуме Как удалить строки содержащие NULL в таблице где NULL недопустимо. Зацепок решения не было. Но все же решение было найдено. Читаем. ниже.
Итак, начнем с первого факта возникновения ошибки при выполнении тестирования и исправления базы данных на этапе реструктуризации таблиц базы данных.
Полный текст ошибки:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
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х с половиной тысяч элементов, поэтому сходу было сложно понять, в каком из них скрывается ошибка. Была написана простая обработка, которая просто должны была обойти все элементы справочника и перезаписать их. Надежда была на то, что запись проблемного элемента завершиться ошибкой.
Исполняемый код обработки прост:
Запрос = Новый Запрос ;
Запрос . Текст = "ВЫБРАТЬ
| БанковскиеСчета.Ссылка
|ИЗ
| Справочник.БанковскиеСчета КАК БанковскиеСчета" ;
Выборка = Запрос . Выполнить (). Выбрать ();
Пока Выборка . Следующий () Цикл
СпрОбъект = Выборка . Ссылка . ПолучитьОбъект ();
СпрОбъект . Записать ();
КонецЦикла;
Предположение было оправдано. Ошибка при записи возникла. Теперь было понятно, элемент с каким кодом может быть причиной критической ошибки в процессе обновления информационной базы.
Это оказался элемент справочника, у которого не был заполнен ни одни реквизит, так что мне даже не удавалось пометить такой элемент на удаление. Дальше была написана простая обработка для удаления выбранного элемента справочника без проверки ссылочной целостности. Элемент был удален.
Тестирование и исправление было запущено повторно. Но уже вскоре после запуска процедуры в режиме реструктуризация таблиц базы мен ожидала идентичная ошибка, но уже связанная со справочником "Организации".
Новый текст ошибки отличался лишь немногим, названием таблицы и именем столбца:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
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
По опыту предыдущей инцидента уже казалось понятным, что в справочнике у какого-то элемента не заполнены данные. Так и оказалось. Проблемный элемент справочника был найден мгновенно и в этом случае повезло больше элемент можно было пометить на удаление, был помечен и удален с помощью "Удаление помеченных объектов".
Тестирование и исправление было запущено в третий раз. Но и этот раз не обошелся без "критической ошибки в процессе обновления информационной базы".
Текст третьей ошибки:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
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
Но и в этот раз программа оставила подсказку, что проблема содержится в записях справочника "ТипыЦенНоменклатурыКонтрагентов".
Удалить проблемные элементы справочника пришлось программно с помощью все той же, указанной выше простой обработки непосредственного удаления без проверки ссылочной целостности.
И в итоге очередной запуск, уже четвертый по счету, в режиме "Реструктуризация таблиц информационной базы" в рамках тестирования и исправления завершился успешно.
Обычно ошибка SDBL происходит при сохранении и обновлении конфигураций в момент реструктуризации базы данных, а также во время работы обменов данными.
- Ожидается выражение (pos = ).
- Выход за пределы размерности.
- Поле таблицы не может принимать значение NULL.
- Ошибка при полнотекстовом индексировании.
- Попытка вставки значения недопустимого типа.
- Поле определено неоднозначно.
- Пропущена точка с запятой.
- В схеме базы данных нет таблицы с именем…
Исправление ошибки SDBL
Большая часть способов исправления связана с восстановлением нормальной работы Информационной Базы. Но иногда описанными способами решить проблему не получается, поэтому помните о самом лучшем, универсальном способе — регулярном резервном копировании.
Перезагрузка сервера 1С и SQL-сервера
Самый простой способ, при условии, что на текущий момент в базе никто не работает.
Зайдите на сервер и выключите следующие службы:
- «Агент сервера 1С»,
- «SQL Server»,
- «Агент SQL Сервера».
А затем запустите их обратно.
Очистка кэша на сервере и клиента, где проявилась ошибка
Как правило кэш расположен по адресу:
- «%userprofile%\Local Settings\Application Data\1C\1Cv8» и «%userprofile%\Application Data\1C\1Cv8» для Windows XP,
- «%userprofile%\AppData\Roaming\1C\1Cv8» и «%userprofile%\AppData\Local\1C\1Cv8» для Windows 7 и выше.
Перейдите в данный каталог и удалить все папки с генерированными именами вида « dg7c8re4-b89r…». При удалении будьте внимательны — в этой директории может присутствовать индекс полнотекстового поиска 1С, а также журналы регистрации, их удалять не нужно.
Перезаливка базы из DT-файла
Иногда помогает, казалось бы, парадоксальный способ — выгрузка базы данных в файл формата DT, а затем загрузка его обратно.
Войдите в режим «Конфигуратор», выберите пункт меню «Администрирование» > «Выгрузить информационную базу» и выберите каталог для сохранения файла.
Затем через аналогично через меню «Администрирование» > «Загрузить информационную базу» загрузите его обратно.
Тестирование и исправление Информационной базы
Для тестирование и исправление Информационной базы: войдите в «Конфигуратор», выберите пункт меню «Администрирование» > «Тестирование и исправление».
В случаях, когда невозможно запустить конфигуратор, воспользуйтесь утилитой chdbfl.exe. Это упрощенная программа-аналог тестирования базы, функции, которая запускается в режиме конфигуратора. Расположена она в папке «bin» установленной технологической платформы, например, C:\Program Files (x86)\1cv8\8.3…\bin\chdbfl.exe.
Пользоваться ей просто — указываете путь к файлу базы данных и ставите опцию, нужно ли сразу исправлять обнаруженные ошибки. Если нет — утилита только продиагностирует ИБ.
Обновление платформы до новой версии
В данном случае всё достаточно просто. Скачивает с сайта поддержки 1С дистрибутив свежей версии платформы, распаковываем и запускаем инсталятор setup.exe.
Очистка таблиц базы данных
В крайнем случае можно попробовать удалить таблицы БД, связанные с ошибкой — «dbo._ConfigChngR» и «dbo._ConfigChngR_ExtProps».
Производится это через менеджер SQL-скриптом вида:
use имя_базы_данных
delete from dbo ._ ConfigChngR
delete from dbo ._ ConfigChngR _ ExtProps
Помните, прямые SQL-запросы лучше доверить профессионалу, умеющему работать с SQL.
12 статей про обновление 1С
Типовую программу 1С легко обновить самостоятельно через конфигуратор или интернет. Ещё один способ — использовать cfu-файл. Если пропущено много релизов, вам сэкономят время промежуточные конфигурации.
После обновления не забывайте запустить особые процедуры.
Бывает выгоднее отдать обновление нетиповой 1С на аутсорсинг.
Что нового для вашей 1С?
Рассылка осуществляется в день выхода обновления. Никакой рекламы, только полезная информация. Посмотрите пример →
Читайте также: