Как устранить ошибку при автоматическом обновлении 1С:Бухгалтерия 3.0 и зацикливание программы

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

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

Анализ технической причины ошибки

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


27.02.2020 09:29:10 {OK} Выполнение обработчиков обновления (1/1)...
27.02.2020 09:29:11 {OK} Запускается: wscript.exe; параметры: "add-delete-patches.js"
27.02.2020 09:30:06 {ERR} Код возврата: -1073741819

Разберем ситуацию подробнее. Код возврата -1073741819 в шестнадцатеричном виде соответствует ошибке 0xC0000005, которая означает Access Violation (нарушение прав доступа к памяти). Проблема возникает при работе системного компонента Windows wscript.exe, который пытается выполнить скрипт add-delete-patches.js. Этот скрипт отвечает за автоматическую установку или удаление исправлений (патчей) конфигурации.

Выясним причину: ошибка локализована в модуле core83.dll версии платформы 8.3.16.1224 (и некоторых соседних релизов). Это указывает на внутреннюю нестабильность платформы при взаимодействии с COM-объектами или механизмами Windows Script Host. Проанализируем способы преодоления этого препятствия.

Решение 1. Ручное обновление через Конфигуратор

Самый надежный способ «победить» зацикливание — отказаться от автоматического режима «кнопочкой далее-далее» и выполнить обновление вручную. Рассмотрим этот процесс по шагам:

  1. Запустим 1С в режиме Конфигуратор.
  2. Обязательно создадим резервную копию вручную: меню Администрирование — Выгрузить информационную базу. При необходимости выполнять эту операцию регулярно на нескольких базах используется автоматическое архивирование и обновление 1С по расписанию.
  3. Перейдем в меню Конфигурация — Поддержка — Обновить конфигурацию.
  4. Выберем источник обновления (обычно это поиск доступных обновлений или выбор файла .cfu в папке шаблонов).
  5. После успешного завершения сравнения объектов нажмем кнопку Выполнить обновление конфигурации базы данных (синий бочонок или клавиша F7).
  6. Примем изменения и дождемся завершения реструктуризации таблиц. Для контроля корректности проводок после завершения всех обработчиков обновления применяется автоматическая сверка бухгалтерских и налоговых проводок между базами.

Запуск программы в режиме «Предприятие» после такого обновления инициирует выполнение обработчиков уже внутри самой 1С, минуя внешние скрипты wscript.exe, что позволяет избежать ошибки доступа к памяти.

Решение 2. Работа с исправлениями (патчами)

Поскольку ошибка возникает именно на этапе работы со скриптом add-delete-patches.js, логично предположить, что проблему вызывают уже установленные или конфликтующие патчи. Рассмотрим, как их очистить.

Перед запуском обновления выполним следующие действия:

  1. Зайдем в программу в режиме «Предприятие».
  2. Перейдем в раздел Администрирование — Обслуживание.
  3. Найдем пункт Обновление программы — Установленные исправления (патчи).
  4. В открывшемся списке выделим все патчи и нажмем Удалить.

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

%LOCALAPPDATA%\1C\1cv8\ExtSrvCfg

Удаление содержимого этой папки поможет разорвать цикл, если 1С пытается повторно применить поврежденный или несовместимый патч.

Решение 3. Управление расширениями конфигурации

Иногда механизм COM-соединения, используемый при обновлении, конфликтует с активными расширениями. Даже если расширение не меняет логику обновления, само его наличие в списке может провоцировать ошибку core83.dll в проблемных версиях платформы.

Посмотрим на алгоритм действий:

  1. В Конфигураторе откроем меню Конфигурация — Расширения.
  2. Для каждого расширения в списке попробуем временно снять галочку Активно.
  3. Попробуем запустить процесс обновления снова.

Решение 4. Настройка операционной системы (DEP и COM)

Если обновление через Конфигуратор по каким-то причинам недоступно, а автоматика продолжает «вылетать» с ошибкой APPCRASH модуля mshta.exe или wscript.exe, необходимо проверить настройки безопасности Windows.

Рассмотрим настройку DEP (Data Execution Prevention):

  1. Откроем Панель управления — Система — Дополнительные параметры системы.
  2. В разделе Быстродействие нажмем Параметры и перейдем на вкладку Предотвращение выполнения данных.
  3. Если выбран режим «Включить DEP для всех программ, кроме выбранных», добавим в список исключений файлы 1cv8.exe, wscript.exe и mshta.exe.

Также проанализируем ситуацию с регистрацией COM-компоненты. В логе мы видим успешный вызов regsvr32.exe для comcntr.dll. Однако, если на компьютере установлены одновременно 32-битная и 64-битная версии платформы, может возникнуть путаница. Рекомендуется вручную зарегистрировать компоненту той разрядности, которая соответствует используемому приложению 1С.

Решение 5. Смена версии платформы

Как отмечают опытные специалисты, ветка платформы 8.3.16 имеет ряд известных проблем с утечками памяти и стабильностью core83.dll. Если вышеуказанные способы не помогают, рассмотрим два варианта:

Итоговые рекомендации

Выясним причину зацикливания: это программный сбой в механизме обработки патчей платформы 1С при взаимодействии со скриптовым движком Windows. Для успешного завершения процесса мы рекомендуем:

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

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

← На главную