Работа с актуальными данными в 1С:Предприятие — одна из самых востребованных задач среди бухгалтеров, администраторов и программистов.hether вы переносите остатки между базами, восстанавливаете данные после сбоя или синхронизируете информацию между филиалами, правильная установка текущих данных экономит часы ручной работы и минимизирует ошибки. Однако даже опытные пользователи сталкиваются с проблемами: от несовпадения структур справочников до ошибок при загрузке через XML или DT.

В этой статье мы разберём 5 проверенных способов установки текущих данных — от стандартного обмена через Универсальный формат до использования специализированных обработок и скриптов. Особое внимание уделим типичным ошибкам (например, ОшибкаControlSum или Не найден объект) и способам их обхода. Все инструкции актуальны для последних версий платформы 1С:Предприятие 8.3.23+ и популярных конфигураций: Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом 3.1.

Если вы никогда раньше не занимались переносом данных — начните с первого способа (типовой обмен). Для сложных случаев (например, перенос между разными конфигурациями) пригодятся методы с использованием Data Composition System или прямого SQL-запроса.

Способ 1: Типовой обмен через «Универсальный формат» (для новичков)

Самый безопасный и рекомендуемый метод — использование встроенного механизма обмена через Универсальный формат обмена данными (XML). Он подходит для переноса справочников, документов и остатков между идентичными конфигурациями (например, две базы Бухгалтерии 3.0).

Алгоритм действий:

  • 📁 Выгрузка данных: В исходной базе откройте Администрирование → Обмен данными → Универсальный обмен → Выгрузка данных. Укажите период (например, 01.01.2026), отметьте нужные объекты (контрагенты, номенклатура, остатки по счетам) и сохраните файл в формате .xml.
  • 🔄 Настройка правил обмена: Если обмен настраивается впервые, создайте новое правило в Администрирование → Обмен данными → Настройка обмена. Для типовой Бухгалтерии 3.0 достаточно выбрать шаблон Обмен с бухгалтерией предприятия.
  • 📥 Загрузка в целевую базу: В принимающей базе выполните Администрирование → Обмен данными → Универсальный обмен → Загрузка данных и укажите сохранённый файл.

⚠️ Внимание: При загрузке данных в базу с уже существующими записями (например, те же контрагенты) система предложит варианты обработки дублей: Заменить, Оставить старые или Создать новые. Для установки текущих данных выбирайте Заменить, но предварительно сделайте резервную копию!

Убедиться, что версии конфигураций совпадают|Сверить периоды выгрузки и загрузки|Отключить пользователей от обеих баз|Создать резервную копию целевой базы|Проверить права доступа (полные права для обмена)-->

Если при загрузке возникает ошибка Не найден объект метаданных, это означает, что в целевой базе отсутствует справочник или документ, который есть в исходной. Решение:

  1. Сравните структуры баз через Конфигуратор → Сравнить конфигурации.
  2. Добавьте недостающие объекты вручную или обновите конфигурацию.

Способ 2: Использование обработки «ВыгрузкаЗагрузкаДанныхXML»

Для более гибкой настройки обмена (например, переноса только определённых справочников или документов за период) подходит стандартная обработка ВыгрузкаЗагрузкаДанныхXML.epf. Она входит в комплект поставки и доступна для скачивания на портале its.1c.ru.

Преимущества метода:

  • 🎯 Возможность выборочной выгрузки (например, только Документы.ПоступлениеТоваров за текущий месяц).
  • 🔧 Настройка соответствий полей (если структуры баз немного отличаются).
  • 📊 Поддержка XDTO-пакетов для сложных данных.

Инструкция:

  1. Скачайте обработку с портала и откройте её в исходной базе через Файл → Открыть.
  2. В окне обработки укажите:
    Режим: Выгрузка
    

    Формат: XML

    Объекты: [Выберите нужные справочники/документы]

    Файл: C:\Temp\DataExport.xml

  3. Нажмите Выполнить и дождитесь завершения выгрузки.
  4. В целевой базе откройте ту же обработку, выберите режим Загрузка и укажите файл.

⚠️ Внимание: Обработка ВыгрузкаЗагрузкаДанныхXML не поддерживает перенос регламентированных отчётов (например, деклараций по НДС) и некоторых служебных справочников. Для них используйте специализированные обработки.

Типовой универсальный обмен|Обработка ВыгрузкаЗагрузкаДанныхXML|Собственные обработки/скрипты|Обмен через DT (Data Transfer)|Другой вариант-->

Способ 3: Перенос через Data Transfer (DT) для сложных структур

