Links
Comment on page

Массовое изменение записей

Автоматическое изменение записей в каталоге.

Введение

Компонент «Найти записи» в Бипиуме имеет ограничение на максимальное число возвращаемых записей. Максимальное число записей компонента - 1000. Для того, чтобы обойти это ограничение используется механизм массового изменение записей. Примеры использования:
  • В каталоге с более чем 1000 записями было добавлено новое поле. Это поле нужно заполнить фиксированным значением во всех записях. Например, в каталоге «Клиенты» проставить статус активности значением «Да».
  • В каталоге нужно изменить часть записей по фильтру. Количество отфильтрованных записей больше 1000. Например, в каталоге «Клиенты» больше 1000 записей с датой последней активности более года назад. Нужно проставить статус активности значением «Нет».
Сценарий массового изменения перебирает все записи в каталоге и изменяет значение требуемых полей.

2. Принцип работы

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

3. Реализация

3.1. Настройка структуры данных

Создание сценария изменения записей

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

Создание внешнего запроса для сценария

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

3.2. Настройка сценария автоматизации

Сценарий для массового изменения записей выглядит следующим образом:
Сценарий выполняет:
  • Циклическую выборку из limit записей нужного каталога компонентом «Получение пачки записей». limit - число записей в одной выборке, задается в компоненте «more & limit & offset» (макс. значение limit - 1000).
  • По записям выбранным компонентом «Получение пачки записей» запускается цикл. В цикле по записям из «пачки» для каждой записи изменяется значение требуемого поля компонентом «Изменение i-ой записи в пачке».
  • После изменения всех записей из полученной «пачки» (с limit записей) внешний цикл по «пачкам» записей получает новую «пачку» и процесс повторяется до исчерпания всех записей в каталоге.
Подробнее о цикле в сценариях.
В сценарии необходимо отредактировать выделенные компоненты, согласно описанию внутри каждого из них. Компоненты, которые необходимо отредактировать:
  • Получение пачки записей
  • Изменение i-ой записи в пачке
В каждом из компонентов нужно указать каталог для изменения записей. В компоненте «Получение пачки записей» можно указать фильтры для выборки «пачки» записей.

3.3. Запуск сценария из внешнего запроса

Для запуска сценария во внешнем запросе используется HTTP-клиент Postman. Для запуска сценария необходимо отправить асинхронный GET запрос на адрес внешнего запроса, созданного ранее. Пример создания запроса представлен на скриншоте ниже:
Вместо «your» впишите свой домен системы на Бипиуме. После отправки запроса запустится сценарий массового изменения записей в каталоге. Отслеживать статус работы сценария можно из системного каталога «Процессы».

4. Тестирование

4.1. Настройка структуры данных

Создание целевого каталога для тестирования

Для тестирования процесса массового изменения записи создайте в системе новый тестовый каталог и заполните его следующим образом. Поля создавать нужно в том же порядке:
  • Текстовое поле (Текст) Описание: Поле для хранения произвольного текста. Настройки: Текст.
  • Число (Число) Описание: Поле для хранения произвольного числа.
  • Дата (Дата) Описание: Поле для хранения произвольной даты.
  • Статус (Статус) Описание: Поле с произвольными статусами. Настройка значения: Раз, Два, Три.
  • Файл (Файл) Описание: Поле для хранения произвольного файла.

Создание сценария заполнения каталога

В системном каталоге «Сценарии» создайте новую запись и заполните карточку следующим образом:
В качестве файла сценария приложите следующий файл.

Создание внешнего запроса для сценария заполнения каталога

В системном каталоге «Внешние запросы» создайте новую запись и заполните ее следующим образом:
В качестве сценария запроса выберите созданный на предыдущем шаге сценария заполнения каталога.

4.2. Настройка сценария заполнения каталога

Сценарий для заполнения каталога выглядит следующим образом:
Сценарий выполняет:
  • Создание length тестовых записей в каталоге тестирования. По умолчанию: length=1200. Изменить количество создаваемых записей можно в переменной length компонента «‎i».
В сценарии необходимо отредактировать выделенный компонент «Создать запись». В поле «Каталог» карточки компонента необходимо выбрать созданный ранее тестовый каталог «Массовое изменение записей».

4.3. Запуск сценариев

Запуск сценария заполнения каталога

Для запуска сценария заполнения каталога через HTTP-клиент Postman отправьте следующий запрос:
Вместо «your» впишите домен вашей системы на Бипиуме. Статус работы сценария можно отслеживать из системного каталога «Процессы».
В процессе работы сценария в тестовом каталоге будут постепенно создаваться 1200 тестовых записей. Результаты работы представлены ниже:

Запуск сценария массового изменения записей

Для запуска сценария массового изменения записей в каталоге через HTTP-клиент Postman отправьте следующий запрос:
Вместо «your» впишите домен своей системы на Бипиуме. Статус работы сценария можно отслеживать из системного каталога «Процессы».

4.4. Результат

В результате работы сценария во все файлы каталога был добавлен файл в соответствующее поле. Результат работы представлен на скриншоте ниже: