Выгрузка данных из 1С:Предприятие 8 — одна из самых востребованных операций как для бухгалтеров, так и для IT-специалистов. Без неё невозможно обмениваться информацией с контрагентами, переносить данные в другие системы или просто анализировать отчёты в удобном виде. Однако универсального метода не существует: способ выгрузки зависит от версии платформы, конфигурации (Бухгалтерия 3.0, УТ 11, ЗУП 3.1), формата выходных данных и даже прав пользователя.

Многие сталкиваются с типичными проблемами: файлы получаются "битыми", теряются связи между документами, а в Excel вместо кириллицы отображаются кракозябры. В этой статье разберём все актуальные методы выгрузки — от ручных до автоматизированных, — а также покажем, как избежать распространённых ошибок. Особое внимание уделим XML, DBF, Excel и JSON, так как эти форматы покрывают 90% задач.

Если вам нужна выгрузка для конкретной цели (например, передача данных в ФНС или интеграция с CRM), обратите внимание на специализированные разделы. Для программистов приведём примеры кода на встроенном языке, а для обычных пользователей — пошаговые инструкции с картинками (их можно найти в официальной документации ).

📊 Какой формат выгрузки из 1С вам нужен чаще всего?
Excel (XLS/XLSX)
XML
DBF
JSON
Текстовый (CSV/TXT)
Другой

1. Подготовка к выгрузке: права, настройки и резервное копирование

Прежде чем приступать к выгрузке, убедитесь, что у вашей учётной записи есть достаточные права. Для большинства операций требуется роль Администратор или Полные права, но в некоторых конфигурациях (например, 1С:ЗУП) можно выдать избирательные разрешения через Администрирование → Настройки пользователей.

Обязательно проверьте:

  • 🔹 Версию платформы: выгрузка в Excel через ЗаписатьВФайлExcel() работает только в 1С 8.3.14+. В старых версиях придётся использовать DBF или XML.
  • 🔹 Кодировку: если выгружаете в текстовые форматы, установите UTF-8 через Файл → Параметры → Региональные настройки.
  • 🔹 Объём данных: для больших баз (свыше 100 000 строк) лучше использовать пакетную выгрузку или 1С:Конвертацию данных.

⚠️ Внимание: Если выгружаете данные для передачи в госорганы (например, в ФНС или ПФР), сверьте актуальные требования к формату файлов на их официальных сайтах. Требования к XML-схемам могут меняться ежеквартально.

Не забудьте создать резервную копию базы перед массовой выгрузкой. Для этого:

  1. Закройте всех пользователей из базы (Администрирование → Активные пользователи).
  2. Выполните команду Файл → Сохранить копию или используйте 1С:Технологическую платформу для создания бэкапа.
💡

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

2. Выгрузка в Excel: от простого к сложному

Формат Excel (.xls/.xlsx) — самый популярный для аналитики и отчётности. В 1С 8.3 есть несколько способов выгрузить данные в таблицы:

Способ 1: Через "Все функции" (для непрограммистов)

  • 📋 Откройте нужный отчёт или список документов (например, Продажи → Реализация товаров).
  • 📋 Нажмите Ещё → Все действия → Выгрузить в Excel.
  • 📋 Выберите поля для экспорта (можно оставить все по умолчанию).
  • 📋 Укажите путь для сохранения файла.

Этот метод подходит для разовых выгрузок небольших объёмов (до 50 000 строк). Для больших данных лучше использовать внешние обработки или программный код.

Способ 2: С помощью встроенного языка (для разработчиков)

Если нужно автоматизировать выгрузку или настроить сложную структуру файла, используйте следующий код:

ТаблицаДанных = Новый ТаблицаЗначений;

ТаблицаДанных.Колонки.Добавить("Дата");

ТаблицаДанных.Колонки.Добавить("Сумма");

Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ

Дата КАК Дата,

СуммаДокумента КАК Сумма

ИЗ

Документ.РеализацияТоваровУслуг";

РезультатЗапроса = Запрос.Выполнить();

Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.Следующий() Цикл

НоваяСтрока = ТаблицаДанных.Добавить();

НоваяСтрока.Дата = Выборка.Дата;

НоваяСтрока.Сумма = Выборка.Сумма;

КонецЦикла;

Excel = Новый Excel8;

Excel.ДобавитьЛист("Продажи");

Excel.ВывестиТаблицу(ТаблицаДанных, "A1");

Excel.Записать("C:\Отчёты\Продажи.xlsx");

⚠️ Внимание: При выгрузке в Excel через код следите за типами данных. Например, даты в и Excel хранятся по-разному. Используйте функцию Формат(), чтобы привести значения к читаемому виду:
НоваяСтрока.Дата = Формат(Выборка.Дата, "ДФ=dd.MM.yyyy");

