Новое правило для поиска дублей

Дорый день!

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

Нравится

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. Попробуйте задать свой вопрос в нужной ветке, подробно описав со скриншотами и листингами, где и что Вы меняете, что хотите получить, как работает сейчас и что в этом не устраивает.

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