Выгрузка данных из 1С 8.3: от кнопки «Сохранить» до обмена по расписанию

· 10 мин

Содержание

Чтобы сделать выгрузку в 1С, сначала определите, кому нужны данные. Человеку с Excel хватит команды Ещё → Вывести список и сохранения в .xlsx. Другой базе 1С нужна синхронизация или обмен по правилам конвертации. Внешней системе (сайту, CRM, BI) — файл XML/JSON или HTTP-сервис.

Частая ошибка — начинать с программирования. Половина задач по выгрузке данных из 1С решается штатными средствами за пять минут. Обработку пишут, только когда нужен нестандартный состав полей, регулярный автоматический запуск или формат, которого нет в типовых механизмах.

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

Подберите способ по получателю и регулярности. Таблица ниже покрывает почти все практические случаи.

ЗадачаСпособНужен программистРегулярность
Таблица для руководителяОтчёт или список → сохранить в .xlsxНетРазово
Перенос справочников между базами 1ССинхронизация данных, «Выгрузка/загрузка данных XML»НетРазово или по расписанию
Обмен БП ↔ УТ, БП ↔ ЗУПТиповая синхронизация (формат EnterpriseData)НетПостоянно
Нетиповая база, свои объектыПравила КД 2 / КД 3ДаПостоянно
Сайт, маркетплейс, CRMXML/JSON-файл, OData, HTTP-сервисЧасто даПостоянно
Копия всей базыВыгрузка в .dt через КонфигураторНетРазово

Если файл нужен один раз и прочитает его человек — не ищите обработку. Список или отчёт, сохранённый в Excel, почти всегда достаточен.

Перед любой выгрузкой проверьте три вещи:

  1. 🔐 Права. Пользователь должен видеть данные, которые выгружает. Ограничения на уровне записей отрежут часть строк без предупреждения.
  2. 📅 Период и отборы. Выгрузка «за всё время» по большому регистру может идти час и упасть по памяти.
  3. 🧾 Формат получателя. Узнайте заранее, нужен ли разделитель ; или ,, кодировка UTF-8 или windows-1251, точка или запятая в дробных числах.

Штатные механизмы выгрузки данных в 1С 8.3

Список или отчёт в Excel

Самый быстрый способ выгрузки в 1С:

  1. Откройте нужный журнал или справочник.
  2. Нажмите Ещё → Вывести список.
  3. Отметьте колонки, которые нужны, и нажмите «ОК».
  4. В открывшемся табличном документе нажмите кнопку сохранения (дискета) или Ещё → Сохранить как.
  5. Выберите тип файла «Лист Microsoft Excel 2007-… (*.xlsx)».

С отчётами то же самое: сформируйте отчёт и сохраните его через кнопку сохранения на панели отчёта. Доступны форматы .xlsx, .xls, .ods, .pdf, .mxl, .txt, .html.

«Вывести список» выгружает только то, что сейчас показано в списке с учётом отборов. Снимите отбор по периоду, если нужен весь массив.

Синхронизация данных между базами

Типовые конфигурации на БСП умеют обмениваться через Администрирование → Синхронизация данных. Включите флажок синхронизации, задайте префикс информационной базы и создайте новую синхронизацию с нужной программой. Мастер предложит канал: локальный или сетевой каталог, FTP, электронная почта, интернет (для баз в облаке).

Сам обмен идёт в формате EnterpriseData, правила уже встроены в конфигурацию. Это лучший вариант для пар «Бухгалтерия — Управление торговлей», «Бухгалтерия — ЗУП».

Обработки «Выгрузка/загрузка данных XML» и «Универсальный обмен данными XML»

Обе обработки — внешние файлы .epf, их открывают через Файл → Открыть (меню с тремя полосками в верхнем левом углу).

  • 📦 «Выгрузка/загрузка данных XML» переносит объекты между базами с одинаковой конфигурацией. Отмечаете справочники и документы, получаете XML, загружаете в другую базу той же обработкой.
  • 🔄 «Универсальный обмен данными XML » работает с правилами конвертации КД 2 и переносит данные между разными конфигурациями.

Обе обработки распространяются с поставкой платформы и конфигураций. Скачивайте их только из официальных источников, а не со случайных форумов.

Выгрузка всей базы в .dt

Это не обмен, а резервная копия. Путь: Конфигуратор → Администрирование → Выгрузить информационную базу. Файл .dt содержит конфигурацию и все данные, загружается в Конфигураторе обратно.

