Что делать, если 1С:Управление торговлей 10.3 аварийно завершает работу или перезагружается после обновления?

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

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

В этой статье мы подробно проанализируем причины возникновения этой проблемы на примере конфигурации «Управление торговлей», редакция 10.3, выясним, почему стандартные механизмы платформы дают сбой, и рассмотрим детальный алгоритм восстановления работоспособности базы данных, даже если у вас не оказалось под рукой свежей резервной копии.

Почему происходит аварийное завершение работы системы?

Главная причина такого поведения кроется в критической ошибке, допущенной в процессе выбора дистрибутива обновления. Разберем ситуацию подробнее. Для конфигурации «Управление торговлей 10.3» (как и для многих других решений 1С) существуют технологически разные версии поставки:

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

  1. Нарушается целостность метаданных. Базовая конфигурация «накладывается» на структуру ПРОФ.
  2. Полностью «слетает» или заменяется некорректной конфигурация поставщика. База теряет связь со своим исходным дистрибутивом ПРОФ.
  3. При первом запуске в режиме «1С:Предприятие» платформа инициирует стандартные процедуры проверки лицензионности и легальности полученного обновления. Поскольку встроенные механизмы проверки базовой версии и версии ПРОФ кардинально различаются, при обращении к защищенным объектам метаданных возникает критическая ошибка платформы (Access Violation или системный сбой), которая приводит к экстренному закрытию (крашу) приложения. При этом пользователь видит лишь то, что программа «перезагружается» или мгновенно закрывается после окна подтверждения легальности.

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

Шаг 1. Проверка физической и логической целостности базы данных

Поскольку информационная база закрывалась некорректно и аварийно, в самом файле базы данных (для файлового варианта это файл 1Cv8.1CD) могли образоваться внутренние логические или физические повреждения таблиц. Нам необходимо исключить этот фактор перед началом восстановления конфигурации.

Выполним следующие действия:

  1. Полностью закроем все запущенные процессы 1С:Предприятия на компьютере.
  2. Перейдем в каталог, где установлена текущая версия платформы 1С. Обычно исполняемые файлы находятся по пути: C:\Program Files\1cv8\[Номер_Версии_Платформы]\bin\ или C:\Program Files (x86)\1cv8\[Номер_Версии_Платформы]\bin\.
  3. Найдем и запустим утилиту тестирования физической целостности файлов базы данных — chdbfl.exe.
  4. Перед запуском проверки обязательно скопируем файл вашей базы данных 1Cv8.1CD в отдельную безопасную папку! Это защитит нас от потери данных, если утилита применит необратимые исправления.
  5. В поле «Имя файла БД» укажем путь к нашему рабочему файлу 1Cv8.1CD.
  6. Установим флаг «Исправлять обнаруженные ошибки» и нажмем кнопку «Выполнить».
  7. Дождемся окончания процесса. Если утилита найдет и исправит ошибки, это первый шаг к успешному восстановлению.

Шаг 2. Получение эталонного конфигурационного файла (CF) версии ПРОФ

Чтобы вернуть базу на корректную поддержку и восстановить правильную структуру метаданных, нам потребуется чистый файл конфигурации (расширение .cf, а не файл обновления .cfu) именно той версии и релиза, на который мы пытались обновиться (например, для УТ это релиз 10.3.49.1 ПРОФ).

Для его получения пройдем следующие этапы:

  1. Зайдем на официальный портал поддержки пользователей «1С:Обновление программ» (releases.1c.ru) под своими учетными данными ИТС.
  2. Найдем в списке программных продуктов конфигурацию «Управление торговлей», редакция 10.3. Обратите внимание, что нам нужна именно ПРОФ-версия, а не базовая!
  3. Скачаем полный дистрибутив нужного релиза (в данном случае 10.3.49.1) — нам нужен именно дистрибутив для установки новой конфигурации, а не просто файл обновления.
  4. Установим шаблон конфигурации на компьютер. По умолчанию шаблоны устанавливаются в папку %APPDATA%\1C\1cv8\tmplts\.
  5. Запустим стартер 1С и добавим новую (пустую) информационную базу. Выберем вариант «Создание информационной базы без конфигурации...» или создадим ее на основе только что установленного шаблона УТ 10.3.49.1 ПРОФ.
  6. Запустим созданную пустую базу в режиме Конфигуратора.
  7. В главном меню выберем пункт Конфигурация -> Открыть конфигурацию.
  8. После открытия дерева метаданных выберем пункт меню Конфигурация -> Сохранить конфигурацию в файл....
  9. Сохраним файл под понятным именем, например, ut_10.3.49.1_prof.cf в любую удобную папку на диске. Теперь у нас есть эталонный файл конфигурации поставщика. Полностью закроем пустую базу.

