Перенос документов между базами 1С:Предприятие — типичная задача для бухгалтеров, логистов и администраторов систем. Возникает она при реорганизации компании, миграции на новую версию программы, объединении филиалов или банальной ошибке ввода. Но даже опытные пользователи часто сталкиваются с проблемами: документы "ломаются" при копировании, теряются ссылки на справочники или возникают ошибки контрольных сумм.

В этой статье разберём все актуальные способы переноса — от ручных до автоматизированных, с учётом нюансов разных конфигураций (1С:Бухгалтерия, 1С:УТ, 1С:ЗУП и др.). Особое внимание уделим типичным ошибкам и способам их избежать. Если вам нужно скопировать всего один документ или пакет из сотни записей — здесь найдёте рабочие решения.

Важно: методы отличаются по сложности и требованиям к правам доступа. Например, выгрузка через XML доступна даже пользователю с ограниченными правами, а настройка планового обмена потребует доступа к конфигуратору. Мы отметили эти нюансы в каждом разделе.

1. Ручной перенос через копирование и вставку (для единичных документов)

Самый простой способ — скопировать документ в одной базе и вставить в другую. Подходит для единичных записей (например, одного счета или накладной), когда не требуется сохранять историю изменений или связанные объекты (например, печатные формы или файлы).

Как это работает:

1. Откройте документ в исходной базе (1С:Предприятие в режиме пользователя).

2. Нажмите Ctrl+C (или правой кнопкой → Копировать).

3. Перейдите в целевую базу, создайте новый документ того же типа.

4. Вставьте данные (Ctrl+V) в соответствующие поля.

⚠️

Внимание: При таком копировании не переносятся:
  • 🔹 Ссылки на справочники (контрагенты, номенклатура, сотрудники) — их придётся выбирать вручную.
  • 🔹 История изменений документа (кто и когда редактировал).
  • 🔹 Прикреплённые файлы (сканы, Excel-отчёты).

Этот метод удобен для быстрого дублирования шаблонных документов (например, типового договора), но не подходит для массового переноса. Если нужно скопировать пакет документов — читайте дальше.

📊 Как часто вам приходится переносить документы между базами 1С?
Раз в неделю или чаще
1-2 раза в месяц
Реже, но регулярно
Только при миграциях/реорганизации

2. Выгрузка и загрузка через универсальный формат (XML, DT, EDI)

Для переноса пакетов документов (например, всех счетов за месяц) используют стандартные форматы обмена: .xml, .dt (двоичный формат 1С) или EDI (для электронного документооборота). Этот способ сохраняет все ссылки и структуру, но требует предварительной настройки.

