Условия выгрузки: как не отправлять лишние данные в экспорт

Как настроить условия выгрузки в таблицах, JSON и XML: не отправлять пустые поля, отдельные узлы или целые элементы.

Условия выгрузки определяют, попадет ли выбранная часть данных в итоговый экспорт.

Например, можно не отправлять пустое описание, убрать из XML пустой тег или не выгружать строку таблицы без артикула.

Где открыть условия выгрузки

Где работаетеКак открытьЧто будет проверяться
ТаблицаОткройте настройки нужной колонки.Условие проверяет значение в строке. Если проверка не проходит, строка не попадает в экспорт.
JSONКликните по нужному ключу или значению в JSON-редакторе.Условие проверяет выбранный ключ или значение. Ниже можно выбрать: удалить только этот узел или весь родительский элемент.
XMLКликните по нужному тегу, атрибуту или значению в XML-редакторе.Условие проверяет выбранную часть XML. Ниже можно выбрать: удалить только этот узел или весь XML-элемент.

Что выбрать: «Для узла» или «Для элемента целиком»

В JSON и XML в блоке условий есть выбор области. Он нужен, чтобы решить, какую часть данных убрать из экспорта, если условие не выполнено.

  • Для узла — убрать только выбранный ключ, тег, атрибут или значение. Остальная запись остается в экспорте.
  • Для элемента целиком — убрать весь элемент, к которому относится выбранная часть. Это нужно, когда пустое или неподходящее значение делает всю запись ненужной.
  • В таблицах такого выбора нет: условие выгрузки всегда работает для строки целиком.
Выбор Для узла и Для элемента целиком в условиях выгрузки XML
В XML-редакторе в блоке Условия выгрузки можно выбрать, что убрать из экспорта: только выбранный узел или элемент целиком.

Что задается в условии

НастройкаЧто означает
Источник проверкиТекущее значение, другой узел XML/JSON, соседняя колонка таблицы или системное значение.
Момент проверкиДо преобразований или после преобразований. Если значение сначала очищается или считается, обычно выбирают проверку после преобразований.
ОператорПустое, не пустое, равно, больше, содержит подстроку, регулярное выражение и другие проверки.

Примеры результата

JSON: убрать пустой ключ description

Условие задано в настройках значения description: Текущее значение, до преобразований, не пустое. Значение пустое, поэтому ключ description не попадает в результат целиком.

Входит

JSON
{
  "sku": "SKU-1001",
  "name": "Куртка",
  "description": ""
}

На экспорте

JSON
{
  "sku": "SKU-1001",
  "name": "Куртка"
}

XML: убрать пустой элемент description

Условие задано на элементе description: Текущее значение, до преобразований, не пустое. Значение пустое, поэтому тег <description> удаляется из результата целиком.

Входит

XML
<?xml version="1.0" encoding="UTF-8"?>
<offer>
  <sku>SKU-1001</sku>
  <name>Куртка</name>
  <description></description>
</offer>

На экспорте

XML
<?xml version="1.0" encoding="UTF-8"?>
<offer>
  <sku>SKU-1001</sku>
  <name>Куртка</name>
</offer>

Таблица: не выгружать строку с пустым обязательным полем

В настройках колонки sku задайте условие не пустое. Если sku пустой, в результат не попадет вся строка.

skunameЧто будет на экспорте
SKU-1001JacketСтрока выгружается.
No SKU itemСтрока не выгружается.

Чем это отличается от действия в преобразованиях

В правилах преобразований есть группа Управление выгрузкой. Это действие меняет обработку выбранного значения; оно не решает, убирать ли строку таблицы, JSON-узел или XML-элемент из экспорта.

Группа Управление выгрузкой в списке действий преобразования
Если нужно убрать из результата узел, элемент или строку целиком, используйте блок Условия выгрузки, а не действие внутри преобразования.
  • Не загружать поле применяется как действие правила для текущего значения. Оно может очистить или не передать значение, но не удаляет строку или родительский объект целиком.
  • Пропустить пропускает текущее правило преобразования и продолжает цепочку дальше.
  • Для удаления текущего JSON-узла, XML-элемента или строки таблицы используйте блок Условия выгрузки.

Как выбрать механизм

ЗадачаЧто использовать
Убрать пустой ключ из JSONУсловие выгрузки на этом JSON-значении: не пустое.
Убрать пустой тег из XMLУсловие выгрузки на этом XML-элементе: не пустое.
Убрать строку таблицы с пустым SKUУсловие выгрузки в настройках колонки sku: не пустое.
Только изменить значение поляПравило в блоке Преобразования.