При запуске 1С или Конфигуратора пользователи могут столкнуться с критическим сообщением: «Обнаружена незавершенная операция сохранения конфигурации. Для продолжения работы необходимо завершить операцию». Большинство инструкций в сети предназначены для серверных версий СУБД (MS SQL Server, PostgreSQL), где проблема решается простыми SQL-запросами к служебным таблицам. Однако в файловом режиме (файл 1Cv8.1CD) прямой доступ к таблицам ограничен. Разберем причины возникновения этой ошибки и проанализируем проверенные способы восстановления работоспособности базы данных.
Рассмотрим механику работы платформы 1С при сохранении изменений. В базе данных хранятся служебные таблицы метаданных:
CONFIG — текущая конфигурация базы данных.CONFIGSAVE — редактируемая конфигурация.В момент фиксации изменений или при применении динамического обновления платформа прописывает в таблицу CONFIG служебные маркеры завершения операции (записи вида commit, dbStruFinal, dynamicCommit). Если в этот момент происходит сбой — внезапное отключение электропитания, аварийное завершение процесса 1cv8.exe или зависание сеанса пользователя — записи-маркеры остаются в незавершенном состоянии. При последующем запуске платформа выявляет неоконченную операцию и блокирует вход в базу.
В файловой базе 1Cv8.1CD отсутствуют механизмы атомарных транзакций СУБД для структур метаданных, поэтому динамическое обновление в файловом режиме часто приводит к повреждению целостности служебных таблиц.
Попробуем применить штатный механизм отмены зависшего динамического обновления с помощью параметров запуска Конфигуратора.
Разберем по шагам:
1cv8.exe через Диспетчер задач./UpdateDBCfg -DynamicCancel:
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" DESIGNER /F "C:\PathToDatabase" /UpdateDBCfg -DynamicCancel
После выполнения команды откроем Конфигуратор в обычном режиме и проверим, снялась ли блокировка операции сохранения.
Если командный сброс не дал результата, рассмотрим вариант очистки незавершенных флагов путем временного переноса базы в СУБД.
1Cv8.1CD.
DELETE FROM config WHERE FileName IN ('commit', 'dbStruFinal', 'dynamicCommit');
DELETE FROM configsave;
.dt и загрузим её обратно в файловый режим.Если таблицы метаданных разрушены, но данные справочников и документов не пострадали, проанализируем вариант переноса учетных данных.
.cf) или из старой рабочей копии.EnterpriseData.Самым надежным и быстрым способом восстановления является разворачивание бэкапа, сделанного до начала обновления.
1Cv8.1CD в отдельную папку.Проанализировав особенности работы файловых баз, выделим основные правила безопасности:
CONFIG.1Cv8.1CD перед началом работ — главная защита от потери информации.logcfg.xml с отслеживанием событий EXCP поможет локализовать поврежденный участок метаданных при возникновении нестандартных ошибок.