13.09.2018, 10:24 | #1 |
Участник
|
Detect multiple duplicate records
Ребата, привет!
Бомбардирую Вас своими вопросамы, на сей раз в поле зрения попал 'Sample: Detect multiple duplicate records', что мне не ясно у меня есть список дублей, которые я получаю через Код: EntityCollection results = _serviceProxy.RetrieveMultiple(query); // check to make sure each id is found in the collection var duplicateIds = results.Entities.Select((entity) => ((DuplicateRecord)entity).BaseRecordId.Id); В общем, что пытаюсь сделать: - вызвать системное задание по поиску дублей; - найти дублирующие записи (они уже есть в duplicateIds); - найти оригинальные записи; - смерджить автоматически по определенным правилам; В настоящий момент проблема с поиском 'оригинальных записей', можно ли как-то получить эту коллекцию и как это правильно делать в духе СРМ? Последний раз редактировалось Ion; 13.09.2018 в 10:40. |
|
13.09.2018, 10:43 | #2 |
Участник
|
Не увидил что там есть нужные атрибути
X++: ColumnSet = new ColumnSet(new string[] {"baserecordid","duplicaterecordid "}) |
|
30.10.2018, 13:34 | #3 |
Участник
|
Продолжу тему
Можно ли этим же методом, отловить все дубли в системе.
может кто подскажет другой подход к реализации. Задача такова: 1. Найти все дубли ( основной аккаунт и возможные дубли); 2. Вернуть это все на фронт ( клиент хочет сам увидеть все дубли которые есть), т.к он хочет сам определить какой из аккаунтов основной а какой дубль, при этом системно нужно уже проставить возможный основной аккаунт. Визуально Я это вижу как дерево продуктов (множество групп, внутри каждой группы несколько записей аккаунтов, и 2 поля с отметками "Основной", "Дубль"). После проставления всех отметок, Клиент нажимает кнопку "Слить записи" и дальше эти все записи сливаются. Тут конечно ещё вопрос - можно ли мерджить более 2х записей. Буду благодарен за документацию или различные варианты решения данной задачи. P.S. CRM online |
|
30.10.2018, 21:08 | #4 |
Moderator
|
Добрый вечер. Зайдите в Параметры - Управление данными - Поиск дубликатов, ну или как-то так. В разделе с похожим названием будут "Задания поиска дубликатов". Это такая разновидность асинхронного процесса, которая разыщет для вас все потенциальные дубликаты в нужном представлении. Увы, интерфейс сто лет не обновлялся, поэтому может быть непригодным к использованию.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
31.10.2018, 10:48 | #5 |
Участник
|
Спасибо за информацию.
Фактически да, это то что нужно. Вот только задача стоит привести в более юзабельный вид. Как раз и задача выполнить этот Duplicate Detection Jobs - и получить данные которые он показывает в CRM. |
|
31.10.2018, 11:52 | #6 |
Moderator
|
Результаты его работы хранятся в базе в виде записей DuplicateRecord. Чисто технически, вы можете разработать свой, более удобный UI.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
31.10.2018, 12:37 | #7 |
Участник
|
Спасибо за наводку, хоть знаю куда рыть.
пока только не понятно где записи которые являются дублями=( запрос api/data/v9.0/duplicaterecords()?$expand=duplicaterecordid_account($select=name) - не дал резальтатов, почему то во всех записях duplicaterecordid = null Главную запись находит без проблема. /api/data/v9.0/duplicaterecords()?$expand=baserecordid_account($select=name) Последний раз редактировалось Otti; 31.10.2018 в 12:40. |
|
|
|