Универсальная выгрузка товаров в формате JSON для УТ11, КА2, ERP2, УНФ, Розница

Формат JSON чаще всего используется для передачи данных между различными системами. При этом он очень универсальный и каждая система, которая загружает данные, предполагает что в загружаемом файле будут заранее предопределенные объекты и свойства. Именно в этом основная проблема многих разработок — они создаются под конкретные системы, маркетплейсы, сайты. У нас была другая задача — сделать универсальное решение, которое позволит Вам выгружать номенклатуру, ее остатки, цены, штрихкод, изображения, дополнительные реквизиты, характеристики. И в 21 веке не должно остаться ручного труда — после настройки файл должен автоматически выгружаться в каталог или на ftp по расписанию!

Весь функционал является частью нашего расширения «Конструктор прайс-листов«. Расширение совместимо с актуальными версиями конфигураций «Управление торговлей 11″, «Комплексная автоматизация 2″, «ERP Управление предприятием 2″, «Управление нашей фирмой 1.6», «Розница 2.2-2.3». Ознакомиться со всеми возможностями и скачать расширение Вы можете на основной странице расширения.

Давайте вместе настроим пример выгрузки товаров в формате JSON. Для этого перейдем в конструктор прайс-листов на страницу Настройки и укажем тип файла, в котором будут выгружаться данные.

После выбора типа файла станет доступным поле Формат JSON. И тут нужно пояснение. В конструкторе прайс-листов на странице Колонки мы добавляем колонки с необходимыми нам данными. Это могут быть колонки Артикул, Наименование номенклатуры, Код, Цена, Остаток, Изображение и пр. В результате выгрузки у нас формируется простая таблица с выбранными нами данными. Но нам нужно распределить эти данные по нужным свойствам и объектам файла JSON. Именно это делается с помощью настройки Формата JSON. К этой настройке мы вернемся позже а пока создадим несколько колонок для примера:

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

В этом примере мы добавили 5 колонок:

  1. ID — это внутренний код номенклатуры. Он остается неизменным даже если Вы изменяете карточку номенклатуры.
  2. Артикул номенклатуры.
  3. Наименование номенклатуры.
  4. Цена.
  5. Общий остаток по все складам.

Чтобы у нас в этом примере не выгружалась вся номенклатура — добавим отбор по группе Телевизоры.

Как описывалось ранее — конструктор формирует простую таблицу с данными на основании выбранных нами колонок. Поэтому мы уже можем нажать на кнопку Сформировать и посмотреть данные, которые у нас будут выгружаться.

По нашему отбору в выгрузку попадает 2 номенклатуры. Теперь создадим настройку распределения данных в файл JSON. Для этого вернемся на страницу Настройки и создадим новый формат JSON:

Ниже показан пример уже настроенного формата JSON. В этом примере мы не формировали формат под конкретный сайт или маркетплейс — это совершенно произвольная структура файла с распределением выбираемых в конструкторе данных. 

Вы можете вводить все элементы JSON вручную или если у Вас есть готовый файл с примером структуры файла — просто заполнить все настройки по этому шаблону. После заполнения нужно только выбрать данные для каждого элемента JSON.

В файле JSON у нас могут быть простые элементы (ключ и значение). В нашем примере это shop_id. Для него мы просто установили нужное нам значение.

Таким образом для элементов JSON у нас могут быть как произвольные значения, так и данные из наших колонок. Если Вы кликнете на кнопку выбора значения — Вам будут предложены на выбор созданные Вами ранее в конструкторе колонки. Т.е. в квадратных скобках — это наши колонки.

Для элемента items мы указали, что это будет массив:

А данными для этого массива будут наши товары с колонками, которые мы сами указали в конструкторе. Чтобы изменить данные кликнете 2 раза по ячейке Данные для строки и у Вас появится выбор. Это могут быть Товары, Изображения, произвольный запрос к базе данных.

