Бипуим: Документация
8-800-505-24-05Сайт Бипиум
  • 😎Отвечаем на ваши вопросы
  • 🎂Версии и обновления
  • ❗Обновление до версии 2.0
  • Документация
    • 🆕С чего начать
      • Регистрация и вход
      • Создаем каталоги и записи
      • Формируем отчёты
      • Настраиваем правовую политику
      • Применяем автоматизации
    • ⚙️Конструктор данных
      • Отделы
      • Каталоги
        • Редактирование структуры
        • Настройка отображения
        • Поиск и фильтрация
        • Импорт записей
          • 📗Импорт из Excel
        • Экспорт записей
        • Активность
      • Системные каталоги
        • Сотрудники
        • События
        • Внешние запросы
        • Сценарии
        • Процессы
        • Доступ к сервисам
        • Вебхуки
      • Виды
      • Записи
    • 📊Отчеты
      • Графики
    • 🔑Права
      • Правила
      • Привилегии
      • Правовые группы
      • Правовые виды
      • Права на поля
      • Комбинация прав
    • 🤖Автоматизации
      • События
        • Изменение данных
        • Внешние запросы
      • Сценарии
        • Компоненты
          • Начало процесса
          • Конец процесса
          • Таймер
          • Ошибка
          • Шлюз «ИЛИ» (условное ветвление)
          • Шлюз «И» (распараллеливание)
          • Получить запись
          • Найти записи
          • Изменить запись
          • Создать запись
          • Удалить запись
          • Структура каталога
          • Загрузить файл
          • Сгенерировать документ
          • Назначение переменных
          • Код (Javascript)
          • Веб-запрос
          • SQL-запрос
          • Конвертер
          • Парсер
          • Запуск процесса
          • Получение почты
          • Отправка почты
          • Соединяющая линия
          • Отправить сообщение
        • Переменные
        • Выражения
        • Входные и выходные параметры компонентов
        • Примеры настройки
          • Условие
          • Цикл
      • Ограничения
  • Лицензии
    • 🌐Тип лицензирования
  • Примеры
    • 🔑Права доступа к данным
    • 🤖Автоматизации
      • Выгрузка файлов на Яндекс Диск
      • Отправка на больничный
      • Автоматизация оплаты счетов
      • Создание наименований записей
      • Расчет скидок для клиентов
      • Запрет на создание дубликатов в каталоге
      • Автозаполнение данных по ИНН
      • Переброс данных между связанными каталогами
      • Очередь сценариев
      • Отслеживание заявок с сайта помощью UTM-меток
      • Просрочка задач по дедлайну
      • Реализация механизма согласования записей
      • Массовое изменение записей
      • Создание каталога для рассылки почты
      • Перенос данных между системами Бипиума
      • Импорт данных из Excel
      • Генерация счет-фактуры
      • Генерация excel-отчетов
      • Планировщик задач
      • Импорт банковских выписок
      • Производственный календарь
      • Складской учет
  • Интеграции
    • 🥂Методы интеграции
      • Интеграция данных
        • API
        • Вебхуки (webhooks)
      • Интеграция интерфейса
        • Веб-формы
        • Веб-расширения
      • Примеры интеграций
        • Тильда
          • Прием данных с формы Tilda
          • Интеграция веб-интерфейса в Tilda
        • Интеграция с сервисом «DaData»
        • Интеграция c «Единой информационной системой в сфере закупок»
        • Мессенджеры
          • Интеграция с Telegram-ботом
        • Почтовые сервисы
          • UniSender
          • MailChimp
        • Сервисы Google
          • Google Calendar
        • Телефония
          • Oktell
            • Панель телефонии Oktell
            • Компонент Bpium в Oktell
        • 1C
    • 🔌API
      • Данные
        • Каталоги (Catalogs)
        • Записи (Records)
        • Связи (Relations)
        • Истории (Histories)
        • Файлы (Files)
        • Отделы (Sections)
        • Виды (Views)
        • Сообщения (Messages)
      • Агрегация
        • Разложения (Values)
        • Сводка (Totals)
      • Отчеты
        • Дашборды (Boards)
        • Графики (Widgets)
      • Поисковые выборки
        • Доступные связи (AvailableRecords)
        • Доступные условия фильтра (AvailableFilterRecords)
        • Сотрудники (Users)
        • Контакты (Contacts)
      • Права (Rights)
      • Профиль (Profile/me)
  • Установка на сервер
    • 🧱Архитектура
      • Варианты разворачивания
    • 🖥️Требования
    • 📂Установка как служба
    • 🛳️Установка через Docker
    • 🎛️Мультидоменная среда
    • 🆘Материалы
      • TLS/SSL Сертификат
      • Параметры config.env
        • Для Bpium
        • Для Bpium S3
        • Для Bpium BPM
      • Запуск
      • Обсуживание
        • Активация
        • Обновление
        • Бэкап и восстановление базы
        • Брендирование (Whitelabel)
        • Удаление
      • Перенос базы из облака
      • Возможные проблемы в ходе установки и работы
  • Обучение
    • Базовый курс
      • Урок 1. Отделы
      • Урок 2. Каталоги с данными
      • Урок 3. Карточки записей
      • Урок 4. Связи между данными
      • Урок 5. Фильтры и виды
      • Урок 6. Приглашение сотрудников
      • Урок 7. Права доступа к данным
      • Урок 8. Графические отчеты
      • Урок 9. Бизнес-процессы
      • Урок 10. Интеграции
    • Технический курс
      • Урок 1. Принцип работы автоматизаций
      • Урок 2. Первая автоматизация изнутри
      • Урок 3. Валидация данных
      • Урок 4. Простые вычисления
      • Урок 5. Расчет суммы заказа
      • Урок 6. Генерация счетов/документов
      • Урок 7. Рассылка почтовых сообщений
      • Урок 8. Прием внешних данных
      • Урок 9. Отправка данных на сторонние сервисы
    • Паттерны проектирования ИС
      • Унификация
      • Упорядоченность
      • Разделение
      • Актуализация
      • Вынос параметров
      • Выделение позиций
      • Слияние
      • Дублирование
      • Типизация
      • Информирование