Загрузка .dt полностью заменяет базу-приёмник. Перед загрузкой сделайте копию базы .

Выгрузка через внешнюю обработку: когда штатного мало

Внешняя обработка нужна, если требуется особый состав полей, своя структура файла или запуск без участия пользователя. Её пишут в Конфигураторе (Файл → Новый → Внешняя обработка) и сохраняют как .epf.

Подключить готовую обработку можно двумя путями:

  • разово — через Файл → Открыть;
  • постоянно — в разделе Администрирование → Печатные формы, отчеты и обработки, флажок «Дополнительные отчеты и обработки», затем добавить файл в список.

Пример: выгрузка номенклатуры в CSV. Код выполняется на сервере, файл пишется в каталог, доступный серверу.

&НаСервереБезКонтекста
Процедура ВыгрузитьНоменклатуруНаСервере(ИмяФайла)

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Номенклатура.Код КАК Код,
    |    Номенклатура.Наименование КАК Наименование,
    |    Номенклатура.Артикул КАК Артикул
    |ИЗ
    |    Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    |    НЕ Номенклатура.ЭтоГруппа
    |    И НЕ Номенклатура.ПометкаУдаления";

    Выборка = Запрос.Выполнить().Выбрать();

    Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI);
    Текст.ЗаписатьСтроку("Код;Наименование;Артикул");

    Пока Выборка.Следующий() Цикл
        Строка = СокрЛП(Выборка.Код) + ";"
            + ЭкранироватьCSV(Выборка.Наименование) + ";"
            + ЭкранироватьCSV(Выборка.Артикул);
        Текст.ЗаписатьСтроку(Строка);
    КонецЦикла;

    Текст.Закрыть();

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

