При переходе с устаревших систем на современные решения, такие как 1С:ERP Управление предприятием, пользователи часто сталкиваются с иллюзией возможности «простого обновления» платформы. Разберем ситуацию: имеется самописная конфигурация (например, «Учет дуплекса») на платформе 1С:Предприятие 7.7, работающая на MS SQL Server. Наша задача — не просто разово перенести остатки, но и настроить механизм обмена данными с новой системой на базе 8.3.
Важно сразу прояснить технический момент: прямого обновления конфигурации с версии 7.7 до 8.3 не существует. Архитектура метаданных, программный код и механизмы работы с базой данных в этих версиях кардинально различаются. Поэтому мы будем рассматривать алгоритм миграции данных и создания правил обмена.
Поскольку мы имеем дело с кастомной (самописной) конфигурацией, типовые правила перехода от фирмы «1С» нам не подойдут. Основным инструментом для решения задачи станет конфигурация «1С:Конвертация данных» редакции 2.0. Она позволяет создавать правила обмена (ПРО), которые описывают, как объекты из источника (7.7) должны сопоставляться с объектами в приемнике (ERP).
Проанализируем последовательность подготовки метаданных:
MD82Exp.ert (она входит в состав поставки «Конвертации данных»). Эта обработка выгружает описание структуры вашей самописной базы в файл XML.MD8.3Exp.epf, чтобы получить структуру приемника.Рассмотрим подробнее процесс настройки сопоставления. В самописных базах 7.7 часто используются справочники, которые по смыслу не соответствуют современным объектам ERP. Выясним, как лучше реализовать перенос ключевых сущностей:
Партнеры и Контрагенты: В старых системах это обычно один справочник. В 1С:ERP реализована управленческая концепция разделения: «Партнер» (управленческая сущность) и «Контрагент» (юридическое лицо). При написании правил в обработчике ПередВыгрузкой или ПриЗагрузке нам потребуется создать логику разделения или автоматического создания партнера для каждого контрагента.
Номенклатура: Проанализируем структуру единиц измерения. В 8.3 используется подчиненный справочник «Упаковки/Единицы измерения», в то время как в 7.7 это могли быть просто реквизиты или отдельный тип справочника. Потребуется прописать алгоритм конвертации базовых и отчетных единиц.
Поскольку исходная база работает на MS SQL Server, мы можем значительно ускорить процесс, особенно если объем данных измеряется гигабайтами. Стандартный механизм выгрузки через XML в 7.7 работает довольно медленно из-за особенностей ядра платформы.
Рассмотрим альтернативные методы извлечения данных:
1С++) мы можем обращаться к таблицам SQL напрямую. Это позволяет моментально получать выборки данных для формирования файла обмена, минуя объектную модель 7.7.COM-объект ADODB.Connection, подключиться к таблицам 7.7 и прочитать нужные данные. Пример инициализации соединения может выглядеть так:
// Пример формирования строки соединения для SQL-версии 7.7
СтрокаСоединения = "Provider=SQLOLEDB;Data Source=" + ИмяСервера + ";Initial Catalog=" + ИмяБазы + ";User ID=" + Логин + ";Password=" + Пароль + ";";
Connection = Новый COMОбъект("ADODB.Connection");
Connection.Open(СтрокаСоединения);
Если задача состоит не в разовом переносе, а в настройке постоянного взаимодействия между системами, проанализируем доступные варианты реализации:
V77S.Application. Посмотрим на этот процесс: ERP запускает «невидимый» сеанс 7.7, обращается к справочникам и документам напрямую. Метод удобен тем, что не требует промежуточных файлов, но требует наличия установленной платформы 7.7 на сервере 1С:Предприятия 8.Выясним причину, по которой перенос в ERP сложнее, чем в обычную «Бухгалтерию». В ERP данные должны быть не просто «загружены», они должны лечь в жесткую структуру регистров. Критически важно уделить внимание документу Ввод начальных остатков.
Проанализируем ситуацию с остатками: не пытайтесь переносить проводки напрямую. В ERP учет ведется на регистрах накопления и регистрах сведений. Вам необходимо выгрузить остатки из 7.7 в таблицу, а в ERP программно или через правила обмена заполнить соответствующие документы ввода остатков по складам, взаиморасчетам и денежным средствам. Только после проведения этих документов система «увидит» активы и пассивы.
Подводя итог, алгоритм действий будет следующим: проводим аудит кастомной конфигурации 7.7 на предмет «битых» ссылок, описываем метаданные обеих систем в Конвертации данных 2.0, пишем правила сопоставления и выбираем способ транспорта данных (XML или прямые SQL-запросы). Помните, что для самописных баз автоматизация переноса возможна только при глубоком понимании логики работы старой системы, так как «волшебной кнопки» для перехода 7.7 -> ERP не существует.