Работа с форматами данных в 1С:Предприятие — одна из самых востребованных задач среди пользователей и разработчиков.hether выгружаете отчетность в Excel, настраиваете обмен с сайтом через JSON, или конвертируете старые данные из DBF в современные форматы — без понимания механизмов преобразования не обойтись. Проблема усложняется тем, что платформа поддерживает десятки форматов, а способы их обработки зависят от версии конфигурации, операционной системы и даже настроек безопасности.

В этой статье мы разберем все актуальные сценарии изменения форматов — от ручной конвертации через встроенные инструменты до автоматизации с помощью скриптов. Особое внимание уделим типичным ошибкам (например, Ошибка преобразования типа при экспорте в XML) и нюансам работы с облачными версиями . Если вы ранее сталкивались с проблемами при выгрузке данных или обмене с внешними системами, здесь найдете проверенные решения.

1. Какие форматы поддерживает 1С и когда их использовать

Платформа 1С:Предприятие 8 работает с более чем 15 форматами данных, но в повседневной практике чаще всего используются 5-6 из них. Выбор формата зависит от задачи:

  • 📊 XLS/XLSX — для отчетов, которые нужно редактировать в Excel (например, управленческая отчетность для руководства). Поддерживает формулы, но может терять форматирование при сложных таблицах.
  • 📄 PDF — для фиксированных документов (акты, счета), которые нельзя изменять. В генерируется через внешние компоненты или печатные формы.
  • 🔄 XML — универсальный формат для обмена данными между системами (например, выгрузка каталога товаров на сайт). Требует строгой структуры и валидации.
  • 🗃️ JSON — легковесная альтернатива XML для веб-сервисов и API. Часто используется в интеграциях с Bitrix24, МойСклад и другими облачными сервисами.
  • 💾 DBF/CDX — устаревшие форматы, которые до сих пор встречаются в legacy-системах. Поддержка в новых версиях ограничена.
  • 📎 CSV/TXT — простейшие текстовые форматы для массового импорта/экспорта (например, загрузка прайс-листов от поставщиков).

Важно: не все форматы доступны"из коробки". Например, для работы с JSON в 1С 8.3.10+ требуется подключить библиотеку ПомощникJSON, а экспорт в PDF часто реализуется через сторонние решения вроде FastReport или Stimulsoft.

📊 Какой формат вы чаще всего используете в 1С?
XLS/XLSX
XML
JSON
CSV/TXT
PDF
Другой

2. Как изменить формат выгрузки отчетов (XLS, PDF, HTML)

Самая частая задача — смена формата уже сформированного отчета. Например, вам нужно отправить клиенту отчет в PDF, а по умолчанию он генерируется в XLS. Алгоритм действий зависит от типа отчета:

2.1. Стандартные отчеты (оборотно-сальдовая ведомость, карточка счета)

Для большинства стандартных отчетов формат меняется непосредственно при формировании:

  1. Откройте нужный отчет через меню Отчеты → Стандартные отчеты.
  2. Нажмите Сформировать и дождитесь генерации данных.
  3. В окне предварительного просмотра выберите Файл → Сохранить как.
  4. В выпадающем списке Тип файла укажите нужный формат (PDF, XLSX, HTML или TXT).

⚠️ Внимание: При сохранении в PDF через стандартные средства могут пропадать некоторые элементы форматирования (например, цветовые выделения ячеек). Если критично сохранение дизайна, используйте внешние печатные формы.

2.2. Произвольные отчеты (СКД, компоновщик)

Для отчетов, созданных в Системе компоновки данных (СКД), настройка форматов гибче:

  1. Откройте отчет и перейдите в режим редактирования (Еще → Изменить вариант).
  2. В настройках варианта отчета найдите вкладку Вывод.
  3. В разделе Формат вывода выберите нужный вариант: Табличный документ (для XLS), HTML, Текст или Графическая схема (для PDF через виртуальный принтер).
  4. Сохраните вариант и сформируйте отчет заново.

Проверить права доступа к каталогу выгрузки

Убедиться, что на ПК установлен Microsoft Office (для XLSX)

Отключить блокировщики всплывающих окон в браузере (для HTML)