&НаСервереБезКонтекста
Функция ЭкранироватьCSV(Значение)
    Стр = СтрЗаменить(Строка(Значение), """", """""");
    Возврат """" + Стр + """";
КонецФункции

Реквизит «Артикул» есть не во всех конфигурациях. Проверьте состав справочника в Конфигураторе и поправьте запрос под свою базу.

В клиент-серверной базе путь вида C:\Выгрузка\ указывает на диск сервера 1С, а не вашего компьютера. Для выгрузки на компьютер пользователя формируйте файл во временном хранилище и передавайте его на клиент.

XML и JSON: выгрузка данных из 1С для внешних систем

Для сайтов, маркетплейсов и CRM обычно нужен XML или JSON. Во встроенном языке 1С для этого есть готовые объекты, вручную собирать строки не нужно.

ОбъектЧто делает
ЗаписьXMLПишет XML-файл или строку, сам экранирует &, <, >
ЗаписьJSON + ЗаписатьJSON()Сериализует структуры, соответствия и массивы в JSON
СериализаторXDTOВыгружает объекты 1С целиком в XML или JSON
HTTP-сервисыОтдают данные по запросу внешней системы, без файлов
Стандартный интерфейс ODataДаёт доступ к объектам базы по REST без написания кода

Пример выгрузки в JSON:

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

Запись = Новый ЗаписьJSON;
Запись.ОткрытьФайл(ИмяФайла, "UTF-8");
ЗаписатьJSON(Запись, Данные);
Запись.Закрыть();

Структура в JSON превращается в объект, массив — в массив. Ссылки, даты и перечисления напрямую в JSON не пишутся: преобразуйте их в строки или задайте функцию преобразования.

Если интеграция постоянная, файловый обмен лучше заменить HTTP-сервисом или OData. Внешняя система сама забирает свежие данные, и не нужно следить за папкой с файлами.

Для публикации HTTP-сервиса и OData базу публикуют на веб-сервере (IIS или Apache) через Конфигуратор: Администрирование → Публикация на веб-сервере. Для OData дополнительно нужно указать, какие объекты открыты для доступа.

Правила конвертации данных: КД 2 и КД 3

Когда базы разные и типовой синхронизации нет, пишут правила конвертации. Их делают в отдельной конфигурации «Конвертация данных ».

КД 2КД 3
РезультатXML-файл правилМодуль обмена (код), формат EnterpriseData
Где применяетсяОбработка «Универсальный обмен данными XML», старые обменыСовременные типовые конфигурации на БСП
Кто применяетПользователь загружает файл правил в обработкуРазработчик встраивает модуль в конфигурацию
Поддержка измененийПроще поправить правило и перевыгрузитьНужно обновлять модуль в конфигурации

Порядок работы с КД 2:

  1. В конфигурации «Конвертация данных 2.x» загрузите структуру метаданных базы-источника и базы-приёмника.
  2. Создайте правила конвертации объектов (ПКО): какой справочник во что превращается.
  3. Настройте правила выгрузки данных (ПВД): какие объекты и с какими отборами выгружать.
  4. Сохраните правила в XML.
  5. В базе-источнике откройте «Универсальный обмен данными XML», укажите файл правил, выполните выгрузку.
  6. В базе-приёмнике той же обработкой загрузите полученный файл данных.

КД 3 устроена иначе: правила описывают преобразование объектов базы в формат EnterpriseData и обратно. Обе базы общаются через этот формат, а не напрямую друг с другом. Это даёт устойчивость к обновлениям: меняется конфигурация — правится только её сторона.

Первую загрузку по новым правилам делайте в копию базы-приёмника. Ошибка в правилах легко создаёт сотни дублей.

Кодировка и спецсимволы: почему файл открывается «крякозябрами»

Большая часть жалоб на выгрузку — не логика, а кодировка. Типичные симптомы и решения:

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

Ещё две ловушки:

  • 📆 Даты. Для внешних систем выгружайте даты в ISO-формате: функцией XMLСтрока(Дата), она вернёт строку вида 2026-02-01T00:00:00. Формат «01.02.2026» может прочитаться как 2 января.
  • 🔢 Коды с ведущими нулями. Excel превращает код 00045 в число 45. Если коды важны, выгружайте их в .xlsx из табличного документа, а не через CSV.

Выгрузка по расписанию: как настроить автоматический запуск

Вариант 1. Расписание синхронизации

У типовой синхронизации данных расписание настраивается в её карточке: Администрирование → Синхронизация данных → Синхронизация данных с другими программами, откройте нужную настройку и включите автоматическую синхронизацию по расписанию. Задайте интервал, например каждые 30 минут в рабочие часы.

Вариант 2. Регламентное задание

Если выгрузка написана в конфигурации, программист оформляет её как регламентное задание. Посмотреть и включить задания можно через Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания.

В файловой базе регламентные задания выполняются, только пока база открыта хотя бы у одного пользователя. Если ночью никого нет — выгрузка не запустится. В клиент-серверной базе задания выполняет сервер 1С.

Вариант 3. Планировщик Windows и параметр /Execute

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

@echo off
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Выгрузка" /P"пароль" /Execute"D:\Scripts\export.epf" /DisableStartupMessages

Вместо 8.3.xx.xxxx подставьте номер установленной платформы. Файл добавляют в планировщик заданий Windows с нужным временем запуска.

Что учесть:

  1. 👤 Заведите отдельного пользователя 1С с правами только на чтение нужных данных.
  2. 🛡️ Для этого пользователя отключите защиту от опасных действий в его карточке, иначе при открытии внешней обработки появится предупреждение и запуск остановится.
  3. 🔑 Пароль в bat-файле лежит открытым текстом. Ограничьте доступ к файлу и папке.
  4. 🔌 Каждый запуск занимает лицензию на время работы. Ставьте расписание на часы, когда свободные лицензии точно есть.
Перед запуском автоматической выгрузки
Выполнено: 0 / 6

Частые вопросы

Можно ли выгрузить из 1С сразу все документы за год одним файлом?
Да, обработкой «Выгрузка/загрузка данных XML» с отбором по периоду. Для больших баз разбейте выгрузку по месяцам: файл в несколько гигабайт плохо загружается и долго проверяется.
Чем выгрузка в .dt отличается от выгрузки в XML?
Файл .dt — полная копия базы вместе с конфигурацией, загружается только целиком с заменой. XML переносит выбранные объекты и дополняет базу-приёмник, не стирая её данные.
Почему после загрузки в другой базе появились дубли?
Объекты не сопоставились по уникальному идентификатору или ключевым полям. В правилах конвертации задают поиск по ИНН, коду или наименованию. Удалите дубли и повторите загрузку с исправленным поиском.
Как выгрузить данные из 1С в облаке, если нет доступа к Конфигуратору?
Штатные средства работают и в облаке: списки и отчёты сохраняются в файлы, синхронизация доступна через интернет. Внешние обработки в облачных сервисах обычно запускаются только после проверки провайдером.
Можно ли выгружать данные, пока пользователи работают в базе?
Да, выгрузка только читает данные и монопольного доступа не требует. Тяжёлую выгрузку лучше ставить на вечер: она нагружает сервер и замедляет работу остальных.