Powered by GitBook
On this page
  • 1. Введение
  • 2. Принцип работы
  • 3. Реализация
  • 3.1. Открытие каталога каталогов
  • 3.2. Создание каталога правил переброса
  • 3.3. События обработки каталога правил
  • 3.4. Сценарии переброса данных
  • 3.5. Сценарии обработки каталога правил
  • 4. Тестирование
  1. Примеры
  2. Автоматизации

Переброс данных между связанными каталогами

PreviousАвтозаполнение данных по ИННNextОчередь сценариев

Last updated 2 years ago

1. Введение

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

Например: у вас есть каталог «‎Контакты» с полями «‎Фамилия», «‎Имя» и «‎Отчество». Также, у вас есть каталог «‎Заявки», в котором есть связь с каталогом «‎Контакты» и точно такие же поля «‎Фамилия», «‎Имя», «‎Отчество». Вы хотите заполнять поля в «‎Заявках» автоматически и пишете для этого сценарий переброса данных из связанного каталога «‎Контакты». В случае с одним каталогом — процесс несложный, но если каталогов становится несколько, то писать под каждый отдельный сценарий — нецелесообразно.

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

В каталоге правил фиксируется целевой каталог для переброса, связанный каталог из которого (или в который) нужно дублировать значения полей и правило сопоставления полей между каталогами.

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

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

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

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

  • При изменении записи в выбранном каталоге сценарий переброса автоматически обновит запись в связанном каталоге.

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

3.1. Открытие каталога каталогов

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

Файл сценария выглядит следующим образом:

Этот сценарий открывает отображение каталога «Каталоги» в вашей системе.

В сценарии нужно изменить:

  • Компонент «Открываем каталог каталогов». В поле «Заголовки (headers)» в значении заголовка «from» укажите поддомен вашей системы. Например, для домена https://test.bpium.ru нужно указать «test».