Если вам нужно перенести данные между разными конфигурациями (например, из Управления торговлей 11 в Бухгалтерию 3.0), стандартный XML-обмен может не подойти из-за различий в структурах метаданных. В этом случае используйте механизм Data Transfer (DT) — он позволяет настраивать сложные правила преобразования данных.

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

  1. Установите расширение Data Transfer: Скачайте его с портала 1C:EDT или через Конфигуратор → Расширения → Добавить из файла.
  2. Создайте правило обмена: В Конфигураторе перейдите в Объекты → Data Transfer → Правила обмена и создайте новое правило. Укажите исходную и целевую конфигурации.
  3. Настройте соответствия: Для каждого объекта (например, Справочник.Номенклатура) укажите, как поля исходной базы сопоставляются с полями целевой. Пример:
    Исходное поле: Наименование → Целевое поле: ПолноеНаименование
    

    Исходное поле: Артикул → Целевое поле: Код

  4. Выполните обмен: В пользовательском режиме откройте обработку DataTransfer.epf, выберите созданное правило и запустите выгрузку/загрузку.

🔹 Пример настройки для переноса остатков:

Исходная база (УТ 11) Целевая база (Бухгалтерия 3.0) Правило преобразования
Документ.ОприходованиеТоваров Документ.ПоступлениеТоваровУслуг Переносить только с типом операции Покупка, комиссия
Справочник.Контрагенты.ИНН Справочник.Контрагенты.ИНН Прямое сопоставление
РегистрНакопления.ТоварыНаСкладах РегистрНакопления.ТоварыНаСкладах Переносить остатки только по складам с кодом 001, 002

⚠️ Внимание: При обмене через DT возможны ошибки вида Не удалось преобразовать значение. Чаще всего это связано с несовпадением типов данных (например, в исходной базе поле Число(10,2), а в целевой — Число(15,3)). Решение: отредактируйте правило обмена или добавьте промежуточное преобразование.

💡

Если при обмене через DT возникают ошибки с датами, проверьте формат хранения дат в правилах обмена. Иногда требуется явно указать ФорматДаты = "ДФ=dd.MM.yyyy" в параметрах преобразования.

Способ 4: Выгрузка/загрузка через System Data Composition (СКД)

Для переноса отчётов, аналитических данных или больших массивов (например, оборотно-сальдовых ведомостей за год) удобно использовать Систему композиции данных (СКД). Этот метод позволяет выгружать данные в Excel, CSV или DBF, а затем загружать их в другую базу с минимальными потерями.

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

  • 📊 Создайте схему компоновки: В Конфигураторе откройте Объекты → Отчёты и создайте новый отчёт на основе СКД. Укажите источник данных (например, регистр накопления ТоварыНаСкладах).
  • 📤 Выгрузите данные: В пользовательском режиме откройте отчёт, настройте отбор (период, организация) и экспортируйте в Excel через кнопку Ещё → Сохранить как.
  • 📥 Загрузите в целевую базу: Используйте обработку УниверсальныйЗагрузчикДанных.epf или напишите простой скрипт на для импорта из Excel.

🔹 Пример кода для загрузки из Excel:

// Подключаем библиотеку для работы с Excel

ПодключитьВнешнююКомпоненту("C:\Program Files\1Cv8\bin\V8Excel.dll");

Excel = Новый COMОбъект("Excel.Application");

// Открываем файл

Книга = Excel.Workbooks.Open("C:\Temp\Остатки.xlsx");

Лист = Книга.Worksheets(1);

// Читаем данные и загружаем в регистр

Для Строка = 2 По Лист.UsedRange.Rows.Count Цикл

Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Лист.Cells(Строка, 1).Value);

Количество = Лист.Cells(Строка, 2).Value;

Движение = РегистрыНакопления.ТоварыНаСкладах.СоздатьДвижение();

Движение.Номенклатура = Номенклатура;

Движение.Количество = Количество;

Движение.Записать();

КонецЦикла;

⚠️ Внимание: При загрузке данных через СКД или Excel возможны проблемы с кодировкой (например, русские символы отображаются как ????). Всегда сохраняйте файлы в кодировке UTF-8 и проверяйте настройки региональных стандартов в (Администрирование → Настройки программы → Региональные настройки).

Способ 5: Прямой SQL-запрос для опытных пользователей

Если вам нужно перенести большой объём данных (миллионы записей) или работать с базой на SQL Server/PostgreSQL, самый быстрый способ — выполнить прямые SQL-запросы. Этот метод требует знания структуры базы данных и прав доступа к серверу.

🔹 Пример: перенос справочника «Контрагенты» между базами на SQL Server

-- 1. Выгружаем данные из исходной базы

SELECT

T1._IDRRef AS ID,

T1._Description AS Наименование,

T1._INN AS ИНН,

T1._KPP AS КПП

INTO #TempContragents

FROM _Reference8 T1 -- Справочник.Контрагенты

WHERE T1._Marked = 0x00; -- Только не помеченные на удаление

-- 2. Загружаем в целевую базу

INSERT INTO _Reference8 (

_IDRRef, _Description, _INN, _KPP, _Marked, _PredefinedID

)

SELECT

NEWID(), Наименование, ИНН, КПП, 0x00, NULL

FROM #TempContragents;

⚠️ Внимание: Прямая работа с SQL может нарушить целостность данных, если не учитывать:

  • 🔗 Связи между таблицами (например, _Reference8 и _Reference10 для банковских счетов).
  • 🔑 Уникальные идентификаторы (_IDRRef должны быть уникальными в пределах базы).
  • 📝 Служебные поля (_Marked, _PredefinedID).

