Переход с версии 1С:Бухгалтерия ПРОФ на Базовую (так называемый даунгрейд) — задача, с которой программисты и системные администраторы сталкиваются при оптимизации расходов бизнеса, продаже одной из фирм или выделении учета в отдельное юрлицо. На первый взгляд задача кажется тривиальной, однако стандартные механизмы выгрузки данных зачастую приводят к серьезным ошибкам.
В этой статье мы подробно разберем, почему перенос данных через универсальный обмен XML превращается в рутину с ручной доработкой, и изучим правильный технический алгоритм перехода путем конвертации самой базы данных.
Попытка перенести данные из ПРОФ в пустую Базовую базу с помощью обработки ВыгрузкаЗагрузкаДанныхXML часто приводит к сбоям. Проанализируем причину этой проблемы. Главный камень преткновения — это План счетов. Идентификаторы (UUID) предопределенных счетов и субсчетов в исходной ПРОФ и целевой Базовой базах могут не совпадать. При загрузке XML-файла платформа начинает выдавать ошибки о неуникальности идентификаторов плана счетов.
Если исключить план счетов из выгрузки, то все документы, содержащие ссылки на счета учета (например, Требование-накладная, Поступление товаров и услуг, операции вручную), загрузятся полупустыми. Бухгалтеру или программисту придется вручную перезаполнять табличные части документов и восстанавливать аналитику затрат на счетах 10, 20, 26, 41 и других. Чтобы избежать этого кошмара, мы применим метод прямой трансформации конфигурации.
Базовая версия конфигурации имеет жесткое ограничение: в одной информационной базе может вестись учет только по одной организации. Поэтому перед началом любых технических манипуляций в конфигураторе нам необходимо подготовить данные в режиме «Предприятие».
Выполним следующие подготовительные действия:
1cv8.1cd или выгрузим базу в формат .dt через конфигуратор. Процесс обратной конвертации необратим, поэтому страховка необходима.Организации, но и все связанные с ними документы, элементы справочников и записи регистров.Администрирование — Функциональность. На вкладке Организации снимем флажок Учет по нескольким организациям. Это критично, иначе после загрузки базовой конфигурации система выдаст ошибку несовместимости данных при запуске.Что делать, если в ПРОФ-базе велось несколько организаций, и нам нужно безболезненно перенести в базовую версию только одну из них, сохранив всю историю документов? Ручное удаление документов по остальным фирмам может занять вечность. В этой ситуации мы применим механизм распределенных информационных баз (РИБ).
Разберем этот процесс по шагам:
Создать начальный образ. На выходе мы получим новую базу данных ПРОФ, в которой будут содержаться документы только по этой выбранной организации.
Попытка
ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
Сообщить("База успешно отвязана от главного узла и переведена в автономный режим.");
Исключение
Сообщить("Ошибка при отключении главного узла: " + ОписаниеОшибки());
КонецПопытки;
Теперь у нас есть чистая база версии ПРОФ, содержащая данные только по одной нужной организации, готовая к процедуре сворачивания в Базовую версию.
Для успешной загрузки нам необходим файл конфигурации базовой версии. Крайне важно, чтобы номер релиза базовой конфигурации полностью совпадал с номером релиза исходной ПРОФ-версии. Например, если у вас установлена «Бухгалтерия предприятия ПРОФ» версии 3.0.145.26, вам нужен файл конфигурации «Бухгалтерия предприятия базовая» именно версии 3.0.145.26.
Выясним, как правильно получить этот файл:
Конфигурация — Сохранить конфигурацию в файл.... Сохраним полученный файл под понятным именем, например, base_3_0_145_26.cf.Если просто загрузить полученный .cf файл в базу ПРОФ, вы столкнетесь с известной проблемой: при запуске программа продолжит требовать лицензию уровня ПРОФ (запрашивать пин-код из 3 групп символов вместо 4, которые используются в базовой версии). Это происходит потому, что платформа хранит информацию о поддержке старой конфигурации.
Рассмотрим правильную последовательность действий в Конфигураторе базы-приемника:
Конфигурация — Поддержка — Настройка поддержки.Включить возможность изменения.Снять с поддержки и подтвердим действие. Конфигурация станет полностью редактируемой, а связь с родительским решением ПРОФ разорвется.Конфигурация — Загрузить конфигурацию из файла... и укажем путь к нашему ранее сохраненному файлу base_3_0_145_26.cf.F7). Начнется процесс реструктуризации таблиц. Платформа сопоставит все объекты метаданных и заменит свойства конфигурации на «Базовые».После успешного завершения процесса реструктуризации в Конфигураторе запустим базу в режиме «1С:Предприятие». Программа выполнит стандартные процедуры обновления данных (заполнение регистров сведений, обработку объектов подсистемы БСП). Это может занять некоторое время в зависимости от объема базы данных.
Чтобы убедиться, что структура базы данных не повреждена и все внутренние связи таблиц корректны, настоятельно рекомендуется выполнить процедуру тестирования:
Администрирование — Тестирование и исправление....Реиндексация таблиц информационный базы;Проверка логической целостности;Проверка ссылочной целостности.Очищать ссылки, а в поле «При частичной потере данных объектов» — Удалять объект.Выполнить и дождемся окончания процесса.Переведя базу на базовую лицензию, важно понимать, с какими ограничениями столкнется конечный пользователь:
РасширенияКонфигурации. Любые доработки, которые были сделаны через расширения в версии ПРОФ, перестанут функционировать. Разрешено использовать только внешние обработки и отчеты.Использование описанного метода прямой загрузки .cf-файла позволяет выполнить даунгрейд с ПРОФ на Базовую за минимальное время, полностью сохраняя при этом все документы, справочники, проводки и, самое главное, уникальные идентификаторы плана счетов.