На сегодняшний день при настройке правил поиска дублей можно использовать только строковые и справочные поля. Хотелось бы, чтобы такая возможность была и для полей с типом 'Дата'.

Была бы благодарна за поддержку этой идеи и фидбек других участников community по поводу настройки правил поиска дублей.

Поделитесь, возникала ли у Вас потребность при настройке правил поиска дублей использовать другие типы, например, 'Даты' или числа?

8 комментариев

Чтобы искать по дню рождения?

Владимир Соколов,

Да, если речь идет о контактах.

Также может быть дата подписания или дата подключения.

Алла, идея иметь возможность искать дубли по типу данных «дата» уже зафиксирована. Спасибо за проявленный интерес к развитию платформы.

Зверев Александр,

А мне в поддержке ответили, что ранее таких запросов от клиентов не поступало. Вот я и решила узнать, насколько это редкий кейс.

Алла, это достаточно редкое пожелание. Идея зафиксирована, но планов реализации в конкретных версиях пока нет.

Зверев Александр,

Знаешь, у меня сложилось ощущение, что большинство пользователей уже махнуло рукой на озвучивание своих пожеланий, которые могут быть реализованы никогда в одной из версий в 22 веке))) и каждый прикручивает свой костыль(

Алла Савельева пишет:

большинство пользователей уже махнуло рукой на озвучивание своих пожеланий

Надо продолжать. Во-первых, 22-й век наступит. Во-вторых, может быть, кто-то расскажет, как делал свой костыль :) 

Или даст ссылку на маркет, где уже есть такое дополнение. Может, даже бесплатное.

Вчера по одной пятилетней идее такое нашёл.

Показать все комментарии

Как можно реализовать правила поиска дублей для пользовательского раздела?

Нравится

1 комментарий
Лучший ответ

К сожалению, общедоступной инструкции пока нет. В руководстве для разработчика описана инструкция по добавлению новых правил поиска в уже существующем разделе  а на этом форуме обсуждались схожие запросы, например, тут. Но в общем реализация этой функциональности очень объемна и сводится к следующему:



1. Создать процесс для поиска записей в своем разделе (аналогично процессу StartGlobalContactDuplicatesSearch).

2. Для поиска необходимо создать процедуру в базе данных, аналогичную уже существующим нашим (по первой ссылке в руководстве разработчика описана последовательность создания хранимой процедуры).

3. Процедура будет записывать данные в созданный Вами объект MyObjectDuplicates (создайте объект по аналогии с объектом ContactDuplicate)

4. Необходимо создать новую страницу редактирования, которая будет отображать данные из созданного объекта MyObjectDuplicates по аналогии со страницей DuplicatesPageV2 (либо заместите DuplicatesPageV2, добавив в нее нужную логику).

 

К сожалению, общедоступной инструкции пока нет. В руководстве для разработчика описана инструкция по добавлению новых правил поиска в уже существующем разделе  а на этом форуме обсуждались схожие запросы, например, тут. Но в общем реализация этой функциональности очень объемна и сводится к следующему:



1. Создать процесс для поиска записей в своем разделе (аналогично процессу StartGlobalContactDuplicatesSearch).

2. Для поиска необходимо создать процедуру в базе данных, аналогичную уже существующим нашим (по первой ссылке в руководстве разработчика описана последовательность создания хранимой процедуры).

3. Процедура будет записывать данные в созданный Вами объект MyObjectDuplicates (создайте объект по аналогии с объектом ContactDuplicate)

4. Необходимо создать новую страницу редактирования, которая будет отображать данные из созданного объекта MyObjectDuplicates по аналогии со страницей DuplicatesPageV2 (либо заместите DuplicatesPageV2, добавив в нее нужную логику).

 

Показать все комментарии

Дорый день!

Как можно создать новое правило для поиска дублей для контрагента? Мне нужно к списку полей, по которым уже производится поиск, добавить свое поле.

Нравится

9 комментариев

Есть такой пример:


Добавление правила поиска Контрагентов по названию
Пользовательскими средствами реализовать невозможно. Однако, разработчик может создать свои правила поиска дублей по аналогии с тем, как реализованы стандартные правила на уровне базы данных (найти их можно в хранимых процедурах FindAccountDuplicate(для контрагента) и FindContactDuplicate(для контакта)).