Наша схема формата JSON готова и мы можем вернуться к конструктору и выгрузить данные.

Посмотрим на сформированный файл JSON:

Наши два товара выгрузились и данные из колонок распределились в точности с нашей схемой формата JSON.

Если Вам нужно выгрузить данные в виде массива — для подчиненных элементов не указывайте имя. Ниже показан пример настройки массива, содержащего номера телефонов:

А это результат выгрузки по такой настройке:

Добавим еще пример выгрузки изображений. Конструктор позволяет выгружать до 10 изображений номенклатуры и бесконечное количество изображений характеристик. Чтобы наши изображения выгружались мы добавляем новый элемент с произвольным именем (в примере images), указываем для него тип данных Массив и в качестве данных выбираем Изображения. В колонках конструктора мы добавляем колонки с изображениями исходя из того, сколько нам нужно выгружать. В значении элемента мы указываем 2 варианта: [Имя] — если наши изображения выгружаются в каталог (выгружаются имена файлов изображений) или [Url] — если изображения выгружаются на ftp (выгружаются ссылки к изображениям).

Ниже показан пример выгрузки номенклатуры с изображениями. В колонках конструктора прайс-листов добавлены 2 колонки с изображениями и настроена выгрузка изображений в каталог на диске.

Еще нужно рассмотреть вариант использования произвольного запроса в настройке формата JSON. К примеру нам нужно выгрузить все штрихкоды по каждой номенклатуре. Для этого мы добавляем элемент с произвольным именем (в примере barcodes), указываем для него тип данных Массив и в качестве данных указываем Запрос.

В источнике данных у нас выбираются штрихкоды по каждой номенклатуре. Выбираемое поле — Штрихкод. Именно его мы указываем в значении элемента в квадратных скобках — [Штрихкод].

Ниже показан результат выгрузки файла JSON по нашим настройкам:

Вы можете загрузить этот вариант настройки выгрузки в JSON к себе в конструктор прайс-листов и проанализировать все настройки. Ниже ссылка на скачивание. Загружайте вариант по нашей инструкции — Перенос вариантов прайс-листов между базами, резервирование вариантов.

Когда Вы полностью настроите выгрузку в нужном формате JSON Вы сможете настроить автоматическую выгрузку файла в каталог, в каталог на ftp, отправку его на эл. почту. Для этого Вам нужно перейти в настройки рассылки прайс-листов (на примере конфигурации Управление торговлей):

Ниже показан пример такой рассылки:

Мы указываем вариант прайс-листа, который должен выгружаться — в нашем случае это выгрузка в json и далее выбираем вид рассылки. Более подробно прочитать про настройку рассылки Вы можете на странице расширения.

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

Наши разработки:
Размер таблиц базы данных 1С (для файловых и серверных баз)

Размер таблиц базы данных 1С (для файловых и серверных баз)

Обработка позволяет быстро оценить размер отдельных таблиц базы данных 1С. Работа возможна как с файловой базой, так и с серверной ...
Расширенные формы списков для УТ 11, КА 2, ERP 2

Расширенные формы списков для УТ 11, КА 2, ERP 2

Расширение конфигурации дополняет возможности списка заказов, списка документов продаж, списка заказов поставщикам, списка документов закупки, списка документов отгрузки, списка заказов ...
Расширенная форма заказа клиента для УТ11, КА2, ERP2

Расширенная форма заказа клиента для УТ11, КА2, ERP2

Расширение конфигурации позволяет выводить остатки по всем необходимым складам, отображать цены номенклатуры и дополнительные колонки номенклатуры прямо в списке товаров ...
Множественные остатки товаров в заказе клиента (УТ11, КА2, ERP2)

Множественные остатки товаров в заказе клиента (УТ11, КА2, ERP2)

Расширение конфигурации дорабатывает заказ клиента - теперь в табличной части Товары Вы сможете просматривать доступные остатки по любому складу, по ...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *