Как исправить ошибки при переходе с 1С:Бухгалтерия 2.0 на 3.0?

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

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

Проблема №1: Зависание и критические ошибки при использовании встроенного помощника «Переход на 3.0»

Рассмотрим ситуацию, когда обновление выполняется штатным способом через интерфейс программы в режиме 1С:Предприятие (меню «Сервис» — «Переход на 3.0»). На файловых базах процесс может внезапно прерваться, а при повторном запуске система выдает предупреждение «Восстановление информационной базы». На клиент-серверных базах (под управлением MS SQL Server или PostgreSQL) эта же ошибка может приводить к мгновенному аварийному завершению работы платформы без каких-либо подробностей в журнале регистрации.

Выясним причину этой неисправности. Штатный помощник перехода представляет собой сложную обработку, использующую встроенные HTML-макеты и сценарии JavaScript для интерактивного отображения прогресса и выполнения сопутствующих процедур. Вся эта визуализация работает на базе движка Internet Explorer, интегрированного в операционную систему Windows. Если переход выполняется на серверной ОС (например, Windows Server 2012 R2, Windows Server 2016 или более новых версиях), то по умолчанию там включена функция IE ESC (Internet Explorer Enhanced Security Configuration) — конфигурация усиленной безопасности. Данная служба жестко блокирует запуск любых сценариев JavaScript и работу элементов ActiveX, что приводит к краху обработчика внутри платформы 1С.

Разберем по шагам, как решить эту проблему:

  1. Отключение конфигурации усиленной безопасности Internet Explorer. Нам необходимо временно деактивировать защиту на период обновления. Для этого перейдем в «Диспетчер серверов» (Server Manager), выберем раздел «Локальный сервер» (Local Server), найдем пункт «Конфигурация усиленной безопасности Internet Explorer» (IE Enhanced Security Configuration) и переведем переключатели в положение «Отключено» (Off) как для администраторов, так и для обычных пользователей.
  2. Сброс настроек браузера. Запустим Internet Explorer на сервере от имени администратора, перейдем в «Свойства браузера» (Internet Options). На вкладке «Дополнительно» (Advanced) нажмем кнопку «Сброс» (Reset), установив флажок удаления личных настроек. На вкладке «Безопасность» (Security) убедимся, что для зоны локального компьютера и интернета разрешено выполнение активных сценариев (Active Scripting).
  3. Очистка кэша платформы 1С. Перед повторным запуском процедуры перехода крайне важно очистить временные файлы, так как поврежденные скрипты могли закешироваться. Для этого полностью удалим содержимое папок кэша по следующим путям в профиле пользователя ОС:
    %localappdata%\1C\1Cv8
    %appdata%\1C\1Cv8
  4. Проверка прав пользователя. Убедимся, что учетная запись 1С, под которой выполняется переход, обладает полными правами и ролью Администратор системы. Запуск платформы рекомендуется выполнять от имени администратора операционной системы.

Проблема №2: Ошибка «На удаляемый объект есть ссылки в объектах основной конфигурации» при обновлении через Конфигуратор

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

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

Проанализируем ситуацию и выясним причину. Такая ошибка возникает в двух случаях. Во-первых, если конфигурация базы данных ранее была снята с поддержки (включена возможность изменения), даже если визуально в нее не вносилось никаких правок. В этом режиме платформа выполняет процедуру обновления через механизм сравнения и объединения, где старые формы БП 2.0 еще активны, а новые объекты БП 3.0 уже пытаются занять их место, создавая логический конфликт связей. Во-вторых, подобная лавина ошибок возникает при использовании неподходящего файла обновления (например, обычной дельты .cfu для перехода между релизами тройки вместо специального переходного файла конфигурации .cf).

Рассмотрим два подробных сценария решения этой проблемы в зависимости от того, является ли ваша база типовой или доработанной.

Решение для типовых конфигураций (без доработок)

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

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

Решение для измененных (нетиповых) конфигураций

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

  1. Проведение тестирования и исправления. Перед началом сложного обновления обязательно запустите встроенную диагностику базы. Перейдите в меню «Администрирование» — «Тестирование и исправление...». Установите флажки на пунктах проверки логической и ссылочной целостности базы данных. В блоках обработки ошибок выберите переключатели «Очищать ссылки» и «Удалять объекты». Это позволит избавиться от «мусорных» связей в базе данных.
  2. Интеграция изменений через расширения. Современный стандарт разработки в 1С рекомендует переносить все кастомные доработки из основного кода в механизм Расширения конфигурации. Рекомендуется временно зафиксировать все ваши изменения, обновить конфигурацию до типовой БП 3.0 описанным выше способом, а затем реализовать ваши доработки в виде расширений для редакции 3.0. Это существенно облегчит последующую поддержку системы.
  3. Ручное удаление конфликтующих связей. Если вы все же обновляете базу методом сравнения-объединения, обратите внимание на список ошибок. Платформа указывает конкретные формы документов (например, форму документа РеализацияТоваровУслуг), которые ссылаются на удаляемые реквизиты (например, ОтветственныйЗаОформление). Вам потребуется открыть эти формы в конфигурации-источнике, вручную удалить элементы управления (поля ввода, декорации, кнопки), связанные с этими реквизитами, сохранить конфигурацию базы данных и только после этого повторить попытку обновления.

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

← На главную