Добро пожаловать в мой блог! Изначально он не задумывался как блог CRM разработчика, но жизнь сама внесла нужные коррективы. Тут я публикою все свои наблюдения относительно обозначенных в заголовке систем. Если Вы найдете в нем что-то интересное для Вас, как для заказчика, то буду рад сотрудничать с Вами! В моей компетенции 100% задач по MS CRM 3.0/4.0/2011:
MVP 2010, 2011
- Консалтинг
- Проектирование
- Разработка
- Обучение
MVP 2010, 2011
Правила поиска дубликатов (Duplicate Detection Rules) CRM 2011. Как это работает и почему правила иногда автоматически становятся черновиками?
Запись от Артем Enot Грунин размещена 11.03.2013 в 19:41
Теги bug, customization, duplicate, маразм
На одном из моих прошлых проектов пользователи и администраторы периодически жаловались на то что правила поиска дубликатов иногда откатываются в черновики (отменяется их публикация).
По традиции в этом винили глючный асинхронный сервис, и я даже не уделял время этой проблеме. В этот раз, когда она стала преследовать меня в новом проекте, мне пришлось с ней разобраться. Слава гуглю, неизвестная мне девушка знает причину: Duplicate Detection Rules Automatically Unpublished.
К сожалению, мне не удалось найти информацию об этом поведении в официальных источниках, однако объяснение выглядит вполне логичным: проверки отключаются, если происходит изменение метаданных объекта. Например, при публикации новой версии решения. Технически, изменение метаданных может сломать правила, например, если поле было удалено, поэтому правило следует отключать. Думаю это не было бы проблемой, если бы правила были частью решения, но покуда это не так, за целостностью должен следить администратор.
Итак, полезные знания о системе поиска дубликатов:
Аналогичным образом можно изменить настройки, если вы точно знаете что делаете.
Удачи в борьбе с дубликатами!
По традиции в этом винили глючный асинхронный сервис, и я даже не уделял время этой проблеме. В этот раз, когда она стала преследовать меня в новом проекте, мне пришлось с ней разобраться. Слава гуглю, неизвестная мне девушка знает причину: Duplicate Detection Rules Automatically Unpublished.
К сожалению, мне не удалось найти информацию об этом поведении в официальных источниках, однако объяснение выглядит вполне логичным: проверки отключаются, если происходит изменение метаданных объекта. Например, при публикации новой версии решения. Технически, изменение метаданных может сломать правила, например, если поле было удалено, поэтому правило следует отключать. Думаю это не было бы проблемой, если бы правила были частью решения, но покуда это не так, за целостностью должен следить администратор.
Итак, полезные знания о системе поиска дубликатов:
- Поиск дубликатов не работает с данными напрямую. Вместо этого система формирует коды соответствий MatchCode для каждой записи. При создании/изменении записи дубликат ищется по коду, а не по полям данных.
- Поиск дубликатов работает не в реальном времени. Коды соответствий обновляются асинхронным заданием.
- Сто процентное срабатывание защиты от дубликатов не гарантируется. Несмотря на то что код соответствия записи (очевидно) формируется при создании записи (или при изменении), в базе он при этом не обновляется. В результате дубликат может успеть проскочить между запусками задания обновления кодов (если успеть создать дубликаты в течении ~ полутора минут). Позже, при попытке обновить запись защита сработает.
- Опубликованные правила автоматически становятся черновиками, если происходят изменения метаданных объекта.
- Число правил применимых к одной сущности, частота обновления кодов соответствия и др. параметры могут быть настроены. За этот блок опций отвечает DeploymentService и объект DupSettings. Посмотреть текущие настройки можно при помощи командлета PowerShell:
X++:
PS C:\Users\crmadmin> Add-PSSnapin Microsoft.Crm.PowerShell PS C:\Users\crmadmin> Get-CrmSetting DupSettings
Удачи в борьбе с дубликатами!
Всего комментариев 0