Шаг 3. Снятие сломанной базы с некорректной поддержки

Теперь вернемся к нашей поврежденной рабочей базе. Нам необходимо разорвать связь с ошибочно установленной базовой конфигурацией поставщика.

  1. Откроем поврежденную рабочую базу в режиме Конфигуратора.
  2. Откроем окно конфигурации через меню Конфигурация -> Открыть конфигурацию.
  3. Перейдем в раздел управления поддержкой: меню Конфигурация -> Поддержка -> Настройка поддержки.
  4. В открывшемся окне мы увидим, что правила поддержки нарушены или ведут на базовую версию. Чтобы очистить эти некорректные связи, нажмем кнопку «Снять с поддержки».
  5. Система выдаст предупреждение о том, что после этого действия автоматическое обновление станет невозможным. Соглашаемся и подтверждаем действие. Наша конфигурация перейдет в состояние «не находится на поддержке».
  6. Обязательно сохраним изменения в информационной базе. Для этого нажмем клавишу F7 или синюю пиктограмму («Обновить конфигурацию базы данных») на панели инструментов. На вопросы системы о реструктуризации таблиц отвечаем согласием.

Шаг 4. Восстановление конфигурации поставщика и объединение с эталоном ПРОФ

На этом шаге мы вернем базу на полноценную поддержку правильной ПРОФ-версии.

  1. В Конфигураторе рабочей базы перейдем в меню Конфигурация -> Сравнить, объединить с конфигурацией из файла....
  2. В открывшемся диалоговом окне выберем ранее сохраненный эталонный файл ut_10.3.49.1_prof.cf.
  3. Поскольку наша рабочая база сейчас снята с поддержки, платформа 1С проанализирует файл и выдаст важнейший вопрос: «Выполнить замену конфигурации целиком или поставить на поддержку?». Отвечаем согласием на постановку на поддержку.
  4. Перед нами откроется стандартное окно сравнения и объединения конфигураций. Так как мы объединяем идентичные по релизу версии (наша рабочая база, которая была обновлена до этого релиза, и чистый CF-файл того же релиза), никаких существенных различий быть не должно (если только в базу ранее не вносились доработки).
  5. Убедимся, что установлены все флажки для объединения объектов метаданных. Нажмем кнопку «Выполнить».
  6. После успешного завершения сравнения и объединения система предложит настроить правила поддержки для новых объектов. Оставляем настройки по умолчанию (все объекты должны стоять на поддержке «с возможностью изменения» или «без возможности изменения» в зависимости от ваших потребностей). Нажимаем «ОК».
  7. Теперь зафиксируем изменения в базе данных. Нажимаем клавишу F7. Платформа произведет обновление конфигурации базы данных. Теперь структура метаданных полностью соответствует требованиям оригинальной ПРОФ-версии.

Шаг 5. Принудительная очистка кэша платформы

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

Для надежной очистки кэша проделаем следующую простую процедуру:

  1. Закроем Конфигуратор рабочей базы.
  2. Откроем стандартное окно запуска «1С:Предприятие».
  3. Выделим нашу рабочую базу в списке и нажмем кнопку «Удалить». Не беспокойтесь, физические файлы базы данных останутся на диске, удалится лишь ссылка на нее из списка запуска.
  4. Нажмем кнопку «Добавить», выберем пункт «Добавление в список существующей информационной базы» и заново пропишем путь к каталогу с файлом 1Cv8.1CD нашей рабочей базы.

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

Шаг 6. Инициализация процедур обновления в пользовательском режиме

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

Для этого воспользуемся специальным ключом запуска платформы:

  1. В окне запуска 1С выделим нашу базу данных и нажмем кнопку «Изменить».
  2. В открывшемся окне настроек нажимаем «Далее», пока не дойдем до последней страницы («Параметры запуска»).
  3. В поле «Дополнительные параметры запуска» пропишем следующий параметр (обратите внимание, что буква C должна быть обязательно латинской):

/C ЗапуститьОбновлениеИнформационнойБазы

  1. Нажимаем «Готово» и запускаем базу в режиме «1С:Предприятие».
  2. При запуске система снова выведет окно подтверждения легальности получения обновления. Теперь, когда конфигурация поставщика полностью восстановлена до оригинальной ПРОФ-версии, смело подтверждаем легальность.
  3. Программа больше не закроется аварийно. Начнется штатный и последовательный процесс обновления данных информационной базы. Дождитесь его полного завершения.
  4. После успешного входа в программу закройте ее, снова зайдите в свойства базы в окне запуска и удалите прописанный параметр /C ЗапуститьОбновлениеИнформационнойБазы, чтобы при последующих запусках система не тратила время на инициализацию проверок обновления.

Золотые правила администратора 1С для предотвращения подобных проблем

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

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

← На главную