Перенос данных между базами 1С, из Excel и других программ

· 10 мин

Содержание

Чтобы перекинуть данные в 1С, сначала определите, что именно переносите. Вся база целиком переносится файлом .dt: в Конфигураторе Администрирование → Выгрузить информационную базу, в новой базе — Загрузить информационную базу. Часть данных между базами с одинаковой конфигурацией переносят обработкой «Выгрузка и загрузка данных XML». Между разными программами (БП и УТ, ЗУП и БП) работает встроенная синхронизация, а таблицы из Excel загружают кнопкой загрузки в списке или в табличной части документа.

Способ выбирают по двум признакам: совпадает ли конфигурация в источнике и приёмнике и нужен ли разовый перенос или постоянный обмен. Ошибка в выборе стоит дорого. Например, файл .dt, загруженный не в ту базу, полностью заменит её содержимое.

Подготовка к переносу данных: что проверить до старта

Перенос почти всегда пишет в базу-приёмник массово. Откатить его по одному документу трудно, поэтому начинают с подготовки.

  1. Сделайте копию приёмника. Выгрузите базу-приёмник в .dt до любой загрузки. Это единственный надёжный способ отката.
  2. Сравните версии. Посмотрите Справка → О программе в обеих базах: конфигурация, номер релиза, версия платформы. Для обработок XML релизы должны совпадать, для синхронизации — быть актуальными.
  3. Проверьте целостность источника. Запустите в Конфигураторе Администрирование → Тестирование и исправление на копии источника. Битые ссылки в источнике превратятся в «объекты не найдены» в приёмнике.
  4. Почистите справочники. Дубли контрагентов и номенклатуры при переносе размножаются. Их проще слить в источнике, чем потом в двух базах.
  5. Определите дату среза. Для переноса остатков нужна одна дата, на которую закрыт период в старой базе.
  6. Проверьте права. Для открытия внешних обработок у пользователя должно быть право на интерактивное открытие внешних обработок. Для загрузки .dt нужен монопольный доступ к приёмнику.

Загрузка .dt и проверка базы требуют монопольного режима. Все пользователи будут отключены, поэтому делайте это вне рабочего времени и предупредите коллег заранее.

Перед переносом данных
Выполнено: 0 / 6

Какой способ переноса выбрать

ЗадачаСпособРиски
Перенести всю базу на другой компьютер или серверВыгрузка и загрузка .dtПолностью заменяет базу-приёмник
Скопировать файловую базуКопирование каталога с файлом 1Cv8.1CDТолько при закрытой базе, иначе копия может быть битой
Часть справочников или документов между одинаковыми конфигурациямиОбработка «Выгрузка и загрузка данных XML»Перезапись объектов с теми же ссылками
Между разными типовыми программамиСинхронизация данныхНеверные настройки сопоставления дают дубли
Между нетиповыми базами или старыми версиямиПравила конвертации + «Универсальный обмен данными в формате XML»Нужна разработка правил
Таблица из Excel или текстового файлаЗагрузка из файла в списке или табличной частиНе сопоставились единицы, ставки НДС, артикулы
Постоянный обмен с сайтом или внешней системойOData, HTTP-сервис, JSON-файлыТребует программиста и контроля ошибок
Какие данные вам нужно перекинуть?

Стандартные средства 1С для выгрузки и загрузки данных

Перенос всей базы через файл .dt

Это самый простой и самый надёжный способ, когда база переезжает целиком.

  1. Откройте базу-источник в режиме Конфигуратора.
  2. Выберите Администрирование → Выгрузить информационную базу, укажите путь и имя файла.
  3. Создайте в окне запуска новую пустую базу без конфигурации.
  4. Откройте её в Конфигураторе и выберите Администрирование → Загрузить информационную базу.
  5. Запустите базу в режиме 1С:Предприятие и проверьте, что открываются документы и отчёты.

Версия платформы в приёмнике должна быть не ниже той, на которой сделана выгрузка. Файловая база при этом свободно переносится в клиент-серверный вариант и обратно.

Для файловой базы есть короткий путь: закройте все сеансы и скопируйте каталог базы с файлом 1Cv8.1CD. Пока база открыта хотя бы у одного пользователя, копировать файл нельзя.

Обработка «Выгрузка и загрузка данных XML»