🔹 Когда использовать SQL:

  • 🚀 Перенос более 100 000 записей (быстрее, чем XML).
  • 🔧 Восстановление данных после сбоя (если резервные копии недоступны).
  • 📊 Миграция между разными СУБД (например, с MS SQL на PostgreSQL).
Что будет если ошибся в SQL-запросе?

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

Типичные ошибки и их решения

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

Ошибка Причина Решение
ОшибкаControlSum: Не совпадает контрольная сумма Файл обмена повреждён или изменён после выгрузки. Повторите выгрузку, отключите антивирус, проверьте целостность файла.
Не найден объект метаданных: Справочник.Номенклатура В целевой базе отсутствует справочник или он переименован. Сравните конфигурации, добавьте недостающий объект или настройте правило соответствия.
Ошибка блокировки данных В базе работают другие пользователи или открыты транзакции. Закройте все сеансы через Администрирование → Активные пользователи.
Превышен лимит памяти Слишком большой объём данных для обмена. Разбейте выгрузку на части (по периодам или типам объектов).

🔹 Совет по диагностике: Чтобы понять причину ошибки, включите режим отладки обмена. Для этого:

  1. В Конфигураторе откройте Сервис → Параметры → Отладка.
  2. Установите флаги Журнал регистрации и Отладочная информация.
  3. Повторите обмен и изучите лог в Администрирование → Журнал регистрации.
💡

Если ошибка повторяется, проверьте версии платформы 1С в исходной и целевой базе. Например, обмен между 8.3.22 и 8.3.24 может требовать обновления правил обмена.

FAQ: Частые вопросы по установке текущих данных в 1С

Можно ли перенести данные между разными редакциями одной конфигурации (например, с Бухгалтерии 3.0 ПРОФ на Базовую)?

Технически да, но с оговорками:

  • 📌 В Базовой версии отсутствуют некоторые объекты (например, Регламентированная отчётность или Мultiple организаций).
  • 📌 Используйте Data Transfer с ручной настройкой правил, исключая несопоставимые объекты.
  • 📌 Перед обменом сверьтесь с документацией по совместимости.
Как перенести только остатки по счёту 50.01 («Касса») без документов?

Используйте выборочную выгрузку регистра накопления:

  1. В обработке ВыгрузкаЗагрузкаДанныхXML выберите только РегистрНакопления.ДенежныеСредства.
  2. Укажите отбор по счёту: Счет = ПланСчетов.Хозрасчетный.Касса.
  3. При загрузке отметьте флаг Только остатки (если доступен).

Для Бухгалтерии 3.0 подойдёт также отчёт Оборотно-сальдовая ведомость по счёту с экспортом в Excel и дальнейшей загрузкой через СКД.

Что делать, если после обмена не совпадают итоги по регистрам?

Разница в итогах обычно связана с:

  • 🔢 Неполной выгрузкой: Проверьте, что в правила обмена включены все движения по регистру (например, ТоварыНаСкладах.Приход и ТоварыНаСкладах.Расход).
  • 📅 Разными периодами: Убедитесь, что период выгрузки и загрузки совпадает.
  • 🔄 Округлением: В некоторых конфигурациях итоги рассчитываются с точностью до копейки, а в других — до рубля. Настройте параметры округления в правилах обмена.

Для диагностики используйте отчёт Анализ состояния регистров накопления (доступен в Конфигураторе через Отладка → Стандартные отчёты).

Как автоматизировать регулярный обмен данными (например, ежедневный перенос документов)?

Для автоматизации подойдут:

  • 🤖 Регламентные задания: Настройте в Администрирование → Регламентные задания задачу типа Обмен данными с указанием расписания (например, ежедневно в 23:00).
  • 📦 Внешние обработки с таймером: Напишите обработку, которая выгружает данные по расписанию и отправляет файл на FTP или в облако.
  • 🌐 Web-сервисы: Для распределённых систем настройте обмен через HTTP-сервисы (требуется публикация базы на веб-сервере).

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

Процедура ВыполнитьОбмен()

ОбменДанными = Новый ОбменДаннымиXML;

ОбменДанными.Выгрузить("C:\Exchange\Data.xml", ТипОбмена.Полный);

ОбменДанными.Загрузить("C:\Exchange\Data.xml", РежимЗагрузки.Заменять);

КонецПроцедуры

Можно ли отменить загрузку данных, если что-то пошло не так?

Да, но способы зависят от стадии обмена:

  • 🔙 Если загрузка не завершена: Прервите процесс и восстановите базу из резервной копии.
  • 🗑️ Если данные уже загружены:
    • Для документов: используйте обработку ПометкаУдаления.epf для массовой пометки на удаление.
    • Для справочников: восстановите из резерва или удалите вручную (если объём небольшой).
    • Для регистров: выполните Перепроводить документы за период (Операции → Закрытие периода).

⚠️ Важно: После отмены загрузки проверьте целостность данных отчётом Тестирование и исправление (Администрирование → Тестирование и исправление).