Универсальная выгрузка товаров в формате 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 в расширении полностью универсальный и Вы сможете настроить его под произвольные задачи. Если у Вас остались вопросы — задайте их в чате на этой странице или обращайтесь по телефону, указанному в контактах.

Наши разработки:
Взаиморасчеты с поставщиками (УТ11, КА2, ERP2)

Взаиморасчеты с поставщиками (УТ11, КА2, ERP2)

Расширение отображает состояние взаиморасчетов с поставщиком в документах "Заказ поставщику" и "Приобретение товаров и услуг".  Информация отображается в виде гиперссылки, ...
Розница: Остатки товаров в заказе покупателя

Розница: Остатки товаров в заказе покупателя

Расширение конфигурации добавит колонки остатков в табличной части "Товары". Теперь при открытии заказа покупателя или при добавлении товаров Вы всегда ...
Бухгалтерия 3.0: Расширенная форма списка номенклатуры

Бухгалтерия 3.0: Расширенная форма списка номенклатуры

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

Модуль обмена с SendPulse (УТ11, КА2, ERP2)

Расширение конфигурации позволяет выполнять автоматический обмен между 1С и SendPulse и совместимо с актуальными конфигурациями Управление торговлей 11, ERP Управление ...

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

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