Что делать, если при обновлении 1С:Бухгалтерии аварийно закрывается Конфигуратор?

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

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

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

Выясняем причины: почему Конфигуратор «схлопывается» молча?

Для того чтобы эффективно бороться со сбоем, необходимо понять физику процесса. Когда мы запускаем обновление конфигурации, платформа выполняет колоссальный объем работы: распаковывает метаданные из файла обновления, сравнивает их со структурой текущей конфигурации БД, проверяет ссылочную целостность объектов и пытается сопоставить таблицы СУБД (или файлы внутренней структуры в случае файловой базы .1CD). Падение Конфигуратора без вывода ошибок обычно сигнализирует о критическом сбое на уровне ядра платформы (сбой в библиотеках backend.dll, frntend.dll) или операционной системы. Рассмотрим основные причины этого явления подробнее:

  1. Несоответствие и нестабильность версий технологической платформы. Конкретные релизы конфигураций требуют строго определенных версий платформы. Например, переход на новые релизы «Бухгалтерии предприятия» часто требует обновления платформы не ниже 8.3.12.1529. Однако в промежуточных версиях платформ (таких как 8.3.12.1616 или ранних сборках 8.3.13) содержались внутренние ошибки работы с памятью, которые приводили к падению Конфигуратора при выполнении ресурсоемких операций сравнения метаданных.
  2. Недовыполненное отложенное обновление в режиме «1С:Предприятие». Современная «Бухгалтерия предприятия» использует механизм БСП (Библиотеки стандартных подсистем), при котором часть данных реструктуризируется в фоновом режиме уже после обновления конфигурации базы данных. Если запустить следующее обновление конфигурации до того, как завершились фоновые задания предыдущего релиза, возникнет конфликт блокировок и типов данных СУБД. В результате при сравнении может возникнуть системное исключение, например, когда платформа ожидает получить значение типа NULL, но натыкается на незаполненные поля старой структуры таблиц.
  3. Повреждение локального кэша метаданных. Платформа 1С активно использует кэширование конфигурации для ускорения работы. При смене версии платформы или некорректном завершении сеанса кэш может забиться устаревшими индексами. Платформа пытается сопоставить метаданные из «битого» кэша с новыми объектами поставщика, что приводит к критической ошибке переполнения буфера памяти.
  4. Конфликт с криптографическими службами Windows (Event ID 4107). Это неочевидная, но крайне распространенная системная проблема. При распаковке макетов, внешних компонент или библиотек оборудования (БПО) внутри конфигурации 1С обращается к системным библиотекам криптографии Windows для проверки цифровых подписей. Если в операционной системе устарел список доверенных сертификатов (CTL) или заблокирован доступ к серверам обновлений Microsoft, служба криптографии уходит в таймаут ожидания, блокирует поток 1С, и операционная система принудительно завершает процесс Конфигуратора. В журнале событий Windows при этом регистрируется ошибка с кодом 4107 или 11 (источник CryptnetUrlCache).
  5. Физическое или логическое повреждение таблиц базы данных. Если в файле базы данных нарушена структура внутренних двоичных потоков конфигурации поставщика или основной конфигурации, штатные утилиты проверки могут этого не заметить, но при попытке десериализации объекта на этапе сравнения произойдет падение.

Теперь, когда мы понимаем потенциальные источники проблемы, перейдем к практическим шагам по ее устранению.

Шаг 1: Полная очистка кэша конфигурации и платформы

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

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

В этих папках необходимо удалить все каталоги с длинными буквенно-цифровыми именами (например, 204a9194-e34d-4be9-8b83-cb5b3b5550a1). Не бойтесь их удалять — это временные данные, платформа автоматически пересоздаст их при следующем запуске. Также полезно очистить временную папку операционной системы %TEMP%.

Шаг 2: Проверка отложенных обновлений данных

Если мы обновляемся через несколько релизов подряд, обязательно нужно убедиться, что база данных завершила реструктуризацию на предыдущем шаге. Разберем, как это проверить:

  1. Запустим базу данных в режиме «1С:Предприятие» под правами администратора.
  2. Перейдем в раздел Администрирование — Обслуживание — Результаты обновления программы (или воспользуемся функциями для технического специалиста, открыв обработку РезультатыОбновленияПрограммы).
  3. Убедимся, что все дополнительные процедуры обработки данных завершены на 100%. Если запущены фоновые задания реструктуризации, обязательно дождемся их полного окончания.

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

Шаг 3: Тестирование и исправление физической и логической целостности базы

Поскольку при обновлении может возникать ошибка Операция значение должно быть NULL, нам необходимо провести полную диагностику информационной базы. Обратите внимание, что запускать тестирование следует только на копии базы данных!

