Переход со старой платформы 1С 7.7 на современную 1С:Комплексная автоматизация (КА) 2.5 — это сложный процесс, требующий длительной проверки корректности учета. Часто возникает необходимость вести параллельный учет в обеих базах в течение одного квартала. Рассмотрим, как технически реализовать регулярный перенос документов (поступлений и реализаций) и с какими трудностями мы можем столкнуться.
Проанализируем доступные инструменты. В современной среде 1С основным стандартом считается Конвертация данных 3.0 (на базе формата EnterpriseData). Однако для 1С 7.7 ситуация иная:
V77Exp.ert, которая умеет работать с правилами обмена в формате XML. Настроить правила в КД 2.0 значительно проще, так как она напрямую работает со структурами метаданных обеих баз.XDTO-пакетов, необходимых для работы с EnterpriseData. Попытка реализовать такой обмен потребует ручного формирования сложной XML-структуры, что равносильно написанию собственного движка обмена.COM-соединение или выгрузку в простой текстовый файл/CSV.Рекомендация: Остановимся на КД 2.0 как на оптимальном балансе между скоростью разработки и надежностью.
Для регулярного переноса нам нужно выгружать не все документы, а только новые или измененные. Разберем основные методы регистрации изменений в 1С 7.7:
Метод 1: Использование системных таблиц (для SQL-версий)
В SQL-версиях 1С 7.7 при включении компоненты "Управление распределенными базами данных" (УРБД) появляется системная таблица 1supdts. В ней фиксируются ID всех измененных объектов. Мы можем использовать прямой запрос к этой таблице, чтобы получить список документов для выгрузки. После успешной загрузки в 8-ку записи в этой таблице необходимо очистить.
Метод 2: Флаг в документе (для файловых баз)
Если база файловая, проанализируем возможность добавления нового реквизита (например, ФлагВыгрузки типа "Число"). В модуле документа в процедуре ПриЗаписи будем устанавливать его в 1. Обработка выгрузки будет искать документы с 1, выгружать их и сбрасывать флаг в 0.
Метод 3: Использование компоненты УРБД
Запустим стандартный механизм обмена УРБД, создав "фиктивную" периферийную базу. Система сама будет регистрировать изменения в файлах обмена (.zip), которые мы сможем парсить или использовать для формирования списка выгрузки.
Посмотрим на пример логики, которую можно реализовать в 1С:КА 2.5 для затягивания данных из 7.7. Этот метод позволяет избежать промежуточных файлов.
// Пример инициализации соединения из 8.3
ПутьКБазе77 = "C:\1C_Bases\Production\";
Пользователь77 = "Admin";
Пароль77 = "123";
V77 = Новый COMОбъект("V77.Application");
Открыта = V77.Initialize(V77.RMTrade, "/D" + ПутьКБазе77 + " /N" + Пользователь77 + " /P" + Пароль77, "NO_SPLASH_SHOW");
Если Открыта Тогда
ВыборкаДоков = V77.CreateObject("Документ.Реализация");
ВыборкаДоков.ВыбратьДокументы(ДатаНачала, ДатаКонца);
Пока ВыборкаДоков.ПолучитьДокумент() = 1 Цикл
// Логика создания документа в КА 2.5
СоздатьДокументВКА(ВыборкаДоков);
КонецЦикла;
КонецЕсли;
Важно понимать, что параллельный учет — это не только технический перенос строк. Выясним основные причины, почему данные могут не сойтись:
Партнеры и Контрагенты. В 7.7 это один справочник. При переносе реализации нужно четко сопоставлять их, иначе возникнут дубли или ошибки проведения.GUID. Для стабильного обмена рекомендуется создать в КА 2.5 дополнительные реквизиты для хранения текстового ID77 (внутреннего кода объекта из 7.7). Это позволит избежать дублирования при повторных выгрузках одного и того же документа.Чтобы параллельный учет принес пользу, недостаточно просто перенести документы. Проанализируем стратегию сверки:
Таким образом, для реализации задачи лучше всего использовать КД 2.0 с регистрацией изменений через 1supdts (SQL) или флаги (файловая). Это позволит оперативно наполнять новую базу реальными данными и постепенно обучать пользователей работе в новом интерфейсе, не прерывая основной производственный процесс.