Перенос данных между двумя конфигурациями 1С:Бухгалтерия предприятия 3.0 — задача, которая часто встает перед специалистами при разделении учета, переезде на новую базу или синхронизации данных. Особенную сложность представляют документы ОперацияБух (Операция, введенная вручную), так как они напрямую связаны с проводками и аналитикой, хранящейся в различных регистрах. Разберем наиболее эффективные и простые способы решения этой задачи, а также проанализируем критические нюансы, которые могут привести к дублированию справочников.
Рассмотрим самый популярный и относительно простой метод, который не требует навыков работы в Конвертации данных. Для этого нам понадобится типовая обработка ВыгрузкаЗагрузкаДанныхXML83.epf (обычно она доступна на диске ИТС или в составе дополнительных материалов к конфигурации).
Проанализируем алгоритм действий при использовании этого инструмента:
ОперацияБух (Операция, введенная вручную).Этот метод считается «простым», так как он переносит данные «как есть», сохраняя внутренние идентификаторы объектов. Однако здесь кроется главная опасность, которую мы разберем далее. Для более точной фильтрации выгружаемых документов можно использовать обработку выгрузки и загрузки данных XML с гибким отбором объектов.
Выясним причину, по которой даже в визуально «одинаковых» базах перенос может пройти некорректно. Каждый объект в 1С (документ, элемент справочника) имеет скрытый УИД (уникальный идентификатор). Обработка ВыгрузкаЗагрузкаДанныхXML ищет объекты в базе-приемнике именно по этому УИД.
Если ваши базы не являются зеркальными копиями друг друга (например, одна не была создана из бэкапа другой), то УИД справочника Организации или Контрагенты могут различаться, даже если ИНН и наименование совпадают. В этом случае при загрузке система не найдет объект по идентификатору и создаст новый. В результате в базе появятся дубли: две одинаковых организации, две одинаковых статьи затрат и так далее.
Практический совет: Перед массовой загрузкой попробуйте перенести одну тестовую операцию. Если вы увидите появление дублей в справочниках — стандартная выгрузка XML вам не подходит без предварительной подготовки баз.
Если базы имеют разную историю и УИД объектов не совпадают, рассмотрим более надежный метод — синхронизацию через универсальный формат обмена данными. Современная 1С:Бухгалтерия 3.0 поддерживает этот механизм «из коробки».
Посмотрим на преимущества этого подхода:
В ситуациях, когда операций немного, но они объемные (много строк в одной операции), можно воспользоваться стандартным функционалом 1С по загрузке из табличных документов. Проанализируем, как это работает в БП 3.0:
Внутри документа ОперацияБух или в списке документов можно воспользоваться механизмом Загрузить из файла. Вы можете подготовить таблицу в Excel, содержащую колонки: Счет Дт, Субконто Дт, Счет Кт, Субконто Кт, Сумма. При загрузке система предложит вам интерактивно сопоставить элементы справочников. Это наиболее безопасный способ для «чистоты» данных, хотя он и требует некоторой ручной подготовки таблицы.
Существуют специализированные внешние обработки, которые работают через COM-соединение или промежуточный буфер обмена. Они позволяют буквально «скопировать» документ в одной базе и «вставить» в другой.
Рассмотрим логику работы таких инструментов:
Такой подход удобен, если вам нужно перенести всего несколько документов ОперацияБух за один раз, не запуская громоздкие процедуры выгрузки-загрузки файлов. Для прямого обмена с контролем различий подойдёт инструмент для синхронного переноса объектов между базами 1С.
Важно помнить, что документ ОперацияБух в 1С:Бухгалтерии предприятия 3.0 — это особый объект. В отличие от других документов, данные в нем хранятся не только в табличных частях, но и непосредственно в записях регистров. При использовании программного кода для переноса (если вы решите написать свою обработку), обязательно нужно учитывать набор записей регистра Хозрасчетный.
Пример обращения к движениям документа для понимания структуры:
// Пример получения движений операции по бухгалтерскому учету
ДвиженияДокумента = СсылкаНаОперацию.ПолучитьОбъект().Движения.Хозрасчетный;
ДвиженияДокумента.Прочитать();
Для Каждого Запись Из ДвиженияДокумента Цикл
// Здесь мы видим проводки документа
Сообщить("Счет Дт: " + Запись.СчетДт + " Сумма: " + Запись.Сумма);
КонецЦикла;
Типовая обработка ВыгрузкаЗагрузкаДанныхXML по умолчанию корректно обрабатывает движения регистров, если в настройках не указано иное. Однако всегда проверяйте результат загрузки: откройте документ в базе-приемнике и убедитесь, что флажок Активность у движений установлен, а суммы отражены в отчетах (например, в Оборотно-сальдовой ведомости).
Подводя итог, проанализируем план безопасного переноса:
Организации, Подразделения, Счета.ОперацияБух через меню "Еще - Выбор регистров" можно увидеть, какие регистры задействованы.Если базы абсолютно идентичны (одна создана из другой недавно), то способ с ВыгрузкаЗагрузкаДанныхXML будет действительно самым быстрым и простым. В противном случае стоит рассмотреть вариант с загрузкой из Excel или использованием Enterprise Data для контроля за дублями аналитики.