Для файловых баз данных сначала запустим утилиту тестирования физической целостности файла базы данных. Она находится в каталоге установленной платформы (например, C:\Program Files\1cv8\8.3.12.1529\bin\chdbfl.exe). Запустим утилиту, укажем путь к файлу базы данных 1Cv8.1CD, установим флаг «Исправлять обнаруженные ошибки» и нажмем кнопку «Выполнить».

После успешного завершения работы chdbfl.exe откроем базу в режиме Конфигуратора и выполним логическую проверку:

  1. Перейдем в меню Администрирование — Тестирование и исправление.
  2. Установим следующие параметры:
    • Реиндексация таблиц информационной базы;
    • Проверка логической целостности;
    • Проверка ссылочной целостности;
    • Пересчет итогов.
  3. В случае обнаружения битых ссылок выберем вариант «Очищать объекты» или «Создавать дефолтные».
  4. Нажмем кнопку «Выполнить».

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

Шаг 4: Обход зависания сравнения методом «чистой базы»

Если Конфигуратор стабильно закрывается на определенном проценте сравнения объектов (например, на тех самых 36%), это означает, что платформа падает при попытке прочитать структуру конкретного измененного объекта. Чтобы обойти эту проблему, мы можем применить инженерный метод обновления через создание «чистой» конфигурации без данных. Рассмотрим этот процесс по шагам:

  1. Откроем нашу рабочую базу в Конфигураторе и выгрузим конфигурацию в файл (меню Конфигурация — Сохранить конфигурацию в файл..., назовем его, например, work.cf).
  2. Создадим на компьютере абсолютно новую, пустую информационную базу 1С (без типовой конфигурации).
  3. Откроем пустую базу в Конфигураторе и загрузим в нее наш сохраненный файл (меню Конфигурация — Загрузить конфигурацию из файла..., выбрав work.cf). Выполним обновление конфигурации базы данных (клавиша F7).
  4. Теперь в этой пустой базе запустим процесс обновления до нужного релиза (например, через поддержку или путем сравнения/объединения с файлом нового релиза .cf). Поскольку в базе полностью отсутствуют данные пользователей и транзакции СУБД не блокируются, сравнение и обновление пройдут быстро и без ошибок.
  5. После успешного обновления конфигурации в пустой базе сохраним результат обратно в файл (меню Конфигурация — Сохранить конфигурацию в файл..., назовем его updated_work.cf).
  6. Вернемся в нашу рабочую информационную базу. Сделаем архивную копию!
  7. В рабочей базе откроем Конфигуратор и выполним сравнение/объединение с обновленным файлом (меню Конфигурация — Сравнить, объединить с конфигурацией из файла..., указав файл updated_work.cf).
  8. Согласимся со всеми изменениями, снимем при необходимости ненужные флаги кастомизации и нажмем кнопку «Выполнить». После этого обновим конфигурацию базы данных (F7).

Этот метод позволяет полностью исключить влияние механизма транзакций и конфликтов типов данных СУБД на процесс сравнения сложных конфигураций.

Шаг 5: Устранение ошибки криптографии Windows (CryptnetUrlCache)

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

Запустим командную строку cmd.exe от имени Администратора и поочередно выполним команды для очистки кэша отзыва сертификатов:


certutil -urlcache * delete
certutil -setreg chain\ChainCacheResyncFiletime @now

Также рекомендуется временно отключить автоматическое обновление сертификатов в групповых политиках или проверить настройки брандмауэра/прокси-сервера: они не должны блокировать исходящие запросы платформы 1С к адресам верификации цифровых подписей. Если компьютер полностью отключен от интернета, убедитесь, что в системе установлены актуальные корневые сертификаты Windows, импортированные вручную.

Шаг 6: Подбор стабильного релиза платформы

Как показывает практика эксплуатации версий 8.3.12 и 8.3.13, некоторые сборки обладают повышенной аварийностью при работе с конфигурациями на управляемых формах (к которым относится «Бухгалтерия предприятия 3.0»). Например, сборка 8.3.12.1529 часто страдает от утечек памяти при сравнении метаданных.

Если вы перепробовали все вышеописанные шаги, но Конфигуратор продолжает вылетать, перенесите базу на компьютер с установленной платформой версии 8.3.12.1685 или перейдите на более стабильную ветку 8.3.15 (или выше, в зависимости от требований релиза вашей конфигурации). На более современных версиях платформы механизмы распределения оперативной памяти при сравнении тяжелых объектов метаданных были кардинально оптимизированы, а также решена проблема с зависанием и падением интерфейса при поиске элементов в меню «Все функции» (Функции для технического специалиста).

Резюме и рекомендации

Подводя итоги, сформируем краткий чек-лист действий при «тихом» падении Конфигуратора во время обновления:

Применяя эти проверенные шаги на практике, мы сможем гарантированно локализовать проблему, восстановить работоспособность информационной базы и успешно завершить процедуру обновления до актуального релиза программы.

← На главную