CRM роботы 2.0 + AI (300+ роботов)

Разобрать CSV по схеме колонок

Робот «Разобрать CSV по схеме колонок» разбирает CSV с кавычками и переносами строк, сохраняя типы и ошибки отдельных записей.

Настройки робота «Разобрать CSV по схеме колонок» в Битрикс24

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.

Для кого и какую задачу решает

Сотруднику, который получает табличные данные от поставщика, и администратору процесса, преобразующего строки CSV в подготовленный набор записей.

Ошибочная строка не должна незаметно превращать количество в текст. Робот проверяет колонки по явной схеме, возвращает корректные записи отдельно и перечисляет ошибки. Это позволяет отправить проблемные строки на исправление, сохранив понимание, какие данные уже разобраны.

Параметры и подготовка

Поле Как заполнить
Текст CSV (CSV) Необязательное поле
Колонки JSON (COLUMNS) Обязательное поле
Разделитель (DELIMITER) Обязательное поле. по умолчанию ,
Первая запись: заголовок (HEADER) Обязательное поле. по умолчанию Y. Да (Y); Нет (N)

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

Как использовать

  1. Вставьте исходный текст CSV. Укажите разделитель: по умолчанию запятая, для файла с точкой с запятой задайте ;.
  2. Опишите колонки массивом объектов с name, type и при необходимости nullable. Порядок имён должен совпасть с порядком CSV.
  3. Если первая запись содержит заголовок, оставьте HEADER=Y. Заголовок должен точно совпасть с именами схемы. Для файла без заголовка явно выберите N.
  4. Проверьте статус, затем «Все записи корректны». При отрицательном признаке используйте список ошибок и не считайте возвращённый набор полной выгрузкой.

Как заполнить JSON-поля

Колонки JSON (COLUMNS)

[
  {
    "name": "sku",
    "type": "string"
  },
  {
    "name": "qty",
    "type": "number",
    "nullable": true
  }
]

От 1 до 50 колонок с уникальным name. type: string/number/integer/boolean, по умолчанию string. nullable логический, по умолчанию false. Имена и порядок должны совпасть с заголовком CSV; [] недопустим.

Это массив: внешние квадратные скобки обязательны. Пустой массив [] отличается от объекта {}; возможность пустого списка определяется правилами этого поля, описанными ниже.

Учебный пример и ожидаемый результат

Колонки: [{"name":"sku","type":"string"},{"name":"qty","type":"number"}]. CSV содержит заголовок sku,qty и следующую строку A,2.5. При разделителе , и HEADER=Y ожидается одна корректная запись с артикулом A и числовым количеством 2.5. Строка B,ошибка будет пропущена и отражена в errorsJson.

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

Что возвращает и как продолжить процесс

  • «Корректные записи JSON» (recordsJson).
  • «Корректных записей» (count).
  • «Все записи корректны» (valid).
  • «Ошибки записей JSON» (errorsJson).
  • «Список ошибок ограничен» (errorsTruncated).

«Корректных записей» показывает только принятые строки. Содержательный признак корректности выключается, если хотя бы одна запись не прошла проверку. «Список ошибок ограничен» предупреждает о неполном перечне проблем, а не о полном завершении исправлений.

Выход «Статус выполнения» проверяйте перед передачей результата дальше. При отрицательном статусе прочитайте «Пояснение ошибки» и направьте процесс на исправление исходных данных. Успешный статус подтверждает выполнение действия; содержательные признаки результата проверяйте отдельно.

Ограничения и разбор ошибок

Колонки: [{"name":"sku","type":"string"},{"name":"qty","type":"number","nullable":true}]. Типы string, number, integer, boolean; по умолчанию string и nullable=false. Заголовок по умолчанию включен и должен точно совпасть с именами колонок. Пустой CSV дает пустой результат; пустые физические записи пропускаются. Пустая ячейка при nullable=true дает null; числа с точкой, boolean: true/false. До 1 МБ, 1000 записей, 50 колонок, 100000 символов в ячейке, 100 ошибок. Плохая запись пропускается и возвращается в errorsJson; valid=N.

Пустая ячейка превращается в null только при nullable=true. Для boolean используйте true/false. Неверные кавычки могут прервать разбор целиком; исправьте формат CSV в источнике. Робот возвращает данные и не создаёт товары или сделки.