Пошаговая инструкция:

  1. В исходной базе откройте Файл → Выгрузить данные (или Администрирование → Обмен данными → Выгрузка, в зависимости от конфигурации).
  2. Выберите формат:
    • 📄 XML — универсальный, но медленный для больших объёмов.
    • 💾 DT — двоичный формат 1С, быстрее и компактнее.
  3. Укажите, какие документы выгружать (по дате, типу, статусу).
  4. Сохраните файл на диск или в сетевую папку.
  5. В целевой базе выберите Файл → Загрузить данные и укажите выгруженный файл.
  6. ⚠️

    Внимание: Если в документах есть ссылки на отсутствующие справочники (например, контрагент, которого нет в новой базе), загрузка завершится ошибкой. В этом случае сначала перенесите справочники или создайте их вручную.

    Сравнение форматов:

    Формат Скорость Сохранение ссылок Подходит для больших объёмов Требует настройки
    XML 🐢 Медленнее ✅ Да ❌ Нет (ограничен размером файла) ❌ Нет
    DT 🚀 Быстрее ✅ Да ✅ Да ❌ Нет
    EDI ⚡ Мгновенно (онлайн) ✅ Да ✅ Да ✅ Да (настройка соединения)

    Убедитесь, что в целевой базе есть все необходимые справочники (контрагенты, номенклатура и др.)|Проверьте права доступа на выгрузку/загрузку|Сделайте резервную копию целевой базы перед загрузкой|Если переносите большие объёмы, используйте формат DT-->

    3. Обмен данными через плановые задачи (для регулярного переноса)

    Если документы нужно переносить регулярно (например, ежедневно синхронизировать заказы между торговой и складской базами), настройте плановый обмен данными. Этот метод требует прав администратора и доступа к конфигуратору, но после настройки работает автоматически.

    Как настроить:

    1. В 1С:Предприятии откройте конфигуратор (Файл → Конфигуратор).

    2. Перейдите в Администрирование → Обмен данными → Планы обмена.

    3. Создайте новый план обмена (например, "Синхронизация с филиалом").

    4. Укажите узлы обмена (исходную и целевую базы) и настройте правила:

    • 📋 Какие документы переносить (по типам, датам, статусам).
    • 🔄 Направление обмена (односторонний или двусторонний).
    • ⏰ Расписание (ежедневно, еженедельно, вручную).

    5. Запустите начальную синхронизацию.

    ⚠️

    Внимание: При двустороннем обмене возможны конфликты версий, если один и тот же документ редактировался в обеих базах. В этом случае 1С предложит выбрать актуальную версию или объединить изменения.

    Пример настройки расписания:

    
    

    // Код для создания задачи планового обмена (1С:Предприятие 8.3)

    ПланОбмена = ПланыОбмена.СоздатьОбменДанными();

    ПланОбмена.Узел = УзлыОбмена.НайтиПоНаименованию("Филиал_1");

    ПланОбмена.Расписание.ДобавитьЕжедневноеВремя(ВремяНачалаДня() + 3600); // Каждый день в 1:00 ночи

    ПланОбмена.Записать();

    💡

    Если обмен проходит медленно, проверьте индексы в базе данных. Для ускорения можно временно отключить проверку ссылочной целостности (но не забывайте включить её обратно!).

    4. Перенос через внешние обработки (для сложных сценариев)

    Когда стандартные методы не подходят (например, нужно перенести документы с конвертацией данных или фильтрацией), используют внешние обработки. Это гибкий инструмент, но требует знаний 1С:Программирования или помощи специалиста.

    Популярные обработки для переноса:

    • 📁 Универсальный обмен данными (УОД) — входит в поставку 1С, поддерживает большинство конфигураций.
    • 🔧 Конвертация данных 2.0/3.0 — для сложных трансформаций (например, перенос из 1С:УТ 10.3 в 1С:ERP 2.4).
    • 📊 ВыгрузкаЗагрузкаДанныхXML — стандартная обработка для выборочного переноса.

    Как использовать:

    1. Скачайте обработку (например, УниверсальныйОбменДанными.epf) с сайта 1С:ИТС или портала Инфостарт.

    2. В 1С:Предприятии откройте Файл → Открыть → Внешняя обработка.

    3. Загрузите файл обработки и следуйте инструкциям мастера.

    ⚠️

    Внимание: Обработки от сторонних разработчиков могут содержать уязвимости или несовместимости с вашей версией 1С. Перед использованием проверьте отзывы и тестируйте на копии базы.
    Что делать, если обработка выдаёт ошибку "Не найден объект метаданных"?

    Эта ошибка возникает, если обработка пытается обратиться к объекту (например, справочнику или документу), которого нет в вашей конфигурации. Решения:

    1. Обновите обработку до версии, совместимой с вашей конфигурацией.

    2. Вручную добавьте недостающий объект в метаданные (требуется конфигуратор).

    3. Используйте другую обработку, поддерживающую вашу версию 1С.

    5. Программный перенос (для разработчиков)

    Если вам нужно автоматизировать перенос или интегрировать 1С с другими системами (например, CRM или WMS), используйте встроенный язык 1С или REST API. Этот метод гибкий, но требует навыков программирования.

    Пример кода для копирования документа "Заказ покупателя":

    // Получаем документ из исходной базы
    

    Запрос = Новый Запрос;

    Запрос.Текст =

    "ВЫБРАТЬ

    | ЗаказыПокупателя.Ссылка КАК Ссылка

    |ИЗ

    | Документ.ЗаказПокупателя КАК ЗаказыПокупателя

    |ГДЕ

    | ЗаказыПокупателя.Номер = &Номер";

    Запрос.УстановитьПараметр("Номер", "000123");

    Результат = Запрос.Выполнить();

    Документ = Результат.Выбрать().Ссылка.ПолучитьОбъект();

    // Сериализуем в JSON для передачи

    СтруктураДанных = Новый Структура;

    СтруктураДанных.Вставить("Дата", Документ.Дата);

    СтруктураДанных.Вставить("Контрагент", Документ.Контрагент.Наименование);

    // ... заполняем остальные поля

    // Передаём в целевую базу (пример для HTTP-сервиса)

    HTTPСервис = Новый HTTPСервис("http://целевая-база/api/импорт");

    Ответ = HTTPСервис.ОтправитьJSON(СтруктураДанных);

    Когда использовать программный перенос:

    • 🤖 Для интеграции с другими системами (например, отправка заказов в Wildberries или Озон).
    • 📈 Для массовой обработки документов (например, конвертация валют в старых документах).
    • 🔒 Когда нужна дополнительная логика (например, проверка дублей перед загрузкой).

    ⚠️

    Внимание: При программном переносе легко нарушить ссылочную целостность, если не учесть зависимости между объектами. Всегда тестируйте код на копии базы!
    💡

    Программный перенос — самый гибкий метод, но требует знаний 1С:Программирования. Для одноразовых задач проще использовать стандартные инструменты (XML, DT).

    6. Типичные ошибки и как их избежать

    Даже при правильном выборе метода переноса пользователи сталкиваются с ошибками. Разберём самые частые проблемы и способы их решения.

    Ошибка 1: "Не найден объект справочника"

    Причина: В целевой базе отсутствует элемент справочника (например, контрагент или номенклатура), на который ссылается документ.

    Решение:

    • 🔍 Выгрузите справочники до переноса документов.
    • 📝 Создайте недостающие элементы вручную.
    • 🔄 Используйте обработку с опцией "Создавать отсутствующие объекты".

    Ошибка 2: "Нарушена ссылочная целостность"

    Причина: Документ ссылается на другой документ (например, счёт на оплату ссылается на заказ), который не был перенесён.

    Решение: Переносите документы в правильном порядке (сначала заказы, потом счета, затем платежи).

    Ошибка 3: "Неверная контрольная сумма файла"

    Причина: Файл выгрузки повреждён или изменён после создания (например, открывали в текстовом редакторе).

    Решение: Повторите выгрузку и убедитесь, что файл передаётся без изменений (например, через архив .zip).

    Ошибка 4: "Недостаточно прав для операции"

    Причина: У пользователя нет прав на выгрузку/загрузку или доступ к плану обмена.

    Решение: Обратитесь к администратору 1С за расширением прав или выполните операцию от имени пользователя с ролью "Администратор".

    Таблица ошибок и решений:

    Ошибка Вероятная причина Решение
    Ошибка чтения XML: неверный формат Файл повреждён или создан в другой версии 1С Повторите выгрузку в формате DT или проверьте версию конфигурации
    Объект не является документом Пытаетесь загрузить справочник как документ Проверьте тип объекта в файле выгрузки
    Превышен лимит времени ожидания Большой объём данных или медленное соединение Разбейте выгрузку на части или используйте DT
    💡

    Если при загрузке возникает ошибка "Документ с таким номером уже существует", включите в настройках обработки опцию "Перезаписывать существующие документы" или измените нумерацию в целевой базе.

    FAQ: Ответы на частые вопросы

    Можно ли перенести документ между разными конфигурациями 1С (например, из УТ в Бухгалтерию)?

    Да, но для этого нужна конвертация данных. Стандартные методы (XML/DT) работают только между одинаковыми конфигурациями. Используйте:

    • Обработку Конвертация данных 2.0/3.0 (входит в поставку 1С).
    • Сторонние решения (например, 1С:Конвертация или Универсальный обмен от партнёров).