Запустите сценарий во внешнем запросе, перейдя по полному адресу внешнего запроса.

Если все сделано правильно, в отделе «Управление» появится каталог «Каталоги» со списком всех каталогов в системе.

3.2. Создание каталога правил переброса

Создайте каталог «Правила». В этом каталоге будут собраны правила переброса значений полей между каталогами. Поля каталога нужно создавать в том же порядке, не нарушая последовательность id полей:

  • Правило (секция)

  • Каталог (Связанный каталог) Описание: Содержит каталог, для которого будет применено правило переброса. Настройки: Обязательно поле, связь с каталогом «Каталоги».

  • Направление (статус) Описание: Выборка целевого каталога для переброса: возможен переброс данных в связанную запись основного каталога или из связанного каталога в основной. Значения: «Из связанной записи», «В связанную запись». Настройки: Обязательное поле.

  • ID поля связанного каталога (текст) Описание: Содержит id поля связанного каталога в основном каталоге. Настройки: Обязательное поле.

  • Правила сопоставления полей (Контакт) Описание: Содержит сопоставление полей основного и связанного каталогов, данные из которых будут синхронизироваться. В основном поле указываются id полей связанного каталога, в дополнительном – основного. Настройки: Обязательное поле, телефон.

  • Доп. параметры (Набор галочек) Описание: Содержит дополнительные параметры синхронизации. По умолчанию параметр один - «Обновить предыдущие записи». Если он проставлен, то вместе с созданием правила синхронизации будут обновлены все предыдущие записи в целевом каталоге. Настройки: По умолчанию: первый элемент.

  • Событие (Связанный каталог) Описание: Содержит в себе созданное по правилу переброса событие. Будет проставляться автоматически при создании правила. Настройки: Связь с каталогом «События», редактируемое только через API.

3.3. События обработки каталога правил

В системном каталоге «События» нужно создать три события для каталога «Правила»:

  • Событие: Создание/обновление событий по правилу

Событие отслеживает создание/изменение записей (уведомление) в каталоге правил и запускает сценарий создания или обновления события для целевого каталога.

  • Событие: Проверка типов связанных полей

  • Событие: Проверка типа поля связанного каталога

3.4. Сценарии переброса данных

В системном каталоге «Сценарии» создайте две записи и приложите к ним файлы сценария:

Эти сценарии не связаны с событиями описанными выше. Они запускаются из создаваемого сценарием «Создание/обновление событий по правилу» (описан выше) событию. Это событие создается для целевого каталога при сохранении записи в каталоге правил.

Оба сценария идентичны по алгоритму работы, но различаются по направлению переброса данных. Первый прокидывает данные полей в целевой каталог ИЗ его связанной записи («Из связанной записи»). Второй прокидывает данные из целевого каталога В его связанную запись («В связанную запись»).

Сценарий переброса в связанную запись

Сценарий выглядит следующим образом:

Сценарий выполняет:

  • Поиск правила сопоставления полей в каталоге правил (поле «Правила сопоставления полей»)

  • Изменение значений полей в связанной записи по правилам сопоставления.

В сценарии нужно изменить:

  • В компоненте «Ищем правило дублирования полей» в поле «Каталог» выберите ваш каталог с правилами переброса.

Сценарий переброса из связанной записи

Сценарий выглядит следующим образом:

Сценарий выполняет:

  • Поиск правила сопоставления полей в каталоге правил (поле «Правила сопоставления полей»).

  • Получение значения полей связанной записи.

  • Изменение значений полей в основной записи по правилам сопоставления.

В сценарии нужно изменить:

  • В компоненте «Ищем правило дублирования полей» в поле «Каталог» выберите ваш каталог с правилами переброса.

3.5. Сценарии обработки каталога правил

3.5.1. Сценарий создания/обновления события по правилу

Сценарий выглядит следующим образом:

Сценарий выполняет:

  • Формирование списка отслеживаемых полей из поля «Правила сопоставления полей».

  • Создание для указанного в поле «Каталог» нового события с одним из сценариев переброса («Из связанной записи», «В связанную запись») или изменение существующего события.

  • Обновление предыдущих записей в каталоге, если был выбран доп. параметр «Обновить предыдущие записи».

В сценарии нужно изменить:

  • В компоненте «Изменяем событие по правилу» выберите системный каталог «События».

  • В компоненте «Создать событие для правила» выберите системный каталог «События».

  • В компонента «Зафиксировать созданное событие» выберите каталог правил.

  • В компоненте «Запуск процесса» выберите сценарий обновления предыдущих записей (описан ниже).

3.5.2. Сценарий обновления предыдущих записей

Если в каталоге правил выбран доп. параметр «Обновить предыдущие записи», то сценарий «Создания/обновления событий по правилу» запускает сценарий обновления предыдущих записей в целевом каталоге. Создайте в системном каталоге «Сценарии» новую запись и прикрепите к ней сценарий обновления предыдущих записей. Этот же сценарий нужно выбрать в компоненте «Запуск процесса» сценария, описанного выше.

Сценарий обновления предыдущих записей выглядит следующим образом:

Сценарий выполняет:

  • Получение всех записей целевого каталога.

  • Изменение данных в полученных записях по полю «Правила сопоставления полей» каталога правил.

3.5.3. Сценарий проверки типов связанных полей

Сценарий выглядит следующим образом:

Сценарий выполняет:

  • Получение структуры основного и связанного каталога.

  • Проверку типов полей в каталогах на соответствие друг другу.

  • Если типы полей не совпадают, выводит сообщение с ошибкой и не дает сохранить запись.

3.5.4. Сценарий проверки типа поля связанного каталога

Сценарий выглядит следующим образом:

Сценарий выполняет:

  • Получение структуры основного каталога.

  • Проверку типа поля с id из «ID поля связанного каталога».

  • Если тип поля не связанный каталог, то выводится сообщение с ошибкой и запись не сохраняется.

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

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

В каталоге «Правила» создайте новую запись с направлением «Из связанной записи». Выберите тестовый каталог (основной), в котором есть связь со вторым тестовым каталогом. Введите id поля типа «Связанный каталог» выбранного каталога и укажите поля, которые должны синхронизироваться в поле «Правила сопоставления полей». В основное поле введите нужные поля из связанного каталога. В дополнительное – поля основного каталога. При необходимости, отметьте доп. параметр «Обновить предыдущие записи». Пример заполнения записи в каталоге «Правила»:

Если правила сопоставления каталогов верны, то сценарий создаст новую запись в каталоге «‎События»:

При создании новой записи в целевом каталоге с выбранным связанным каталогом, значения полей связанного каталога будут переброшены в целевой каталог:

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

Если правила сопоставления каталогов верны, то сценарий изменит созданную ранее запись в каталоге «‎События»:

При изменении записи в целевом каталоге, значения полей будут переброшены в связанный каталог:

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

В качестве сценария прикрепите .

Событие отслеживает создание/изменение записей (запрос) в каталоге правил и запускает сценарий проверки типов синхронизируемых полей. Сценарий проверяет типы полей в целевом и связанном каталогах из поля «Правила сопоставления полей» на соответствие друг другу. Если поля идентичны по типу, то сценарий завершается. Если тип полей не идентичен – выбивает ошибку и не дает сохранить запись в каталоге правил. В качестве сценария прикрепите .

Событие отслеживает создание/изменение записей (запрос) в каталоге правил и запускает сценарий проверки типа поля связанного каталога. Сценарий проверяет на заполненность поля «Каталог» и «ID связанного каталога» и не дает сохранить запись, если они заполнены некорректно. В качестве сценария прикрепите .

🤖
файл сценария
сценарий создания/обновления события по правилу
сценарий проверки типов связанных полей
сценарий проверки типа поля связанного каталога
Сценарий «В связанную запись»
Сценарий «Из связанной записи»