Как вернуть 1С:Бухгалтерию предприятия с версии КОРП на ПРОФ при ошибочной установке

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

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

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

Почему возникает проблема и почему «1С» не видит обновления

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

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

Фирма «1С» официально поддерживает только процесс апгрейда — то есть перехода «снизу вверх» (Базовая → ПРОФ → КОРП). Официального, штатного механизма обратного перехода (даунгрейда) не существует. Тем не менее, решить эту задачу технически возможно.

Способ 1: Метод полной загрузки конфигурации (Загрузить конфигурацию из файла)

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

Суть метода заключается в полной замене структуры метаданных КОРП на структуру ПРОФ. Поскольку КОРП базируется на ПРОФ, уникальные идентификаторы (UUID) большинства общих объектов (справочников, документов, реквизитов) у них совпадают. Это позволяет оперативно вернуть базу на поддержку ПРОФ без потери основных данных.

Разберем этот метод по шагам:

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

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

Критические риски метода полной загрузки конфигурации

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

Перед выполнением даунгрейда крайне рекомендуется запустить запрос в базе данных, чтобы проверить, были ли использованы КОРП-специфичные функции. Проанализируем пример простого запроса для проверки наличия обособленных подразделений в базе:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ПодразделенияОрганизаций.Ссылка КАК Ссылка,
    |	ПодразделенияОрганизаций.Наименование КАК Наименование
    |ИЗ
    |	Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
    |ГДЕ
    |	ПодразделенияОрганизаций.ОбособленноеПодразделение = ИСТИНА";

РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
    ВызватьИсключение "В базе присутствуют обособленные подразделения! Прямой даунгрейд опасен утерей данных.";
КонецЕсли;

Почему метод «Сравнить и объединить» категорически не подходит

Разберем популярную ошибку начинающих администраторов, которые пытаются решить проблему через меню Конфигурация -> Сравнить, объединить с конфигурацией из файла.... Этот способ приводит к плачевным последствиям:

Альтернативные и безопасные способы даунгрейда для работающих баз

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

1. Перенос данных через XML (Выгрузка/Загрузка)

Этот способ является наиболее чистым и безопасным с точки зрения целостности структуры новой базы данных. Посмотрим, как это сделать:

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

2. Предварительная очистка данных в КОРП

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

  1. С помощью обработки «Групповое изменение реквизитов» перенесите все документы и проводки с обособленных подразделений на головную организацию.
  2. Убедитесь, что все КОРП-специфичные реквизиты очищены или перенаправлены на стандартные аналитики ПРОФ.
  3. Только после полной очистки и сверки оборотно-сальдовой ведомости приступайте к загрузке файла конфигурации ПРОФ.

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

← На главную