Важно: структуры документов в разных конфигурациях могут отличаться — часть данных придётся переносить вручную.

Как перенести документ вместе с историей изменений?

История изменений (кто и когда редактировал документ) не сохраняется при стандартной выгрузке/загрузке. Чтобы перенести её:

  1. Выгрузите документ в формате DT (он сохраняет больше метаданных).
  2. Используйте обработку ВыгрузкаЗагрузкаДанныхXML с галочкой "Выгружать служебные данные".
  3. Для полной миграции истории настройте плановый обмен с включённой опцией "Переносить версии объектов".
Что делать, если после переноса документ не проводится?

Проблема возникает из-за:

  • Отсутствия необходимых справочников (например, валюты или ставки НДС).
  • Несоответствия настроек учётной политики (например, другие счета бухучета).
  • Ошибок в данных (отрицательные суммы, пустые обязательные поля).

Решение:

  1. Проверьте логи обмена данными (в них указана причина ошибки).
  2. Сравните настройки учётной политики в обеих базах.
  3. Попробуйте провести документ вручную и исправьте ошибки.
Можно ли автоматизировать перенос документов по расписанию?

Да, для этого настройте:

  • Плановый обмен данными (встроенный функционал 1С).
  • Регламентное задание (в конфигураторе, раздел "Регламентные задания").
  • Внешний скрипт (например, на PowerShell или Python, который запускает обработку по расписанию).

Пример настройки регламентного задания:

// Код для создания регламентного задания (1С:Предприятие 8.3)

Задание = РегламентныеЗадания.СоздатьЗадание();

Задание.Имя = "ЕжедневныйОбменСФилиалом";

Задание.Метод = "ОбменДанными.ВыполнитьОбмен";

Задание.Расписание.Ежедневно(ВремяНачалаДня() + 7200); // Каждый день в 2:00

Задание.Записать();

Как перенести прикреплённые файлы (сканы, Excel) вместе с документом?

Стандартные форматы (XML/DT) не сохраняют вложения. Чтобы перенести файлы:

  1. Выгрузите документы с файлами через обработку "ВыгрузкаЗагрузкаДанныхXML" (галочка "Выгружать файлы").
  2. Используйте внешнюю обработку с поддержкой вложений (например, Универсальный обмен данными с файлами от Инфостарт).
  3. Перенесите файлы отдельно (через FTP или облачное хранилище) и прикрепите вручную.

⚠️ Вложения увеличивают размер файла выгрузки — для больших объёмов используйте архивацию (.zip).