Бипуим: Документация
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. Сценарий проверки
  • 4. Тестирование
  1. Примеры
  2. Автоматизации

Запрет на создание дубликатов в каталоге

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

PreviousРасчет скидок для клиентовNextАвтозаполнение данных по ИНН

Last updated 2 years ago

1. Введение

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

Почему дубликаты не нужны:

  • Засоряют каталог

  • Данные по одной сущности хранятся в нескольких записях

  • Невозможно вести отчётность

  • Логика сценариев автоматизации может быть нарушена

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

При сохранении записи сценарий по указанному полю (например, email «Контакты») ищет другие записи с тем же значением поля. Если такие записи найдутся — сценарий запретит сохранение текущей записи и выведет ошибку.

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

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

  • Имя (текст) Описание: Имя пользователя. Настройки: Текст.

  • Фамилия (текст) Описание: Фамилия пользователя. Настройки: Многострочный текст.

  • Почтовый адрес (контакт) Описание: Почтовый адрес, по нему будет определяться уникальность пользователя. Настройки: Электронная почта.

Общий принцип не зависит от конкретной реализации, и зависит от бизнес-процессов. В случае, например, с каталогом заказов это может быть сложный критерий из нескольких полей, например: ИНН + сумма + адрес.

3.1. Событие для запуска

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

3.2. Сценарий проверки

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

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

  • Поиск записей в которых указаны почты из текущей записи. Поиск производится для всех почт (осуществляется в цикле по всем почтам записи).

  • Добавление найденных записей в массив дубликатов.

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

  • Проверку массива дубликатов. Если он пуст – разрешает сохранение записи. Если нет – запрещает сохранение и выводит предупреждение.

В сценарии необходимо изменить следующие компоненты: allValues & i & records

Замените в компоненте значение переменной targetCatalogId на id каталога «Пользователи» и значение targetFiledId на id поля с почтой в этом каталоге.

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

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

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

🤖
сценарий проверки