Как решить проблему с обновлением «1С:Бухгалтерия предприятия» 8.3, когда новые релизы не видны или не подходят?

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

Обновление конфигураций «1С:Предприятие» — стандартная процедура, которая, однако, нередко преподносит неприятные сюрпризы системным администраторам и программистам. Типичная ситуация: при попытке обновить базу «1С:Бухгалтерия предприятия» с релиза 3.0.65.72 до более свежего (например, 3.0.67.54) из режима «1С:Предприятие» процесс аварийно завершается с лаконичным сообщением: «Во время обновления программы возникли некоторые проблемы». При попытке выполнить обновление вручную через Конфигуратор с использованием скачанных файлов обновлений (.cfu) система заявляет, что доступных обновлений не найдено, либо скачанный файл не подходит для текущей версии конфигурации.

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

Причина 1. Расхождение версий основной конфигурации и конфигурации поставщика

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

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

Как проверить:

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

Как исправить:

Для восстановления конфигурации поставщика нам потребуется полный файл конфигурации (с расширением .cf) именно нашей текущей версии базы (в данном примере — 3.0.65.72). Разберем процесс по шагам:

  1. Обязательно создадим резервную копию базы данных (Администрирование — Выгрузить информационную базу).
  2. В окне «Настройка поддержки» нажмем кнопку Снять с поддержки.
  3. Перейдем в меню Конфигурация — Сравнить, объединить с конфигурацией из файла и выберем скачанный полный файл .cf версии 3.0.65.72.
  4. В появившемся окне сравнения обязательно снимем галочки со всех объектов, чтобы избежать затирания данных, но согласимся поставить конфигурацию на поддержку (система выдаст соответствующий запрос).
  5. Выполним обновление конфигурации базы данных (клавиша F7).

После этой процедуры версия конфигурации поставщика синхронизируется с основной версией, и штатное обновление через .cfu успешно запустится.

Причина 2. Ошибки кэша платформы (особенно на релизах 8.3.13)

Платформы линеек 8.3.12 и 8.3.13 известны своей нестабильной работой с динамическими обновлениями и локальным кэшем метаданных. Очень часто платформа «запоминает» старое состояние конфигурации, из-за чего в упор не видит файлы обновлений в каталогах шаблонов.

Решение:

Самый простой и надежный способ — удалить базу из списка запуска 1С, перезапустить компьютер и добавить базу в список заново (при этом для нее создается новая чистая папка кэша). Также можно выполнить полную очистку кэша вручную. Для автоматизации этого процесса мы можем использовать простой командный файл (батник):


@echo off
taskkill /f /im 1cv8*
rmdir /s /q "%userprofile%\AppData\Local\1C\1cv8"
rmdir /s /q "%userprofile%\AppData\Roaming\1C\1cv8"
echo Локальный кэш 1С успешно очищен!
pause

После очистки кэша запустим Конфигуратор и повторно попробуем выполнить поиск обновлений.

Причина 3. Путаница с дистрибутивами (Базовая vs ПРОФ vs КОРП)

Внешне конфигурации «Бухгалтерия предприятия» версии ПРОФ и Базовая практически идентичны по интерфейсу, и в заголовке окна обе могут писаться похоже. Однако они имеют принципиально разные конфигурации поставщика.

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

Причина 4. Использование полного дистрибутива (.cf) вместо файла обновления (.cfu)

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

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

Причина 5. Блокировка базы фоновыми заданиями или зависшим сеансом

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

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


Блокировка = Новый БлокировкаСеансов;
Блокировка.Начало = ТекущаяДата();
Блокировка.Окончание = ТекущаяДата() + 3600; // Блокировка на 1 час
Блокировка.Сообщение = "Выполняется техническое обновление базы данных. Пожалуйста, подождите.";
Блокировка.КодРазрешения = "AdminUpdate2019";
Блокировка.Установить = Истина;
УстановитьБлокировкуСеансов(Блокировка);

После завершения всех сеансов запустим утилиту проверки физической целостности базы данных — chdbfl.exe (она находится в папке bin установленной платформы 1С) и выполним «Тестирование и исправление» из Конфигуратора со следующими настройками:

Эти действия гарантируют, что база данных находится в согласованном состоянии и готова к корректному обновлению конфигурации.

← На главную