Сверить версию 1С с поддерживаемыми форматами-->

2.3. Таблица совместимости форматов и версий 1С

Формат 1С 8.2 1С 8.3 (до 8.3.14) 1С 8.3.15+ 1С:Fresh
XLS ✅ (через OLE) ❌ (только XLSX)
XLSX ✅ (с 8.3.8)
PDF ❌ (только через сторонние компоненты) ⚠️ (частично, через виртуальный принтер) ✅ (встроенная поддержка)
JSON ⚠️ (требует ПомощникJSON) ✅ (встроенные методы)

🔹 Ключевой вывод: Для современных задач рекомендуется использовать 1С 8.3.15+ — в этих версиях максимальная поддержка форматов без дополнительных компонент.

3. Конвертация данных между форматами (XML ↔ JSON, DBF ↔ XLS)

Когда требуется не просто выгрузить отчет, а преобразовать данные из одного формата в другой (например, получить JSON из XML для API), стандартных средств может не хватить. Рассмотрим двачных сценария:

3.1. Преобразование XML в JSON

Эта задача актуальна при интеграции с веб-сервисами. Например, вы выгружаете каталог товаров в XML для 1С-Битрикс, но сервис требует JSON. Решение:

  1. Используйте встроенный механизм ЧтениеXML и ЗаписьJSON (доступен с 1С 8.3.10):
    ЧтениеXML = Новый ЧтениеXML;
    

    ЧтениеXML.ОткрытьФайл("C:\data.xml");

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

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

    Пока ЧтениеXML.Прочитать Цикл

    ЗаписьJSON.ЗаписатьЗначение(ЧтениеXML.Значение);

    КонецЦикла;

  2. Для сложных структур (вложенные объекты) используйте библиотеку ПомощникJSON:
    ПомощникJSON = Новый ПомощникJSON;
    

    Результат = ПомощникJSON.ПрочитатьXML(ФайлXML);

    ПомощникJSON.ЗаписатьJSON(ФайлJSON, Результат);

⚠️ Внимание: При конвертации XML → JSON теряются атрибуты узлов (они преобразуются в свойства объектов). Если атрибуты критичны, их нужно обрабатывать отдельно.

3.2. Перенос данных из DBF в XLS/XLSX