Для выгрузки сложных отчётов (например, оборотно-сальдовой ведомости) проще использовать внешние обработки. Популярные решения:

  • 🔧 ВыгрузкаВExcel от Инфостарт (платно, но с гибкими настройками).
  • 🔧 Универсальный отчёт с выгрузкой (бесплатно, есть на сайте ).

☑️ Подготовка к выгрузке в Excel

Выполнено: 0 / 5

3. Выгрузка в XML: универсальный формат для обмена

XML — стандарт для обмена данными между системами. Его используют для интеграции с CRM, ERP, госпорталами (например, Госуслуги или ФНС) и даже для миграции между разными конфигурациями .

Основные способы выгрузки в XML:

Метод Когда использовать Сложность
Встроенная обработка "ВыгрузкаЗначений" Для разовых выгрузок справочников (например, номенклатуры) Низкая
Конфигурация "Конвертация данных" Для регулярного обмена между базами Средняя
Программный код (ЗаписатьXML()) Для кастомизированных структур данных Высокая
Внешние обработки (например, Универсальный обмен данными) Для интеграции со сторонними системами Средняя

Пример выгрузки справочника "Номенклатура" в XML через код:

Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ

Ссылка КАК Ссылка,

Наименование КАК Наименование,

Артикул КАК Артикул

ИЗ

Справочник.Номенклатура";

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();

XMLСтруктура = Новый Структура;

XMLСтруктура.Вставить("Номенклатура", Новый Массив);

Пока Выборка.Следующий() Цикл

Элемент = Новый Структура;

Элемент.Вставить("Ссылка", Выборка.Ссылка.УникальныйИдентификатор());

Элемент.Вставить("Наименование", Выборка.Наименование);

Элемент.Вставить("Артикул", Выборка.Артикул);

XMLСтруктура.Номенклатура.Добавить(Элемент);

КонецЦикла;

ЗаписьXML = Новый ЗаписьXML;

ЗаписьXML.ОткрытьФайл("C:\Обмен\Номенклатура.xml");

ЗаписьXML.ЗаписатьОбъект(XMLСтруктура);

ЗаписьXML.Закрыть();

Для обмена с 1С:Бухгалтерией 3.0 или 1С:УТ 11 проще использовать типовые обработки:

  1. Откройте Администрирование → Обмен данными → Настройка обмена.
  2. Выберите формат XML (Конвертация данных 2.0).
  3. Укажите правила обмена (можно загрузить готовые шаблоны с сайта ).
  4. Запустите выгрузку через Выполнить обмен.

⚠️ Внимание: При выгрузке в XML для госорганов (например, отчётность в ПФР) используйте сертифицированные обработки от или партнёров. Самописные решения могут не пройти валидацию.
Что делать, если XML-файл не проходит проверку?

Чаще всего ошибки связаны с:

- Несоответствием схемы (XSD). Скачайте актуальную схему на сайте получателя данных.

- Неправильной кодировкой (должна быть UTF-8).

- Отсутствием обязательных реквизитов (например, ИНН контрагента).

Для диагностики используйте валидаторы вроде XML Validator или Notepad++ с плагином XML Tools.

4. Выгрузка в DBF: для совместимости со старыми системами

Формат DBF унаследован от 1С 7.7 и до сих пор используется для обмена с устаревшими программами (например, Парус, Галактика) или госорганами (например, Росалкогольрегулирование). Его главный плюс — полная совместимость с любыми версиями и минимальные требования к ресурсам.

Для выгрузки в DBF:

  1. Откройте нужный справочник или документ (например, Справочники → Контрагенты).
  2. Выберите Файл → Сохранить как или Все действия → Выгрузить.
  3. В списке форматов укажите DBF (dBase).
  4. Настройте соответствие полей (если требуется).
  5. Сохраните файл в указанную папку.

Для программистов доступен метод ЗаписатьDBF():

Таблица = Новый ТаблицаЗначений;

Таблица.Колонки.Добавить("Код");

Таблица.Колонки.Добавить("Наименование");

Запрос = Новый Запрос("ВЫБРАТЬ Код, Наименование ИЗ Справочник.Контрагенты");

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл

Строка = Таблица.Добавить();

Строка.Код = Выборка.Код;

Строка.Наименование = Выборка.Наименование;

КонецЦикла;

ЗаписьDBF = Новый ЗаписьDBF;

ЗаписьDBF.ОткрытьФайл("C:\Обмен\Контрагенты.dbf");

ЗаписьDBF.Записать(Таблица);

