Выгрузка данных из 1С:Предприятие — одна из самых востребованных операций как для бухгалтеров, так и для программистов. Без неё невозможно обмениваться информацией с контрагентами, переносить данные между базами, интегрироваться с другими системами или просто архивировать важные документы. Однако стандартные инструменты выгрузки часто скрыты в глубине интерфейса, а их возможности зависят от версии платформы, конфигурации и даже прав пользователя.
В этой статье мы разберём все актуальные способы выгрузки — от ручного экспорта в Excel до автоматизированного обмена через XML и JSON. Особое внимание уделим типичным ошибкам при выгрузке справочников с иерархией (например, номенклатуры с группами) и больших объёмов данных, которые часто приводят к сбоям или потере информации. Если вам нужно перенести данные в другую программу, передать аудиторам или просто сделать резервную копию — здесь вы найдёте пошаговые инструкции с учётом нюансов разных версий 1С.
1. Подготовка к выгрузке: права, настройки и резервное копирование
Прежде чем приступать к выгрузке, убедитесь, что ваш пользователь в 1С имеет достаточные права. Для большинства операций потребуется роль "Администратор" или как минимум права на чтение тех объектов, которые вы планируете экспортировать. Проверить это можно в меню Администрирование → Пользователи.
Также важно учесть:
- 🔹 Версия платформы: В 1С:Предприятие 8.3 и новее доступны расширенные форматы выгрузки (например,
JSON), тогда как в старых версиях (8.2 и ниже) могут работать толькоXMLилиDBF. - 🔹 Объём данных: Выгрузка больших справочников (например, номенклатуры с историей цен) может занять часы и заблокировать базу для других пользователей.
- 🔹 Целостность данных: Если выгружаемые документы связаны между собой (например, реализация и оплата), их нужно экспортировать вместе, иначе при импорте возникнут ошибки ссылочной целостности.
⚠️ Внимание: Перед массовой выгрузкой обязательно создайте резервную копию базы через Администрирование → Выгрузить информационную базу. Это защитит вас от потери данных при сбое или некорректном экспорте.
Если вы работаете с 1С:УТ 11, 1С:Бухгалтерия 3.0 или 1С:ЗУП 3.1, проверьте настройки обмена данными в разделе Администрирование → Обмен данными. Здесь можно настроить автоматическую выгрузку по расписанию или подключить внешние обработки.
2. Способ 1: Выгрузка в Excel (XLSX, CSV) — простой экспорт для отчётов
Самый популярный метод среди бухгалтеров — выгрузка в Excel. Он подходит для небольших объёмов данных (до 10 000 строк) и не требует программирования. Рассмотрим процесс на примере выгрузки справочника "Контрагенты":
- Откройте справочник
Контрагенты(разделСправочники → Контрагенты). - Нажмите
Ещё → Выгрузить в Excel(илиФайл → Выгрузитьв старых версиях). - Выберите формат:
XLSX(рекомендуется) илиCSV(для импорта в другие системы). - Укажите путь для сохранения файла и нажмите
Сохранить.
Для выгрузки отчётов (например, оборотно-сальдовой ведомости) используйте кнопку Вывести в Excel прямо из формы отчёта. Это позволит сохранить не только данные, но и форматирование.
Убедиться, что в справочнике отображаются все нужные колонки|Проверить лимиты строк в вашей версии Excel (старые версии поддерживают только 65 536 строк)|Отключить фильтры, если нужно выгрузить все записи|Сохранить файл в папку с доступом для редактирования-->
Ограничения метода:
- 🚫 Не сохраняются иерархические связи (например, группы номенклатуры будут выгружены как отдельные строки).
- 🚫 Нет возможности выгрузить документы с табличными частями (например, реализации с позициями товаров) в одном файле.
- 🚫 В
CSVтеряется форматирование и могут возникнуть проблемы с кодировкой (особенно с кириллицей).
⚠️ Внимание: Если при открытии файлаXLSXв Excel вместо кириллицы отображаются кракозябры, откройте файл через LibreOffice Calc или измените кодировку при сохранении наUTF-8.
3. Способ 2: Выгрузка в XML — универсальный формат для обмена
Формат XML — стандарт для обмена данными между системами. Он поддерживает иерархию, ссылки между объектами и метаданные. Этот способ подходит для:
- 🔄 Переноса данных между базами 1С (например, из 1С:УТ в 1С:Бухгалтерию).
- 📤 Интеграции с внешними системами (например, CRM, ERP, маркетплейсами).
- 📦 Архивации данных с возможностью последующего восстановления.
Инструкция для выгрузки справочника "Номенклатура" в XML:
- Откройте справочник
Номенклатура. - Выделите нужные элементы (или нажмите
Ctrl+Aдля выделения всех). - Выберите
Файл → Сохранить как…(илиЕщё → Выгрузитьв новых версиях). - В поле
Тип файлаукажитеXML данные (*.xml). - Нажмите
Сохранитьи дождитесь завершения процесса.
Для выгрузки документов (например, поступлений или реализаций) используйте обработку ВыгрузкаЗагрузкаДанныхXML.epf, которая входит в стандартную поставку 1С. Её можно найти в каталоге установки или скачать с сайта 1С:ИТС.
| Формат | Поддерживает иерархию | Сохраняет ссылки | Размер файла | Скорость выгрузки |
|---|---|---|---|---|
XML |
✅ Да | ✅ Да | Средний | Медленнее Excel, но надёжнее |
XLSX |
❌ Нет | ❌ Нет | Большой | Быстро |
CSV |
❌ Нет | ❌ Нет | Малый | Очень быстро |
JSON |
✅ Да | ✅ Да | Малый | Быстро (только в 8.3.14+) |
Если вам нужно выгрузить данные с историей изменений (например, цены номенклатуры за несколько лет), используйте обработку ВыгрузкаДанныхСИсторией.xml. Она позволяет сохранить все версии объектов, но требует больше времени и места на диске.
Для ускорения выгрузки больших справочников в XML отключите ненужные реквизиты в настройках обработки. Например, если вам не нужны картинки номенклатуры, снимите галочку с поля "Картинка".
4. Способ 3: Выгрузка в DBF — для совместимости со старыми системами
Формат DBF унаследован от 1С:Предприятие 7.7 и до сих пор используется для обмена с устаревшими программами (например, Парус, Галактика или кассовыми аппаратами старого образца). Его главное преимущество — компактность и поддержка в большинстве СУБД.
Как выгрузить данные в DBF:
- Откройте нужный справочник или документ.
- Выберите
Файл → Выгрузить. - В поле
Тип файлаукажитеDBF файлы (*.dbf). - Укажите путь для сохранения и нажмите
ОК.
Ограничения DBF:
- 🚫 Не поддерживает иерархию (группы справочников будут утеряны).
- 🚫 Ограничение на длину строки —
254 символа(длинные наименования обрежутся). - 🚫 Нет поддержки Unicode в старых версиях (проблемы с кириллицей).
Для выгрузки документов (например, приходных накладных) в DBF используйте обработку ВыгрузкаДокументовВDBF.epf. Она позволяет настроить структуру выходных файлов и разделить данные по нескольким таблицам.
⚠️ Внимание: При выгрузке вDBFдаты хранятся в формате YYMMDD (например,260515— это 15 мая 2026 года). Это может вызвать проблемы при импорте в другие системы, где ожидается форматDD.MM.YYYY.
5. Способ 4: Автоматическая выгрузка по расписанию
Если данные нужно выгружать регулярно (например, ежедневно для CRM или еженедельно для аудиторов), настройте автоматический обмен. Это избавит от рутинных операций и снизит риск ошибок.
Инструкция для 1С:Предприятие 8.3:
- Перейдите в
Администрирование → Обмен данными. - Нажмите
Создатьи выберитеОбмен с файловой системой. - Укажите каталог для выгрузки (например,
\\server\1C_Exchange\). - Настройте расписание (ежедневно, еженедельно или по событию).
- Выберите правила обмена (какие объекты и в каком формате выгружать).
- Сохраните настройки и запустите тестовый обмен.
Для сложных сценариев (например, выгрузка только изменённых за день документов) используйте внешние обработки или скрипты на 1С:Предприятие. Пример кода для выгрузки новых заказов клиентов:
Процедура ВыгрузитьНовыеЗаказы()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказыКлиентов.Ссылка КАК Ссылка
|ИЗ
| Документ.ЗаказКлиента КАК ЗаказыКлиентов
|ГДЕ
| ЗаказыКлиентов.Дата >= &ПараметрДатаНачала";
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ТекущаяДата()));
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Объект = Выборка.Ссылка.ПолучитьОбъект();
Данные = Новый Структура();
Данные.Вставить("Дата", Объект.Дата);
Данные.Вставить("Клиент", Объект.Контрагент.Наименование);
// Добавляем другие поля
ЗаписатьВФайл(Данные, "C:\Exchange\Заказы\" + Объект.Номер + ".json");
КонецЦикла;
КонецПроцедуры
Для запуска такого скрипта по расписанию используйте регламентные задания (Администрирование → Регламентные задания) или внешний планировщик (например, Windows Task Scheduler).
Как проверить логи автоматической выгрузки?
Логи обмена данными хранятся в каталоге %APPDATA%\1C\1Cv8\logs (для Windows) или /var/log/1C (для Linux). Ищите файлы с названием exchange_*.log. Если выгрузка не прошла, в логах будет указана причина (например, "Недостаточно прав" или "Файл заблокирован").
6. Способ 5: Выгрузка через ODBC — для интеграции с SQL-базами
Если вам нужно перенести данные из 1С в Microsoft SQL Server, PostgreSQL или другую СУБД, используйте ODBC-соединение. Этот метод требует настройки драйвера, но позволяет гибко управлять выборкой данных.
Шаги для настройки:
- Установите драйвер ODBC для 1С (скачать можно с сайта 1С или из дистрибутива платформы).
- Создайте источник данных ODBC в Панели управления Windows (
Администрирование → Источники данных ODBC). - В 1С перейдите в
Администрирование → Настройка ODBCи укажите параметры подключения. - Используйте внешнюю программу (например, SQL Server Management Studio) или скрипт для выгрузки данных.
Пример SQL-запроса для выгрузки справочника "Контрагенты":
SELECT
T1._IDRRef AS Контрагент_ID,
T1._Description AS Наименование,
T1._Code AS Код,
T2._Description AS ТипКонтрагента
FROM
_Reference16 T1 -- Справочник.Контрагенты
LEFT JOIN
_Reference17 T2 ON T1._Fld17RRef = T2._IDRRef -- Справочник.ВидыКонтрагентов
Обратите внимание:
- 🔹 Таблицы в 1С имеют префикс
_и числовые суффиксы (например,_Document123— это документ с внутренним номером 123). - 🔹 Поля ссылочных типов хранят
_IDRRef— уникальный идентификатор объекта. - 🔹 Для чтения табличных частей документов используйте отдельные таблицы с префиксом
_Tbl.
⚠️ Внимание: При работе через ODBC 1С блокирует таблицы на чтение. Если в это время другой пользователь попытается изменить данные, он получит ошибку "Объект заблокирован". Планируйте выгрузку на время минимальной нагрузки.
7. Способ 6: Выгрузка через REST API (для 1С:Предприятие 8.3.14+)
С версии 8.3.14 в 1С:Предприятие появилась поддержка REST API, что открыло новые возможности для интеграции с веб-сервисами. Этот метод подходит для:
- 🌐 Обмена данными с CRM-системами (например, Bitrix24, АмоCRM).
- 📱 Синхронизации с мобильными приложениями.
- 🛒 Интеграции с маркетплейсами (Ozon, Wildberries, Яндекс.Маркет).
Для настройки REST-сервиса:
- Откройте
Администрирование → Публикация на веб-сервере. - Нажмите
Добавитьи выберитеREST-сервис. - Укажите имя сервиса (например,
/hs/exchange) и порт (по умолчанию8080). - Настройте аутентификацию (логин/пароль или токен).
- Опубликуйте сервис и проверьте доступность по адресу
http://ваш_сервер:8080/hs/exchange.
Пример HTTP-запроса для получения списка контрагентов:
GET /hs/exchange/odata/standard.odata/Catalog_Контрагенты?$top=100
Headers:
Authorization: Basic base64(логин:пароль)
Accept: application/json
Ответ будет в формате JSON:
{
"@odata.context": "http://server:8080/hs/exchange/odata/$metadata#Catalog_Контрагенты",
"value": [
{
"Ref_Key": "a1b2c3d4-5678-90ef-ghij-klmnopqrstuv",
"Description": "ООО Ромашка",
"Code": "0001"
},
{
"Ref_Key": "b2c3d4e5-6789-01fg-hijk-lmnopqrstuvw",
"Description": "ИП Иванов И.И.",
"Code": "0002"
}
]
}
Для выгрузки данных используйте POST-запросы с телом в формате JSON. Пример создания нового контрагента:
POST /hs/exchange/odata/standard.odata/Catalog_Контрагенты
Headers:
Content-Type: application/json
Body:
{
"Description": "Новый Контрагент ООО",
"Code": "0003",
"ИНН": "1234567890",
"КПП": "123456789"
}
REST API в 1С поддерживает стандарт OData, что позволяет гибко фильтровать данные прямо в запросе. Например, /Catalog_Номенклатура?$filter=contains(Description,'телефон') вернёт только номенклатуру с словом "телефон" в наименовании.
8. Способ 7: Выгрузка через внешние обработки (для сложных сценариев)
Если стандартные инструменты не покрывают ваши нужды (например, требуется выгрузить данные в нестандартном формате или с дополнительной обработкой), используйте внешние обработки. Их можно скачать с сайта 1С:ИТС, форума Infostart или написать самостоятельно.
Популярные обработки для выгрузки:
- 📄 "Универсальный обмен данными" — поддерживает
XML,JSON,Excelи настраиваемые форматы. - 📄 "Выгрузка в Word" — для генерации печатных форм документов.
- 📄 "Обмен с МойСклад" — для синхронизации с облачным сервисом.
- 📄 "Выгрузка в Google Sheets" — для работы с онлайн-таблицами.
Как подключить внешнюю обработку:
- Скачайте файл обработки (
.epfили.erf). - В 1С перейдите в
Файл → Открытьи выберите скачанный файл. - Следуйте инструкциям обработки (обычно нужно указать, какие объекты и в каком формате выгружать).
- Нажмите
Выгрузитьи сохраните файл в нужном каталоге.
Пример кода для выгрузки справочника в JSON (можно вставить в обработку):
Процедура ВыгрузитьВJSON(КаталогВыгрузки, ИмяФайла)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
МассивДанных = Новый Массив;
Пока Выборка.Следующий() Цикл
Элемент = Новый Структура;
Элемент.Вставить("ID", Выборка.Ссылка.УникальныйИдентификатор());
Элемент.Вставить("Наименование", Выборка.Наименование);
Элемент.Вставить("Артикул", Выборка.Артикул);
МассивДанных.Добавить(Элемент);
КонецЦикла;
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписьJSON.ЗаписатьJSON(МассивДанных);
ТекстJSON = ЗаписьJSON.Закрыть();
ЗаписатьТекст(КаталогВыгрузки + ИмяФайла + ".json", ТекстJSON);
КонецПроцедуры
Для автоматизации подключите обработку к регламентному заданию или запускайте её по расписанию через планировщик задач Windows.
⚠️ Внимание: Внешние обработки могут содержать вредоносный код. Скачивайте их только с официальных источников (1С:ИТС, Infostart) и проверяйте антивирусом перед использованием.
FAQ: Ответы на частые вопросы
Можно ли выгрузить данные из 1С в Google Таблицы автоматически?
Да, для этого используйте обработку "Выгрузка в Google Sheets" или настройте интеграцию через REST API с сервисом Zapier/Make (ex-Integromat). Также можно написать скрипт на Google Apps Script, который будетpullить данные из 1С по расписанию.
Почему при выгрузке в Excel теряются группы справочника?
Формат Excel не поддерживает иерархические структуры. Чтобы сохранить группы, выгружайте данные в XML или JSON, либо используйте внешнюю обработку, которая преобразует иерархию в плоскую таблицу с колонкой "Родитель".
Как выгрузить документы с табличными частями (например, реализации с товарами)?
Для выгрузки документов с табличными частями:
- Используйте обработку
ВыгрузкаЗагрузкаДанныхXML.epf— она поддерживает сложные структуры. - В настройках выгрузки отметьте галочкой
"Выгружать табличные части". - Если нужно разделить данные по файлам, настройте шаблон имени (например,
Реализация_{Документ.Номер}_Товары.xml).
Как ускорить выгрузку больших справочников (более 100 000 записей)?
Для ускорения:
- 🔹 Выгружайте данные порциями (например, по 10 000 записей за раз).
- 🔹 Отключите ненужные реквизиты в настройках выгрузки.
- 🔹 Используйте
DBFилиCSVвместоXML(если не нужна иерархия). - 🔹 Запускайте выгрузку в фоновом режиме (
Администрирование → Фоновые задания).
Можно ли выгрузить данные из 1С в базу данных MySQL?
Да, для этого:
- Настройте ODBC-соединение с MySQL (используйте драйвер MySQL ODBC Connector).
- Создайте внешнюю обработку, которая будет читать данные из 1С и записывать их в MySQL через
ADOилиHTTP-соединение. - Альтернативно используйте промежуточный формат (например, выгрузите данные в
CSV, а затем импортируйте их в MySQL черезLOAD DATA INFILE).