Это внешняя обработка ВыгрузкаЗагрузкаДанныхXML83.epf. Её распространяет фирма 1С для пользователей с действующей поддержкой. Подходит, когда конфигурации полностью одинаковые: например, вы ведёте две базы БП 3.0 одного релиза и хотите перенести справочник номенклатуры или документы за месяц.

  1. В источнике откройте обработку через главное меню Файл → Открыть.
  2. На вкладке выгрузки отметьте нужные объекты: справочники, документы, регистры.
  3. Задайте период для документов и укажите файл выгрузки.
  4. Выгрузите данные. Обработка сама добавит в файл объекты, на которые ссылаются выбранные.
  5. В приёмнике откройте ту же обработку, перейдите на вкладку загрузки, укажите файл и загрузите.

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

Документы после загрузки часто нужно перепровести. В БП 3.0 для этого есть групповое перепроведение в разделе Операции.

Встроенная синхронизация между типовыми программами

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

КонфигурацияГде включается синхронизация
Бухгалтерия предприятия 3.0Администрирование → Синхронизация данных
Управление торговлей 11НСИ и администрирование → Синхронизация данных
ЗУП 3.1Администрирование → Синхронизация данных

Порядок общий: флажок «Синхронизация данных», затем команда настройки, выбор программы-получателя и способа связи. Связь бывает прямой (по сети или через интернет), через общий каталог или через FTP. Затем мастер предлагает сопоставить уже существующие справочники: организации, контрагентов, номенклатуру.

Сопоставление при первом запуске — самый важный шаг. Если пропустить его, в приёмнике появятся вторые экземпляры организаций и контрагентов, которые потом придётся объединять.

Как перекинуть данные из Excel и текстовых файлов в 1С

Таблицы приходят от поставщиков, из старых программ, из интернет-магазина. В актуальных релизах БП 3.0 и УТ 11 загрузка встроена в интерфейс.

Загрузка списка номенклатуры, контрагентов, цен

В форме списка справочника «Номенклатура» есть команда загрузки из файла. Она открывает мастер:

  1. Скопируйте данные из Excel в таблицу мастера или откройте файл.
  2. Сопоставьте колонки с реквизитами: наименование, артикул, единица, ставка НДС.
  3. Укажите, по какому реквизиту искать существующие элементы: по артикулу или наименованию.
  4. Посмотрите итог: сколько элементов будет создано, сколько обновлено, сколько не распознано.
  5. Подтвердите загрузку.

Загрузка табличной части документа

В документах поступления и реализации на вкладке с товарами есть кнопка «Загрузить». Она нужна, когда счёт поставщика на 300 строк пришёл в Excel. Мастер сопоставит строки файла с номенклатурой. Нераспознанные позиции можно создать прямо из мастера.

Начальные остатки

При переходе с другой программы остатки на дату среза вводят помощником ввода остатков. В БП 3.0 он находится в разделе Главное. Остатки вводят по счетам: 01, 10, 41, 60, 62, 51 и другие. Затем сверяют оборотно-сальдовую ведомость с ведомостью из старой программы.

Если встроенной загрузки нет

Для старых релизов и нетиповых конфигураций есть универсальная обработка «Загрузка данных из табличного документа». Она загружает файл в любой справочник, документ или регистр сведений. Колонки сопоставляются с реквизитами, а ключ поиска задаёт сам пользователь.

Перед загрузкой из Excel подготовьте файл:

  • 🔢 числа должны храниться как числа, без пробелов-разделителей и текстового формата;
  • 📅 даты — в одном формате на весь столбец;
  • 📦 единицы измерения и ставки НДС — так, как они называются в справочниках 1С;
  • 🧹 без объединённых ячеек, итоговых строк и пустых строк в середине;
  • 🔑 у каждой строки — уникальный ключ: артикул, ИНН, код.

Конвертация данных между разными конфигурациями

Когда структура баз отличается, напрямую перекинуть данные нельзя. Справочник «Номенклатура» в одной программе и в другой может иметь разные реквизиты, а документы — разное устройство. Нужен перевод из одной структуры в другую. Этот перевод и называют конвертацией.

Типовые переходы

Для частых сценариев фирма 1С выпускает готовые решения:

  • 🔁 переход с ЗУП 2.5 на ЗУП 3.1: мастер переноса данных предлагается при начале работы с новой программой;
  • 🔁 переход со старых редакций Бухгалтерии на БП 3.0: правила переноса поставляются вместе с конфигурацией;
  • 🔁 переход с 1С 7.7: отдельные обработки и правила для конкретных конфигураций.

Перед использованием таких правил прочитайте инструкцию к релизу. В ней указано, какие версии источника поддерживаются.

