Работа с данными в системе 1С:Предприятие часто требует их передачи во внешние сервисы, контрагентам или в государственные органы. Ключевым этапом этого процесса является выбор правильного формата, который определяет структуру и тип передаваемой информации. Ошибки на этом этапе могут привести к тому, что файл будет отклонен принимающей стороной или данные интерпретируются неверно.
Разработчики и администраторы баз данных должны четко понимать разницу между стандартными механизмами платформы и специфическими настройками конфигурации. В большинстве случаев изменение формата выгрузки происходит не в одной кнопке, а через цепочку настроек в узлах обмена или правилах обработки данных.
В этой статье мы детально разберем, как в 1С поменять формат выгрузки для различных сценариев использования. Вы узнаете, где искать соответствующие переключатели в интерфейсе, как работают правила конвертации данных и какие технические нюансы влияют на итоговый файл.
Определение текущего способа обмена
Прежде чем приступать к изменению параметров, необходимо выяснить, какой именно механизм используется в вашей базе для передачи данных. Платформа 1С поддерживает несколько принципиально разных подходов, от простых файловых обменов до сложных веб-сервисов.
Чаще всего пользователи сталкиваются с необходимостью выгрузки в формате XML, JSON или специфическом формате XDTO. Выбор зависит от того, куда именно отправляются данные. Например, для взаимодействия с сайтом может потребоваться CommerceML, а для передачи в налоговую — специализированный формат с электронной подписью.
Проверьте настройки узла обмена в разделе администрирования. Именно там обычно хранится ссылка на используемый план обмена. Если вы видите, что выбран устаревший формат, его можно заменить, создав новый узел или отредактировав свойства существующего.
⚠️ Внимание: Изменение формата выгрузки «на лету» для уже настроенного и работающего обмена может привести к рассинхронизации данных. Перед внесением правок обязательно сделайте резервную копию базы (бэкап).
Настройка формата в узлах обмена данными
Основное место, где задается тип выгружаемых данных, находится в карточке узла обмена. Чтобы попасть туда, перейдите по пути Администрирование → Обмен данными → Узлы обмена данными. Здесь представлен список всех подключенных внешних систем.
Откройте нужный узел двойным кликом. В форме элемента вы найдете поле, отвечающее за тип формата. В типовых конфигурациях, таких как 1С:Бухгалтерия или 1С:Управление торговлей, это поле может называться «Формат данных» или «Тип соединения».
Если вам нужно сменить формат, например, с текстового на XML, выберите соответствующее значение из выпадающего списка. Система автоматически подтянет необходимые шаблоны файлов. Однако иногда требуется ручная корректировка правил, если стандартные варианты не подходят под ваши задачи.
- 📂 Файловый обмен — данные сохраняются в файл на диске или сетевой папке для последующей ручной или автоматической пересылки.
- 🌐 HTTP-сервис — выгрузка происходит напрямую через веб-протокол в реальном времени без сохранения промежуточных файлов.
- 📧 Электронная почта — файл формируется и автоматически прикрепляется к письму, отправляемому через почтовый клиент.
После смены типа формата обязательно проверьте путь к каталогу выгрузки. Разные форматы могут требовать разных прав доступа к папкам на сервере или локальном компьютере пользователя.
Если поле формата недоступно для редактирования (серое), проверьте права доступа пользователя. Возможно, у вашей роли нет прав на изменение настроек интеграции.
Использование правил конвертации данных (КД 2 и КД 3)
Для сложных сценариев, когда стандартные настройки не позволяют получить нужный результат, применяется механизм правил конвертации данных. Это мощный инструмент, позволяющий трансформировать данные из одной структуры в другую непосредственно в момент выгрузки.
В инструменте 1С:Конвертация данных (КД 2.0 или КД 3.0) вы можете создать правила, которые будут диктовать, в каком виде объекты попадут в файл выгрузки. Здесь можно задать формат, кодировку и даже структуру вложенных тегов.
Чтобы изменить формат через КД, необходимо открыть файл правил (.xml или .cf) в конфигураторе или внешней обработке. Найдите правило для конкретного объекта (например, «Документ.Реализация») и посмотрите свойства сериализации.
| Версия КД | Формат правил | Где применяется | Сложность настройки |
|---|---|---|---|
| КД 2.0 | XML | Старые конфигурации | Средняя |
| КД 3.0 | Встроенный объект | Типовые конфигурации 8.3+ | Высокая |
| XDTO | Схема XDTO | Веб-сервисы | Высокая |
| JSON | Текстовый | Мобильные приложения | Низкая |
При использовании КД 3.0 Без этого изменения не вступят в силу, и выгрузка пройдет по старому сценарию.
⚠️ Внимание: При редактировании правил конвертации в КД 3.0 избегайте изменения уникальных идентификаторов (UUID) объектов, если это не требуется логикой обмена. Это может привести к дублированию записей в принимающей базе.
☑️ Подготовка к изменению правил КД
Настройка выгрузки для веб-сервисов и API
Если ваша система 1С выступает в роли сервера для внешних приложений, формат выгрузки определяется настройками публикуемого веб-сервиса. В этом случае данные передаются в формате SOAP или REST, а структура регламентируется схемами XDTO или JSON.
Для изменения формата необходимо зайти в конфигуратор и открыть свойства веб-сервиса. Вкладка «Операции» позволяет настроить, какие методы доступны для вызова и какой формат данных они принимают на вход и возвращают на выход.
Часто возникает задача сменить возврат данных с XDTO на простой JSON или XML. Это делается через свойства операции: снимите галочку «Использовать XDTO» и настройте сериализацию вручную через код встроенного языка.
Функция ПолучитьДанные Экспорт
// Пример явного указания формата JSON
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку;
ЗаписьJSON.ЗаписатьЗначение(МойОбъектДанных);
Возврат ЗаписьJSON.ЗакрытьИПолучитьСтроку;
КонецФункции
Такой подход дает максимальную гибкость, но требует знаний программирования на встроенном языке 1С. Ошибки в коде могут привести к тому, что сервис перестанет отвечать или будет возвращать некорректные данные.
Почему не работает смена формата в веб-сервисе?
Частая причина — кэширование метаданных на стороне сервера IIS или Apache. После изменения свойств веб-сервиса в конфигураторе необходимо выполнить команду"Обновить конфигурацию базы данных" и перезапустить службу веб-сервера.
Специфика выгрузки отчетов и печатных форм
Отдельный пласт задач связан с выгрузкой отчетов и печатных форм. Пользователи часто хотят поменять формат сохранения отчета, например, с MXL (внутренний формат табличного документа) на PDF, XLSX или HTML.
Это регулируется не настройками обмена, а параметрами вывода отчета. При нажатии кнопки «Вывести список» или «Сформировать» в большинстве отчетов появляется диалоговое окно с выбором формата.
Чтобы изменить формат по умолчанию, можно использовать внешние обработки или доработать сам отчет в конфигураторе. В коде отчета найдите процедуру формирования макета и измените параметр вызова метода Записать у объекта табличного документа.
- 📄 PDF — идеальный формат для отправки документов клиентам, так как защищает содержимое от редактирования.
- 📊 XLSX — необходим для дальнейшего анализа данных в Excel или загрузки в другие учетные системы.
- 🌐 HTML — удобен для публикации отчетов на корпоративном портале или отправки в теле письма.
Также стоит обратить внимание на настройки пользователя. В личном кабинете (НСИ и Администрирование → Настройки пользователей и прав) можно задать приоритетные форматы для печати и выгрузки для конкретного сотрудника.
Для массовой смены формата отчетов эффективнее всего использовать обработку группового изменения свойств отчетов, а не править каждый отчет вручную.
Диагностика и проверка результата выгрузки
После того как вы изменили настройки формата, критически важно проверить результат. Не стоит полагаться только на отсутствие сообщений об ошибках в журнале регистрации.
Откройте полученный файл выгрузки в текстовом редакторе (например, Notepad++ или VS Code). Убедитесь, что структура тегов соответствует ожидаемой, кодировка верная (обычно UTF-8), и специальные символы экранированы корректно.
Если выгрузка предназначена для другой системы 1С, попробуйте загрузить файл в тестовую базу. Это позволит выявить ошибки сопоставления полей, которые не видны при простом просмотре файла.
⚠️ Внимание: Интерфейсы и названия пунктов меню могут отличаться в зависимости от версии платформы 1С (8.2, 8.3) и конкретной конфигурации (Бухгалтерия, УТ, ЗУП). Всегда сверяйтесь с официальной документацией к вашей версии ПО.
Используйте журнал регистрации событий для отладки. Включите подробное логирование для подсистемы обмена данными. Это поможет отследить, на каком именно этапе происходит сбой или искажение формата.
Как читать журнал регистрации для отладки выгрузки?
В журнале нужно включить фильтр по событию «Выгрузка данных» и уровню «Ошибка» или «Предупреждение». Часто там содержится текст исключения, который прямо указывает на несовместимость формата.
Часто задаваемые вопросы (FAQ)
Можно ли выгрузить данные сразу в два разных формата?
Да, это возможно. Для этого нужно создать два разных узла обмена или две разные настройки выгрузки, указав в каждой свой целевой формат. Либо использовать внешнюю обработку, которая будет дублировать файл с разными расширениями.
Почему при выгрузке в XML пропадают кириллические символы?
Скорее всего, проблема в кодировке файла. Убедитесь, что в настройках узла обмена или в правилах КД указана кодировка UTF-8. Также проверьте, что принимающая система корректно интерпретирует эту кодировку.
Как изменить формат выгрузки для всех пользователей сразу?
Изменения в настройках узлов обмена и правилах конвертации хранятся в общей части базы данных. После сохранения настроек администратором они станут доступны всем пользователям при следующем запуске или обновлении конфигурации.
Влияет ли смена формата выгрузки на скорость работы 1С?
Да, сложные форматы (например, XML с большой вложенностью или шифрование) требуют больше ресурсов процессора и времени на сериализацию. Формат JSON или CSV обычно обрабатывается быстрее.