Почему не обновляется конфигурация базы данных 1С и как это исправить?

Программист 1С v8.3 (Обычные формы) 1С:Комплексная автоматизация IT и автоматизация бизнеса
← На главную

В процессе сопровождения и обновления типовых или доработанных конфигураций 1С разработчики и администраторы нередко сталкиваются с ситуацией, когда процесс обновления вроде бы проходит штатно, клавиша F7 (Обновить конфигурацию базы данных) отрабатывает без сообщений об ошибках, но при запуске в окне «О программе» по-прежнему отображается старый номер релиза. Проанализируем причины такого поведения платформы и разберем по шагам действенные способы решения этой проблемы.

Причина 1. Кэширование метаданных и клиентских настроек

Наиболее частая причина, по которой после сохранения изменений в Конфигураторе и в режиме «1С:Предприятие» отображаются устаревшие данные о релизе — это некорректное обновление локального кэша платформы. Клиентское приложение сохраняет информацию о структуре метаданных во временных файлах пользователя, и при определенных сбоях платформа продолжает считывать старое состояние конфигурации.

Рассмотрим способы очистки кэша:

  1. Быстрый способ (перерегистрация базы в списке): закроем все сеансы «1С:Предприятия» и Конфигуратора, откроем окно запуска 1С, удалим проблемную информационную базу из списка (самостоятельно запомнив или скопировав путь к файлу базы или имя базы на сервере), а затем добавим ее заново. При этом создается новый идентификатор базы (GUID), и платформой инициализируется чистый кэш.
  2. Запуск с параметром очистки: в настройках запуска информационной базы в окне запуска 1С (кнопка «Изменить» -> «Дополнительные параметры запуска») укажем параметр /ClearCache.
  3. Ручное удаление временных файлов: закроем процессы 1cv8.exe или 1cv8c.exe и удалим папки с буквенно-цифровыми именами (GUID) в системных каталогах:
    %LOCALAPPDATA%\1C\1Cv8\ (или 1Cv82)
    %APPDATA%\1C\1Cv8\ (или 1Cv82)

Причина 2. Не обновлен корневой узел свойств конфигурации

Если обновление выполнялось не через автоматическую поддержку (файл .cfu), а вручную через сравнение и объединение с файлом поставки .cf, выясним состояние флагов объединения. Если в окне сравнения и объединения была снята галочка с самого верхнего узла (имени конфигурации), то программные модули и объекты обновятся, а свойства метаданных — включая реквизит Версия — останутся прежними.

Разберем, как это исправить:

  1. Выполним резервное копирование информационной базы.
  2. Откроем меню Конфигурация -> Сравнить, объединить с конфигурацией из файла... и выберем файл нужного релиза.
  3. Убедимся, что на самом верхнем корневом элементе дерева установлен флаг объединения свойств.
  4. Нажмем кнопку Выполнить, сохраним изменения и применим конфигурацию базы данных по клавише F7.

Причина 3. Рассинхронизация таблиц и зависшие блокировки

В файловых базах 1С из-за аварийных завершений работы или после некорректного динамического обновления могут возникать ошибки в служебных таблицах Config и ConfigSave, а также оставаться блокировочные файлы.

Рассмотрим порядок действий для устранения файловых сбоев:

  1. Убедимся, что все пользователи вышли из базы, и снимем зависшие процессы через диспетчер задач.
  2. В каталоге информационной базы удалим временные файлы блокировок (файлы с расширениями 1Cv8.1CL, *.cfl, *.lck, а также каталоги 1Cv8tmp*).
  3. Запустим утилиту chdbfl.exe (находится в подкаталоге bin установленной платформы 1С) и выполним проверку файла 1Cv8.1CD с установленным флагом Исправлять обнаруженные ошибки.
  4. Откроем базу в Конфигураторе и запустим тестирование и исправление через меню Администрирование -> Тестирование и исправление..., отметив пункты «Реиндексация таблиц», «Проверка логической целостности» и «Реструктуризация таблиц информационной базы».
  5. Если проблема сохраняется, выполним выгрузку информационной базы в файл .dt (меню Администрирование -> Выгрузить информационную базу...) и загрузим полученный файл в новую чистую базу. Это полностью перестроит физическую структуру таблиц.

Альтернативный вариант: пакетное обновление через командную строку

Если графический интерфейс Конфигуратора не фиксирует сохранение, разберем возможность применения обновления через пакетный режим. Пакетный запуск исключает влияние кэша пользовательского интерфейса:


1cv8.exe DESIGNER /F "C:\Bases\MyBase" /N "Администратор" /P "Пароль" /UpdateDBCfg

Или выполним совмещенный процесс применения файла обновления и реструктуризации базы данных:


1cv8.exe DESIGNER /F "C:\Bases\MyBase" /N "Администратор" /P "Пароль" /UpdateCfg "C:\Updates\1Cv8.cfu" /UpdateDBCfg

Важное напоминание: любые манипуляции по обновлению метаданных, сравнении/объединении и тестировании структуры необходимо обязательно производить на предварительно созданной архивной копии базы данных.

← На главную