Переход с «продвинутой» версии конфигурации на «младшую» (даунгрейд) — задача нетиповая и зачастую более сложная, чем апгрейд. В рамках данной статьи мы подробно разберем, как перевести базу данных 1С:Бухгалтерия предприятия 3.0 КОРП в статус Базовой, сохранив при этом накопленные учетные данные одной организации. Рассмотрим основные методы, технические препятствия и способы их преодоления.
Перед тем как приступать к техническим манипуляциям, мы должны проанализировать ключевые отличия этих версий. Версия КОРП поддерживает сквозной учет в разрезе подразделений (как обособленных, так и нет), работу с гособоронзаказом, контролируемыми сделками и специфическими налоговыми регистрами. Базовая версия максимально ограничена: одна организация в базе, отсутствие учета по подразделениям в плане счетов и жесткая привязка к лицензии.
Важный нюанс: при прямом даунгрейде данные, специфичные для КОРП (например, аналитика по подразделениям на счетах затрат или расчеты через 79 счет), будут либо безвозвратно удалены при реструктуризации, либо станут недоступными для редактирования и корректного отображения в отчетах.
Этот способ кажется самым быстрым, но он требует ювелирной точности. Основная идея заключается в том, чтобы «накатить» файл конфигурации базовой версии поверх КОРП. Проанализируем алгоритм действий:
3.0.145.26). Нам необходимо найти или установить пустую базовую версию строго того же релиза.Конфигурация — Выгрузить конфигурацию в файл.... Полученный .cf файл будет нашим донором.F7 (Обновить конфигурацию базы данных). На этом этапе произойдет реструктуризация таблиц. Все объекты метаданных, которых нет в базовой версии (например, справочники подразделений в КОРП-понимании), будут помечены на удаление.Рассмотрим ситуацию, когда после загрузки .cf база продолжает требовать лицензию ПРОФ/КОРП. Это происходит из-за того, что платформа хранит внутренний флаг «девственности» базы. Если база когда-либо была в статусе ПРОФ, она может не запуститься под базовой лицензией. В таких случаях программисты иногда используют промежуточный этап: КОРП -> ПРОФ -> Базовая, запуская базу в режиме «Предприятие» на каждом шаге для выполнения обработчиков обновления.
Если метод с .cf кажется слишком рискованным из-за возможных «битых» ссылок, мы можем воспользоваться универсальным средством — КД 2.0. Это позволит нам выгрузить данные из КОРП и загрузить их в абсолютно чистую, «честную» базовую базу.
Разберем процесс настройки правил:
MD83Exp.epf.Подразделение следует установить признак «Отключить», так как в базовой версии этого реквизита в документах просто нет.Пример кода в обработчике ПередЗагрузкой для объекта, если мы хотим программно очистить ссылки на несуществующие в базе-приемнике аналитики:
// В правилах конвертации свойств для реквизита "ПодразделениеОрганизации"
Если ТипЗнч(Объект) = Тип("ДокументОбъект.РеализацияТоваровУслуг") Тогда
// В базовой версии этого реквизита нет,
// поэтому мы просто игнорируем его при переносе
ИмяРеквизита = "ПодразделениеОрганизации";
Значение = Справочники.ПодразделенияОрганизаций.ПустаяСсылка();
КонецЕсли;
Существует еще один современный и «красивый» способ даунгрейда, который часто обходят вниманием. Это механизм «Выгрузка данных для перехода в сервис». Рассмотрим его подробнее:
В конфигурации КОРП перейдем в раздел Администрирование — Выгрузить данные для перехода в сервис. Программа сформирует компактный .zip архив, содержащий только необходимые данные в формате XML.
Затем мы создадим новую пустую Базовую версию и при первом запуске выберем пункт «Загрузить данные из файла». Платформа сама сопоставит объекты и «отсеет» всё лишнее, что не поддерживается базовым функционалом. Это наиболее безопасный метод с точки зрения лицензионной чистоты базы.
После того как мы успешно «приземлили» конфигурацию в базовый режим, необходимо выполнить «генеральную уборку». Проанализируем состояние базы через Тестирование и исправление (ТиИ):
Обязательно выберем следующие пункты:
.cf в базе могут остаться «фантомные» записи в регистрах, ссылающиеся на удаленные метаданные КОРП..1CD.Также проверим План счетов. В Базовой версии на счетах 20.01, 26, 44 и других должна отсутствовать аналитика по подразделениям. Если после «накатки» .cf вы видите субконто «Подразделения», значит реструктуризация прошла некорректно или вы используете лицензию ПРОФ, которая «подтягивает» расширенные возможности метаданных.
Подводя итог, можно сказать: даунгрейд возможен, но он требует обязательного резервного копирования на каждом этапе. Если организация в базе только одна и не использовались специфические функции КОРП (например, филиальный учет), метод загрузки .cf (КОРП -> ПРОФ -> Базовая) является самым быстрым. Если же база «тяжелая» и сложная, лучше потратить время на КД 2.0 или Выгрузку в сервис, чтобы получить чистую структуру без «хвостов» от старшей версии.
Помните, что Базовая версия — это тупиковая ветвь в плане разработки: вы не сможете вносить изменения в конфигурацию, поэтому убедитесь, что после переноса все данные (особенно остатки по счетам) сошлись с оригиналом с точностью до копейки. Для быстрого поиска ошибок в учете после переноса удобно автоматически сравнить бухгалтерские и налоговые проводки между исходной и созданной базами.