Здравствуйте. Подскажите, пожалуйста, новичку. Стоит задача обеспечить уникальность контрагентов. Используется ELMA-CE. В базе знаний есть статья Исключение дублирования контрагентов, согласно которой в Дизайнере был заведён Объект Перехватчик и создан в нём сценарий. В статье пишется, что данный метод работает и при создании нового объекта, и при изменении существующего. Пробую завести нового контрагента с ИНН, который уже есть у существующего контрагента в базе и он спокойно создаётся! Таким образом в базе теперь есть два контрагента с одинаковыми ИНН. Т.е. при создании нового контрагента проверка на уникальность не сработала. Но при этом, если вносить какие-либо изменения в контрагенте, то проверка на уникальность работает. Нельзя установить контрагенту ИНН, который уже есть у другого в базе. Так же проводится проверка при удалении. Если попробовать удалить только что созданного контрагента с не уникальным ИНН, то выдаст ошибку и удалить его можно только после изменения ИНН на уникальный. Получается, что данный сценарий не работает при создании нового контрагента и работает только при изменении существующего, что противоречит написанному в указанной в статье. Подскажите, где и что я делаю не так?
В базе знаний описан только метод OnPreUpdate, который срабатывает только при изменении объектов, для отлавливания события создания объекта нужно реализовать метод OnPreInsert. В нем вы сможете отлавливать дубликаты, до создания контрагента. А вообще в ELMA появилась функциональность автоматического определения дубликатов, но работает только с возможностями, но возможно вам это решение подойдет, подробнее можно почитать в справке: https://www.elma-bpm.ru/KB/help/RU/Platform/content/Admin_duplicates_scoring_table_settings_index.html