Свои правила обмена

Для нетиповых баз правила пишут в конфигурации «Конвертация данных». Редакция 2 создаёт файл правил, который подключается к обработке «Универсальный обмен данными в формате XML». Редакция 3 работает с форматом EnterpriseData и встраивается в обмены типовых программ.

Схема работы с правилами:

  1. В КД загружают описание метаданных источника и приёмника.
  2. Сопоставляют объекты и реквизиты, задают правила поиска: по коду, ИНН, наименованию.
  3. Для нестандартных случаев пишут обработчики событий на встроенном языке.
  4. Выгружают правила в файл и запускают обмен обработкой в источнике и приёмнике.
Сопоставление полей
Номенклатура.Артикул→Номенклатура.Артикул
Номенклатура.ЕдиницаИзмерения→Номенклатура.ЕдиницаИзмерения (поиск по коду ОКЕИ)
Контрагент.ИНН + КПП→Контрагенты (поиск существующего)
Ставка НДС строкой→Перечисление ставок НДС
Склад старой базы→Склады (сопоставить вручную)

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

Автоматизация обмена через XML и JSON

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

Какие механизмы есть в платформе

  • 📄 Файлы XML и JSON. Внешняя система кладёт файл в каталог, регламентное задание 1С забирает его и загружает.
  • 🌐 Стандартный интерфейс OData. Платформа отдаёт справочники и документы по REST после публикации базы на веб-сервере. Состав публикуемых объектов задают отдельно.
  • 🔌 HTTP-сервисы. Программист описывает в конфигурации или расширении свои адреса и формат ответа.
  • 🧩 COM-соединение. Одна программа на Windows подключается к базе 1С и читает её объекты напрямую.

Пример: выгрузка номенклатуры в JSON

Код выгружает код и наименование всех элементов номенклатуры, кроме групп. Его можно разместить во внешней обработке и выполнить на сервере.

Запись = Новый ЗаписьJSON;
Запись.ОткрытьФайл("C:\exchange\nomenklatura.json");

Список = Новый Массив;
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
    Если Выборка.ЭтоГруппа Тогда
        Продолжить;
    КонецЕсли;
    Элемент = Новый Структура("Код, Наименование", Выборка.Код, Выборка.Наименование);
    Список.Добавить(Элемент);
КонецЦикла;

ЗаписатьJSON(Запись, Список);
Запись.Закрыть();

Функция ЗаписатьJSON есть в платформе начиная с версии 8.3.6. Для обратной задачи используют ЧтениеJSON и ПрочитатьJSON.

Не пишите обмен прямо в типовых модулях. Код в расширении конфигурации переживает обновление релиза, а правка типового модуля потребует ручного сравнения при каждом обновлении.

Регламентные задания

Чтобы файлы забирались без участия человека, загрузку оформляют регламентным заданием с расписанием, например каждые 15 минут. В клиент-серверной базе задания выполняет сервер. В файловой базе — только пока база открыта у кого-то из пользователей или настроен запуск через веб-публикацию.

Ошибки при переносе данных и как их исправить

Диагностика: выберите симптом

Отдельно об остатках. После переноса обязательно сверьте оборотно-сальдовую ведомость в обеих базах на дату среза. Расхождение даже на одном счёте означает, что часть документов не перенеслась или не провелась. Ищите его, сужая отбор по субконто.

Частые вопросы о переносе данных в 1С

Можно ли перекинуть данные из 1С в Excel и обратно?
Да. Любой список и отчёт сохраняется в Excel через главное меню Файл → Сохранить как. Обратная загрузка идёт через мастер загрузки из файла в списке или документе.
Перенесутся ли пользователи и их пароли через .dt?
Да. Файл .dt содержит список пользователей вместе с настройками входа, конфигурацию и все данные.
Как перенести только одну организацию из общей базы?
Обработкой «Выгрузка и загрузка данных XML» с отбором по организации или через синхронизацию с отбором по организации. Справочники, на которые ссылаются её документы, выгрузятся автоматически.
Можно ли перекинуть данные из файловой базы в серверную?
Да. Выгрузите файловую базу в .dt, создайте базу в кластере сервера 1С и загрузите файл в неё через Конфигуратор. Обратный переезд делается так же.
Сколько времени занимает перенос?
Выгрузка .dt базы на 5–10 ГБ обычно занимает от десятков минут до нескольких часов, в зависимости от дисков. Конвертация между разными программами с проверкой остатков — от дня до нескольких недель.