ЗаписьDBF.Закрыть();

Ограничения DBF:

  • 🚫 Максимальная длина имени поля — 10 символов имена обрезаются автоматически).
  • 🚫 Нет поддержки Unicode — кириллица может отображаться неправильно (используйте кодировку CP866).
  • 🚫 Ограничение на количество полей — 255.

⚠️ Внимание: При обмене с госорганами через DBF проверьте требования к структуре файла. Например, Росалкогольрегулирование требует строгое соответствие имен полей и их типов. Отклонения приведут к отказу в приёме отчётности.

5. Выгрузка в JSON: для современных интеграций

Формат JSON всё чаще используется для обмена с API, веб-сервисами и мобильными приложениями. В 1С 8.3.16+ появилась встроенная поддержка JSON через объекты ЧтениеJSON/ЗаписьJSON.

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

Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ

Код КАК Id,

Наименование КАК Name,

ИНН КАК Inn

ИЗ

Справочник.Контрагенты";

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();

JSONЗапись = Новый ЗаписьJSON;

JSONЗапись.ОткрытьФайл("C:\Обмен\Clients.json");

JSONЗапись.ЗаписатьНачалоОбъекта();

JSONЗапись.ЗаписатьИмяСвойства("clients");

JSONЗапись.ЗаписатьНачалоМассива();

Пока Выборка.Следующий() Цикл

JSONЗапись.ЗаписатьНачалоОбъекта();

JSONЗапись.ЗаписатьИмяСвойства("id");

JSONЗапись.ЗаписатьЗначение(Выборка.Id);

JSONЗапись.ЗаписатьИмяСвойства("name");

JSONЗапись.ЗаписатьЗначение(Выборка.Name);

JSONЗапись.ЗаписатьИмяСвойства("inn");

JSONЗапись.ЗаписатьЗначение(Выборка.Inn);

JSONЗапись.ЗаписатьКонецОбъекта();

КонецЦикла;

JSONЗапись.ЗаписатьКонецМассива();

JSONЗапись.ЗаписатьКонецОбъекта();

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

Для работы с JSON также можно использовать внешние библиотеки:

  • 📦 JSONParser (от Infostart) — для парсинга сложных структур.
  • 📦 REST-коннектор — для обмена с API (например, Битрикс24 или АмоCRM).

⚠️ Внимание: При выгрузке в JSON для API проверьте требования к структуре данных. Например, некоторые сервисы требуют snake_case для имён полей (client_name вместо ClientName), а по умолчанию использует PascalCase.

6. Автоматизация выгрузки: расписания и внешние сервисы

Если выгрузка нужна регулярно (например, ежедневно для CRM), настройте автоматический обмен:

  • 🔄 Через Администрирование → Обмен данными → Настройка расписания.
  • 🔄 С помощью регламентных заданий (для программистов).
  • 🔄 Через внешние сервисы (1С:Link, R-Keeper, Атол Онлайн).

Пример создания регламентного задания для выгрузки в Excel:

Процедура ВыгрузитьПродажи() Экспорт

Таблица = ПолучитьДанныеОПродажах(); // Ваша функция получения данных

Excel = Новый Excel8;

Excel.ВывестиТаблицу(Таблица, "A1");

Excel.Записать("C:\Отчёты\Продажи_" + ТекущаяДата() + ".xlsx");

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

// Создание регламентного задания

Регламент = РегламентныеЗадания.Создать("ВыгрузкаПродаж");

Регламент.Периодичность = ПериодичностьРегламентныхЗаданий.День;

Регламент.ВремяНачала = Время(23, 0, 0); // Каждый день в 23:00

Регламент.Метод = "ВыгрузитьПродажи";

Регламент.Записать();

Для облачных интеграций (например, с Google Sheets или Yandex Disk) используйте:

  • 🌐 1С:Облачный архив — для автоматической выгрузки в облако.
  • 🌐 Make (ex-Integromat) — для связки с другими сервисами по API.

⚠️ Внимание: При настройке автоматической выгрузки в облачные сервисы проверьте лимиты API. Например, Google Sheets имеет ограничение на количество запросов в минуту (60 для бесплатного аккаунта).
💡

Для регулярных выгрузок лучше использовать регламентные задания или специализированные сервисы обмена. Ручные операции увеличивают риск ошибок и требуют постоянного контроля.

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

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

