Ситуация, когда при обновлении конфигурации 1С внезапно заканчивается свободное место на диске, является критической для работоспособности базы данных. В этот момент транзакция прерывается, и метаданные конфигурации оказываются в несогласованном состоянии. В данной статье мы разберем, как восстановить работоспособность базы, если при попытке запуска Конфигуратора или анализа конфигурации поставщика вы получаете сообщение о нарушении целостности структуры.
Прежде всего, помните: никогда не проводите подобные манипуляции напрямую на рабочей базе. Все описанные ниже действия выполняйте на предварительно развернутой копии базы данных. Если у вас есть возможность, используйте для работы 64-битную версию платформы 1С:Предприятие — она стабильнее работает с большими объемами данных и быстрее выполняет реструктуризацию.
Одной из причин ошибки может быть «зависшая» информация о динамическом обновлении или попытке коммита изменений. Если база открывается, но «ругается» на структуру, попробуйте удалить записи, которые помечают процесс обновления как активный. Для этого выполните следующие SQL-запросы в среде управления SQL Server (убедитесь, что предварительно сделали бэкап):
DELETE FROM [dbo].[Config] WHERE FileName = 'dbStruFinal';
DELETE FROM [dbo].[Config] WHERE FileName = 'commit';
DELETE FROM [dbo].[Config] WHERE FileName = 'DynamicallyUpdated';
DELETE FROM [dbo].[Config] WHERE FileName = 'dynamicCommit';
DELETE FROM [dbo].[ConfigSave];
Данные действия очищают таблицы Config и ConfigSave от записей, оставшихся после прерванного обновления. Это позволяет сбросить состояние конфигуратора в «чистое» положение перед последующими действиями.
Если простая очистка таблиц не дала результата, необходимо принудительно перезаписать конфигурацию. Суть метода заключается в загрузке исправного файла .cf. Рассмотрим этот процесс пошагово:
.cf из комплекта поставки или из архива).Конфигурация -> Загрузить конфигурацию из файла и выберите исправный файл .cf.Конфигурация -> Поддержка -> Настройка поддержки и нажмите Снять с поддержки. Это приведет к удалению поврежденной конфигурации поставщика.После снятия с поддержки и удаления поврежденных связей, необходимо вернуть конфигурацию поставщика в рабочее состояние:
После того как вы привели основную конфигурацию в соответствие с релизом через загрузку файла .cf, выполните сравнение и объединение с типовым файлом конфигурации (того же релиза). В процессе объединения система обнаружит, что конфигурация поставщика отсутствует, и предложит поставить базу на поддержку. Соглашайтесь, но будьте внимательны: снимите все галочки при объединении, чтобы не затереть ваши текущие доработки в прикладных объектах.
Если после всех манипуляций ошибка сохраняется, выполните следующие действия:
Проверка логической целостности конфигурации. Это поможет выявить скрытые повреждения метаданных.ragent.EXCP. Это покажет, на каком именно объекте конфигурации «спотыкается» 1С при чтении метаданных.Использование метода с «пустой базой-донором» является самым надежным способом решения проблемы. Получив чистый файл конфигурации, вы гарантированно избавляетесь от поврежденных записей, которые невозможно исправить стандартными средствами Конфигуратора.