Добавить запись в таблицу DuplicateRule:

INSERT INTO DuplicatesRule
 
(Name,
 
IsActive,
 
ObjectId)
 
VALUES
 
('Account duplicates. Account name',
 
'1',
 
'25D7C1AB-1DE0-4501-B402-02E0E5A72D6E')

1

2. Изменить хранимую процедуру tsp_FindAccountDuplicate (если правило поиска дублей для контакта, то менять tsp_FindContactDuplicate)(во вложении находится пример измененной хранимой процедуры tsp_FindAccountDuplicate):
Объявить правило AccountName, указать Id с таблици DuplicatesRule:
2

Добавить описание работы правила AccountName:
3

"Зверев Александр" написал:

Есть такой пример:

Цитата:

Добавление правила поиска Контрагентов по названию

Пользовательскими средствами реализовать невозможно. Однако, разработчик может создать свои правила поиска дублей по аналогии с тем, как реализованы стандартные правила на уровне базы данных (найти их можно в хранимых процедурах FindAccountDuplicate(для контрагента) и FindContactDuplicate(для контакта)).

Добавить запись в таблицу DuplicateRule:

INSERT INTO DuplicatesRule



(Name,



IsActive,



ObjectId)



VALUES



('Account duplicates. Account name',



'1',



'25D7C1AB-1DE0-4501-B402-02E0E5A72D6E')

1

2. Изменить хранимую процедуру tsp_FindAccountDuplicate (если правило поиска дублей для контакта, то менять tsp_FindContactDuplicate)(во вложении находится пример измененной хранимой процедуры tsp_FindAccountDuplicate):

Объявить правило AccountName, указать Id с таблици DuplicatesRule:

2

Добавить описание работы правила AccountName:

3

Прикрепленный файлРазмер

1.png
32.16 кб

2.png
46.68 кб

3.png
135.54 кб

tsp_findaccountduplicate.zip
2.45 кб


Спасибо! А это будет работать при добавлении новой записи контрагента?

Это 2 разных механизма, глобальный и локальный поиск. Эти правила — только для глобального. А для локального:


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

•При сохранении нового контрагента — по полям [Название], [Альтернативное название] и детали [Средства связи].
•При сохранении нового контакта — по полям [ФИО], [Мобильный телефон], [Домашний телефон], [Skype], [Email].

"Зверев Александр" написал:

Это 2 разных механизма, глобальный и локальный поиск. Эти правила — только для глобального. А для локального:

Цитата:

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

•При сохранении нового контрагента — по полям [Название], [Альтернативное название] и детали [Средства связи].

•При сохранении нового контакта — по полям [ФИО], [Мобильный телефон], [Домашний телефон], [Skype], [Email].

А не подскажете, как при локальном поиске добавить еще свое поле?

Возможно, нужно дорабатывать хранимку tsp_SearchForAccountDuplicates (список параметров очень похож на цитату выше). Но не факт, надо смотреть, где она вызывается в конфигурации.

Здравствуйте! Я на 3.x делаю доработки по дублям, процедуру я поменяла, в верхней таблице списка дубликатов сам список дублей хорошо отображается, изменила отображение деталей (фильтры не по равенству, а на включение (содержит ..)). Единственное что не получается - пересчитать количество дублей в верхней таблице. Буду благодарна советам ) спасибо!

Здравствуйте, Светлана!

Для того, чтобы понять в чем заключается ошибка и почему неверное считается количество дублей, запустите debugger и отладьтесь в окне мастера поиска дублирующихся записей.

Это окно в конфигурации называется wnd_ViewSearchResult.

в этом окне и меняла скрипты, не могу найти сам подсчет.. с террасофтом работаю недавно, и возможно упускаю нужный кусок, дебаггером отследить не получается, так как на момент отображения таблицы там уже есть проставленное количество.

Светлана, в этой теме обсуждается работа с дублями в 7.Х, она полностью отличается от того, что было в 3.4. Попробуйте задать свой вопрос в нужной ветке, подробно описав со скриншотами и листингами, где и что Вы меняете, что хотите получить, как работает сейчас и что в этом не устраивает.

Показать все комментарии