При работе с большим количеством клиентов возникает необходимость обеспечить их уникальность в системе, то есть исключить появление дублей.
Рассмотрим пример раздела для работы с клиентами в ELMA365.
После того как менеджер по продажам завершил обработку потенциального клиента, он конвертирует его в контрагента.
На данном этапе менеджер указывает ИНН контрагента.
В бизнес-процессе установлен шлюз, в настройках которого добавлена служебная переменная (тип выбор Да/Нет) и сценарий. Сценарий проверяет, есть ли среди существующих элементов приложения контрагент с таким ИНН.
Текст сценария:
Код:
// Проверка на наличие дублей контрагента
async function isDuplicate(): Promise {
// Ищем по всем элементам приложения "Контрагенты"
const count = await Namespace.app.clients.search()
.where(f => f.inn.eq(Context.data.inn!))
.count();
return count > 0;
}
Сценарий осуществляет поиск по всем элементам приложения «Контрагент», в которых ИНН совпадает с тем, который указал менеджер. Затем, если такие совпадения найдены, сценарий записывает значение «Да» (true) в служебную переменную. В противном случае, переменной присваивается значение «Нет» (false).
После выполнения сценария процесс идет по одному из переходов, в зависимости от значения служебной переменной: либо автоматически создается контрагент и статус потенциального клиента меняется на «Обработан», либо отправляется уведомление, что такой контрагент уже существует.