Работа с актуальными данными в 1С:Предприятие — одна из самых востребованных задач среди бухгалтеров, администраторов и программистов.hether вы переносите остатки между базами, восстанавливаете данные после сбоя или синхронизируете информацию между филиалами, правильная установка текущих данных экономит часы ручной работы и минимизирует ошибки. Однако даже опытные пользователи сталкиваются с проблемами: от несовпадения структур справочников до ошибок при загрузке через XML или DT.
В этой статье мы разберём 5 проверенных способов установки текущих данных — от стандартного обмена через Универсальный формат до использования специализированных обработок и скриптов. Особое внимание уделим типичным ошибкам (например, ОшибкаControlSum или Не найден объект) и способам их обхода. Все инструкции актуальны для последних версий платформы 1С:Предприятие 8.3.23+ и популярных конфигураций: Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом 3.1.
Если вы никогда раньше не занимались переносом данных — начните с первого способа (типовой обмен). Для сложных случаев (например, перенос между разными конфигурациями) пригодятся методы с использованием Data Composition System или прямого SQL-запроса.
Способ 1: Типовой обмен через «Универсальный формат» (для новичков)
Самый безопасный и рекомендуемый 1С метод — использование встроенного механизма обмена через Универсальный формат обмена данными (XML). Он подходит для переноса справочников, документов и остатков между идентичными конфигурациями (например, две базы Бухгалтерии 3.0).
Алгоритм действий:
- 📁 Выгрузка данных: В исходной базе откройте
Администрирование → Обмен данными → Универсальный обмен → Выгрузка данных. Укажите период (например,01.01.2026), отметьте нужные объекты (контрагенты, номенклатура, остатки по счетам) и сохраните файл в формате.xml. - 🔄 Настройка правил обмена: Если обмен настраивается впервые, создайте новое правило в
Администрирование → Обмен данными → Настройка обмена. Для типовой Бухгалтерии 3.0 достаточно выбрать шаблонОбмен с бухгалтерией предприятия. - 📥 Загрузка в целевую базу: В принимающей базе выполните
Администрирование → Обмен данными → Универсальный обмен → Загрузка данныхи укажите сохранённый файл.
⚠️ Внимание: При загрузке данных в базу с уже существующими записями (например, те же контрагенты) система предложит варианты обработки дублей: Заменить, Оставить старые или Создать новые. Для установки текущих данных выбирайте Заменить, но предварительно сделайте резервную копию!
Убедиться, что версии конфигураций совпадают|Сверить периоды выгрузки и загрузки|Отключить пользователей от обеих баз|Создать резервную копию целевой базы|Проверить права доступа (полные права для обмена)-->
Если при загрузке возникает ошибка Не найден объект метаданных, это означает, что в целевой базе отсутствует справочник или документ, который есть в исходной. Решение:
- Сравните структуры баз через
Конфигуратор → Сравнить конфигурации. - Добавьте недостающие объекты вручную или обновите конфигурацию.
Способ 2: Использование обработки «ВыгрузкаЗагрузкаДанныхXML»
Для более гибкой настройки обмена (например, переноса только определённых справочников или документов за период) подходит стандартная обработка ВыгрузкаЗагрузкаДанныхXML.epf. Она входит в комплект поставки 1С и доступна для скачивания на портале its.1c.ru.
Преимущества метода:
- 🎯 Возможность выборочной выгрузки (например, только
Документы.ПоступлениеТоваровза текущий месяц). - 🔧 Настройка соответствий полей (если структуры баз немного отличаются).
- 📊 Поддержка
XDTO-пакетовдля сложных данных.
Инструкция:
- Скачайте обработку с портала 1С и откройте её в исходной базе через
Файл → Открыть. - В окне обработки укажите:
Режим: ВыгрузкаФормат: XML
Объекты: [Выберите нужные справочники/документы]
Файл: C:\Temp\DataExport.xml
- Нажмите
Выполнитьи дождитесь завершения выгрузки. - В целевой базе откройте ту же обработку, выберите режим
Загрузкаи укажите файл.
⚠️ Внимание: Обработка ВыгрузкаЗагрузкаДанныхXML не поддерживает перенос регламентированных отчётов (например, деклараций по НДС) и некоторых служебных справочников. Для них используйте специализированные обработки.
Типовой универсальный обмен|Обработка ВыгрузкаЗагрузкаДанныхXML|Собственные обработки/скрипты|Обмен через DT (Data Transfer)|Другой вариант-->
Способ 3: Перенос через Data Transfer (DT) для сложных структур
Если вам нужно перенести данные между разными конфигурациями (например, из Управления торговлей 11 в Бухгалтерию 3.0), стандартный XML-обмен может не подойти из-за различий в структурах метаданных. В этом случае используйте механизм Data Transfer (DT) — он позволяет настраивать сложные правила преобразования данных.
Пошаговая инструкция:
- Установите расширение Data Transfer: Скачайте его с портала 1C:EDT или через
Конфигуратор → Расширения → Добавить из файла. - Создайте правило обмена: В
Конфигуратореперейдите вОбъекты → Data Transfer → Правила обменаи создайте новое правило. Укажите исходную и целевую конфигурации. - Настройте соответствия: Для каждого объекта (например,
Справочник.Номенклатура) укажите, как поля исходной базы сопоставляются с полями целевой. Пример:Исходное поле: Наименование → Целевое поле: ПолноеНаименованиеИсходное поле: Артикул → Целевое поле: Код
- Выполните обмен: В пользовательском режиме откройте обработку
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или напишите простой скрипт на 1С для импорта из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 и проверяйте настройки региональных стандартов в 1С (Администрирование → Настройки программы → Региональные настройки).
Способ 5: Прямой SQL-запрос для опытных пользователей
Если вам нужно перенести большой объём данных (миллионы записей) или работать с базой на SQL Server/PostgreSQL, самый быстрый способ — выполнить прямые SQL-запросы. Этот метод требует знания структуры базы данных 1С и прав доступа к серверу.
🔹 Пример: перенос справочника «Контрагенты» между базами на 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С в исходной и целевой базе. Например, обмен между 8.3.22 и 8.3.24 может требовать обновления правил обмена.
FAQ: Частые вопросы по установке текущих данных в 1С
Можно ли перенести данные между разными редакциями одной конфигурации (например, с Бухгалтерии 3.0 ПРОФ на Базовую)?
Технически да, но с оговорками:
- 📌 В Базовой версии отсутствуют некоторые объекты (например,
Регламентированная отчётностьилиМultiple организаций). - 📌 Используйте Data Transfer с ручной настройкой правил, исключая несопоставимые объекты.
- 📌 Перед обменом сверьтесь с документацией по совместимости.
Как перенести только остатки по счёту 50.01 («Касса») без документов?
Используйте выборочную выгрузку регистра накопления:
- В обработке
ВыгрузкаЗагрузкаДанныхXMLвыберите толькоРегистрНакопления.ДенежныеСредства. - Укажите отбор по счёту:
Счет = ПланСчетов.Хозрасчетный.Касса. - При загрузке отметьте флаг
Только остатки(если доступен).
Для Бухгалтерии 3.0 подойдёт также отчёт Оборотно-сальдовая ведомость по счёту с экспортом в Excel и дальнейшей загрузкой через СКД.
Что делать, если после обмена не совпадают итоги по регистрам?
Разница в итогах обычно связана с:
- 🔢 Неполной выгрузкой: Проверьте, что в правила обмена включены все движения по регистру (например,
ТоварыНаСкладах.ПриходиТоварыНаСкладах.Расход). - 📅 Разными периодами: Убедитесь, что период выгрузки и загрузки совпадает.
- 🔄 Округлением: В некоторых конфигурациях итоги рассчитываются с точностью до копейки, а в других — до рубля. Настройте параметры округления в правилах обмена.
Для диагностики используйте отчёт Анализ состояния регистров накопления (доступен в Конфигураторе через Отладка → Стандартные отчёты).
Как автоматизировать регулярный обмен данными (например, ежедневный перенос документов)?
Для автоматизации подойдут:
- 🤖 Регламентные задания: Настройте в
Администрирование → Регламентные заданиязадачу типаОбмен даннымис указанием расписания (например, ежедневно в 23:00). - 📦 Внешние обработки с таймером: Напишите обработку, которая выгружает данные по расписанию и отправляет файл на FTP или в облако.
- 🌐 Web-сервисы: Для распределённых систем настройте обмен через
HTTP-сервисы(требуется публикация базы на веб-сервере).
🔹 Пример кода для регламентного задания:
Процедура ВыполнитьОбмен()
ОбменДанными = Новый ОбменДаннымиXML;
ОбменДанными.Выгрузить("C:\Exchange\Data.xml", ТипОбмена.Полный);
ОбменДанными.Загрузить("C:\Exchange\Data.xml", РежимЗагрузки.Заменять);
КонецПроцедуры
Можно ли отменить загрузку данных, если что-то пошло не так?
Да, но способы зависят от стадии обмена:
- 🔙 Если загрузка не завершена: Прервите процесс и восстановите базу из резервной копии.
- 🗑️ Если данные уже загружены:
- Для документов: используйте обработку
ПометкаУдаления.epfдля массовой пометки на удаление. - Для справочников: восстановите из резерва или удалите вручную (если объём небольшой).
- Для регистров: выполните
Перепроводить документыза период (Операции → Закрытие периода).
- Для документов: используйте обработку
⚠️ Важно: После отмены загрузки проверьте целостность данных отчётом Тестирование и исправление (Администрирование → Тестирование и исправление).