DBF — устаревший формат, но его еще можно встретить в старых базах 1С 7.7 или внешних системах. Для конвертации:

  1. Используйте обработку ВыгрузкаЗагрузкаДанныхXML (поставляется с платформой):
    • Выберите источник DBF.
    • Укажите целевой формат XLSX.
    • Настройте соответствие полей (если структуры таблиц отличаются).
  • Для автоматизации напишите скрипт с использованием COMОбъект("Excel.Application"):
    Excel = Новый COMОбъект("Excel.Application");
    

    Книга = Excel.Workbooks.Open("C:\data.dbf");

    Книга.SaveAs("C:\data.xlsx", 51); // 51 - формат XLSX

    Excel.Quit;

  • Что делать если 1С не видит DBF-файл?

    Если при попытке открыть DBF вы получаете ошибку Файл поврежден или имеет неверный формат, проверьте:

    1. Кодировку файла (должна быть DOS/OEM 866 для русскоязычных баз).

    2. Версию DBF (1С работает с версиями 3 и 4; файл версии 7 не откроется).

    3. Наличие файлов .CDX (индексы) — их нужно скопировать вместе с .DBF.

    Если проблема сохраняется, используйте внешние утилиты вроде DBF Viewer для предварительной конвертации.

    4. Изменение форматов обмена данными (EnterpriseData, CommerceML)

    Форматы обмена данными в стандартизированы, но их настройка часто вызывает сложности. Рассмотрим два самых распространенных стандарта:

    4.1. EnterpriseData (для обмена между конфигурациями 1С)

    Формат EnterpriseData используется для обмена между разными базами (например, 1С:Бухгалтерия и 1С:ЗУП). Чтобы изменить его версию или структуру:

    1. Откройте обработку УниверсальныйОбменДаннымиXML.
    2. В настройках обмена выберите Формат обмена → EnterpriseData.
    3. Укажите версию схемы (актуальная на 2026 год — 2.1.10.1).
    4. При необходимости отредактируйте ПравилаОбмена (например, добавьте новые реквизиты).

    🔹 Полезный совет: Если при обмене возникает ошибка Несоответствие версии формата, скачайте актуальную схему EnterpriseData с сайта 1С:ИТС и обновите правила обмена.

    4.2. CommerceML (для интеграции с сайтами)

    Формат CommerceML применяется для синхронизации с интернет-магазинами (например, 1С-Битрикс, CS-Cart). Чтобы изменить его параметры:

    1. Откройте обработку ВыгрузкаДанныхНаСайт.
    2. В настройках выберите Формат обмена → CommerceML 2.0.
    3. Укажите:
      • Кодировку (UTF-8 или Windows-1251).
      • Флаг Выгружать картинки (если нужно передавать изображения товаров).
      • Глубину выгрузки каталога (например, только измененные товары).
    4. Сохраните настройки и выполните тестовую выгрузку.
    5. Параметр EnterpriseData CommerceML
      Основное применение Обмен между базами 1С Интеграция с сайтами
      Поддержка версий 2.0, 2.1 2.0 (актуальная)
      Требует ли доработок Редко (стандартные правила) Часто (настройка структуры каталога)
      Поддержка мультимедиа ✅ (картинки, PDF-инструкции)

      ⚠️ Внимание: При изменении форматов обмена всегда тестируйте процесс на копии базы. Ошибки в правилах обмена (например, неверное сопоставление справочников) могут привести к дублированию данных или потере связей между объектами.

      5. Автоматизация изменения форматов с помощью скриптов

      Ручная конвертация утомительна, если приходится обрабатывать сотни файлов. Для автоматизации используйте скрипты на встроенном языке или PowerShell (для Windows). Примеры:

      5.1. Пакетная конвертация XLS в XLSX

      Если у вас папка с сотнями файлов XLS, которые нужно преобразовать в XLSX:

      Каталог ="C:\Отчеты\";
      

      Файлы = НайтиФайлы(Каталог +"*.xls");

      Для Каждого Файл Из Файлы Цикл

      Excel = Новый COMОбъект("Excel.Application");

      Книга = Excel.Workbooks.Open(Файл.ПолноеИмя);

      НовоеИмя = СтрЗаменить(Файл.ПолноеИмя,".xls",".xlsx");

      Книга.SaveAs(НовоеИмя, 51); // 51 = формат XLSX

      Книга.Close;

      Excel.Quit;

      КонецЦикла;

      5.2. Генерация JSON из запроса 1С

      Чтобы сразу получить данные запроса в формате JSON (например, для передачи в API):

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

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

      Товары.Ссылка КАК Ссылка,

      Товары.Артикул КАК Артикул

      ИЗ Справочник.Товары КАК Товары";

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

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

      ЗаписьJSON.УстановитьСтроку;

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

      ЗаписьJSON.ЗаписатьСвойство("Товары");

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

      Пока РезультатЗапроса.Следующий Цикл

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

      ЗаписьJSON.ЗаписатьСвойство("Ссылка", РезультатЗапроса.Ссылка);

      ЗаписьJSON.ЗаписатьСвойство("Артикул", РезультатЗапроса.Артикул);

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

      КонецЦикла;

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

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

      JSONСтрока = ЗаписьJSON.Закрыть;

      // Сохраняем в файл

      Текст = Новый ЗаписьТекста("C:\товары.json");

      Текст.ЗаписатьСтроку(JSONСтрока);

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

      🔹 Ключевой вывод: Автоматизация экономит часы работы, но требует тестирования. Например, при пакетной конвертации XLS → XLSX проверяйте итоговые файлы на корректность формул и форматирования.

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

      При изменении форматов в пользователи сталкиваются с одинаковыми проблемами. Вот самые распространенные ошибки и способы их исправления:

      • 🚨 Ошибка"Не удалось сохранить файл" при экспорте в XLSX:

        Причина: отсутствует Microsoft Office или права на запись в папку.

        Решение: Установите Office 2010+ или используйте альтернативные библиотеки вроде EPPlus (требует .NET).

      • 🚨 "Недопустимый символ" в JSON/XML:

        Причина: в данных есть символы, недопустимые для формата (например,  в JSON).

        Решение: Очистите данные с помощью СтрЗаменить или функции ЭкранироватьСтроку.

      • 🚨 Пустой файл после конвертации:

        Причина: неверные права доступа или блокировка антивирусом.

        Решение: Проверьте исключения в антивирусе и запустите от имени администратора.

      • 🚨 "Несоответствие схемы" в EnterpriseData:

        Причина: версия формата в правилах обмена устарела.

        Решение: Обновите схему EnterpriseData через 1С:ИТС.

      💡

      Если при выгрузке в PDF пропадают кириллические символы, проверьте шрифты в настройках виртуального принтера. Добавьте шрифт Arial Unicode MS или DejaVu Sans.

      7. Особенности работы с форматами в облачной 1С (1С:Fresh)

      1С:Fresh — облачная версия платформы, и здесь есть свои нюансы при работе с форматами:

      • Поддерживаемые форматы: XLSX, PDF, JSON, XML. Формат XLS не доступен.
      • ⚠️ Ограничения:
        • Нет доступа к файловой системе — выгрузка только через HTTP или 1С:Диск.
        • Для PDF требуется подключение внешнего сервиса печатных форм.
        • Размер выгружаемого файла ограничен 50 МБ (для тарифа"Старт").
      • 🔧 Решения для обхода ограничений:
        • Используйте 1С:EDT для создания обработок, которые разбивают большие файлы на части.
        • Для DBF настройте промежуточный сервер с конвертером (например, на Python).

    ⚠️ Внимание: В 1С:Fresh нельзя подключать COM-объекты (например, Excel.Application). Для работы с XLSX используйте встроенные методы или REST API.

    FAQ: Частые вопросы по изменению форматов в 1С

    Можно ли в 1С 8.2 сохранить отчет в PDF без дополнительных компонент?

    Нет, в 1С 8.2 нет встроенной поддержки PDF. Вам потребуется:

    1. Установить виртуальный принтер (например, CutePDF).
    2. Использовать внешнюю компоненту 1С:Печать форм.
    3. Написать обработку с вызовом COM-объекта для конвертации.

    Для современных задач рекомендуем обновиться до 1С 8.3.15+, где поддержка PDF реализована нативно.

    Как исправить ошибку"Файл поврежден" при открытии выгруженного XLSX?

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

    • Неполной выгрузки (файл не закрыт корректно).
    • Конфликта версий Excel (файл сохранен в XLSX, но открывается в Excel 2003).
    • Повреждения данных при передаче по сети.

    Решения:

    1. Проверьте файл на другом ПК с актуальным Excel.
    2. Используйте LibreOffice Calc для восстановления.
    3. В обработке выгрузки добавьте явное закрытие файла: Excel.ActiveWorkbook.Close(True).
    Какие форматы поддерживает обмен с МойСклад?

    МойСклад работает с:

    • JSON (рекомендуемый формат для API).
    • XML (устаревший, но поддерживается для совместимости).
    • CSV (только для импорта справочников).

    Для настройки обмена:

    1. В используйте обработку ОбменСМойСклад (доступна на Инфостарт).
    2. В МойСклад настройте Webhook для автоматического приема данных.
    Как изменить кодировку при выгрузке в XML/JSON?

    По умолчанию сохраняет файлы в кодировке UTF-8, но иногда требуется Windows-1251 (например, для старых систем). Чтобы поменять кодировку:

    Текст = Новый ЗаписьТекста("C:\data.xml", КодировкаТекста.Windows);
    

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

    ЗаписьXML.УстановитьСтроку(Текст);

    Для JSON кодировка указывается аналогично:

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

    ЗаписьJSON.УстановитьСтроку(Новый ЗаписьТекста("C:\data.json", КодировкаТекста.UTF8));

    Можно ли в 1С конвертировать PDF в Word или Excel?

    Нет, в нет встроенных инструментов для распознавания PDF. Варианты решений:

    • Использовать внешние сервисы (например, Adobe Acrobat API).
    • Написать обработку с вызовом Python-скрипта (библиотека PyPDF2).
    • Ручной экспорт через Excel: Данные → Из PDF (доступно в Excel 2016+).