Фабрика XDTO в 1С: как использовать для сериализации и интеграции с REST API

Фабрика XDTO в 1С: что это и зачем она нужна

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

Проблема с обычными фабриками в 1С

В классической абстрактной фабрике есть общие методы, а подчинённые фабрики реализуют эти методы. Если бы мы писали на другом языке, то для разных целей (например, для сайта и для внутреннего 1С‑сервиса) создали бы отдельные фабрики с одинаковыми методами. В 1С такой гибкости нет – единственная фабрика, доступная в конфигураторе, – XDTO.

Как использовать XDTO для сериализации объектов

Фабрика XDTO позволяет быстро преобразовать любой объект 1С в XML. Это особенно удобно при работе с REST‑API, где данные обычно передаются в виде XML или JSON. С помощью XDTO можно:

  • Сериализовать объекты номенклатуры, складских остатков, заказов и т.д.
  • Получать готовый XML‑строку, которую можно отправить в клиентское приложение или веб‑сайт.
  • Обрабатывать входящие XML‑данные, преобразуя их обратно в объекты 1С.

Пример применения: сервис номенклатуры для сайта и 1С

Представьте, что вам нужно создать REST‑API, которое отдаёт список номенклатуры как для внешнего сайта, так и для внутреннего 1С‑сервиса. В обычном языке вы бы создали метод фабрики «ПолучитьНоменклатуру» и реализовали его в двух под‑фабриках – одна для сайта, другая для 1С. В 1С вы используете XDTO, чтобы сериализовать один и тот же объект в XML, а затем различаете формат вывода в зависимости от контекста вызова.

Подробнее о работе с XDTO и примерах использования мы разберём на нашем занятии. Приготовьтесь к практическим задачам по сериализации и интеграции с внешними сервисами.

Где найти XDTO в конфигураторе

Фабрика XDTO находится в разделе «Объекты» → «Фабрики» → «XDTO». Вы можете открыть её свойства и изучить доступные методы, а также посмотреть, какие типы объектов поддерживаются.

Вывод

Фабрика XDTO – это готовый инструмент 1С для сериализации объектов в XML, который упрощает работу с REST‑API и внешними сервисами. Несмотря на то, что 1С не позволяет создавать произвольные фабрики, XDTO предоставляет достаточную гибкость для большинства задач интеграции.