Ошибка Причина Решение
Файл Excel открывается, но вместо букв — кракозябры Неверная кодировка (например, CP1251 вместо UTF-8) Установите кодировку в настройках выгрузки или используйте ПреобразоватьСтрокуВКодировку()
XML-файл не проходит валидацию Несоответствие схеме (XSD) или отсутствие обязательных полей Проверьте файл через XML Validator и сравните со схемой получателя
При выгрузке в DBF теряются данные Ограничение на длину поля (10 символов) или тип данных Сократите имена полей или используйте Excel/XML
Ошибка "Недостаточно памяти" при выгрузке больших данных Превышен лимит оперативной памяти Разбейте выгрузку на части или используйте 1С:Конвертацию данных
В JSON некорректно отображаются даты Формат даты не совместим с ISO 8601 Преобразуйте даты в строку через Формат(Дата, "ДФ=yyyy-MM-dd")

Если выгрузка прерывается с ошибкой "Нет прав на чтение объекта":

  1. Проверьте права пользователя в Администрирование → Пользователи.
  2. Убедитесь, что у вас есть доступ к метаданным (в конфигураторе).
  3. Если используете 1С:Предприятие в файловом варианте, проверьте права на папку с базой.

⚠️ Внимание: Если при выгрузке в Excel появляется ошибка "Too many different cell formats", уменьшите количество уникальных форматов ячеек. Excel имеет ограничение в 64 000 уникальных форматов на файл.

8. Альтернативные методы: ODBC, COM-соединение, API

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

1. Через ODBC

Позволяет подключиться к базе как к обычной SQL-БД и выгружать данные напрямую в Excel, Power BI или Python.

  • 🔌 Установите драйвер 1С:ODBC (скачать можно на сайте ).
  • 🔌 Настройте источник данных в Панель управления → Администрирование → Источники данных ODBC.
  • 🔌 Подключитесь к базе через Excel (Данные → Из других источников → Из ODBC).

2. Через COM-соединение

Можно управлять из VBA (например, для автоматической выгрузки в Excel):

' Пример кода на VBA для Excel

Dim Conn As Object

Set Conn = CreateObject("V83.ComConnector")

' Подключение к базе

Conn.Connect "File=C:\Bases\Trade;Usr=Администратор;Pwd=123456"

' Выполнение запроса

QueryText = "ВЫБРАТЬ Наименование, Сумма ИЗ Документ.РеализацияТоваровУслуг"

Set Result = Conn.Execute(QueryText)

' Запись результатов в Excel

Sheet1.Range("A1").CopyFromRecordset Result

3. Через HTTP-сервисы и API

В 1С 8.3.14+ можно публиковать данные как REST API:

  1. Откройте конфигуратор и перейдите в Администрирование → Публикация на веб-сервере.
  2. Настройте HTTP-сервис с нужными методами.
  3. Подключитесь к нему из внешней системы (например, через Postman или Python).

Для интеграции с Битрикс24, АмоCRM или МойСклад проще использовать готовые коннекторы:

  • 🔗 1С-Битрикс: Обмен данными (для синхронизации с сайтом).
  • 🔗 Атол Онлайн (для обмена с онлайн-кассами).
  • 🔗 МойСклад для 1С (для синхронизации товаров и заказов).
💡

Для сложных интеграций (например, с маркетплейсами вроде Ozon или Wildberries) используйте специализированные сервисы обмена. Самописные решения требуют глубоких знаний API и часто ломаются при обновлении платформы.

FAQ: Ответы на частые вопросы

Можно ли выгрузить данные из 1С в Google Таблицы автоматически?

Да, для этого есть несколько способов:

  1. Использовать 1С:Облачный архив с настройкой выгрузки в Google Drive.
  2. Написать скрипт на Google Apps Script, который будет тянуть данные через API или ODBC.
  3. Использовать сервисы вроде Make (ex-Integromat) или Zapier для автоматизации.

Для первого метода понадобится 1С:Предприятие 8.3.16+ и доступ к интернету. Для второго — знание JavaScript или Python.

Почему при выгрузке в Excel вместо сумм отображаются знаки "#"?

Эта ошибка возникает из-за:

  • Несоответствия типов данных (например, в число с плавающей запятой, а в Excel — текст).
  • Слишком большой ширины столбца (уменьшите ширину или установите формат ячейки Числовой).
  • Ошибки в формулах (если выгружаете отчёт с расчётами).

Решение: перед выгрузкой приведите данные к нужному типу с помощью Число() или Формат().

Как выгрузить данные из 1С в формате для 1С:Бухгалтерии государственных учреждений?

Для госучреждений используйте специализированные обработки:

  1. Скачайте актуальную версию обработки с сайта (раздел "Решения для госсектора").
  2. Установите её через Файл → Открыть.
  3. Следуйте инструкции по настройке (обычно требуется указать период, организацию и формат выгрузки).

Обратите внимание: для БГУ