Устранение дубликатов записей справочников

Утверждено 34 6

Задача

При работе пользователей в системе DIRECTUM часто возникает ситуация, когда пользователи создают дубликат, уже имеющейся записи справочника. При этом созданная дублирующая запись может впоследствии использоваться в качестве значения для заполнения в других справочниках и карточках документов, а также отправляться в качестве вложения задач/заданий в рамках различных бизнес-процессов (аналогичная ситуация имеет место быть и при ошибочном выборе записи справочника). Учитывая все это устранение записей-дубликатов и изменение всех ссылок с целью нормализовать данные в системе становится трудоемкой задачей. Разработанный механизм призван облегчить работу администраторам системы, при решении подобных задач.

Описание решения

Настройка

При работе с решением выбирается справочник, с которым будет осуществляться работа и заполняются следующие параметры:

  • Итоговая запись. Указывается запись справочника, в которую будут сведены все дублирующие записи.
  • Удаляемые дубликаты. Указывается одна или несколько записей справочника, которые необходимо удалить.
  • Закрываемые дубликаты. Указывается одна или несколько записей справочника, которые необходимо закрыть.
  • Неизменяемые дубликаты. Указывается одна или несколько записей справочника, которые необходимо оставить без изменений.

Анализ изменений

Решение позволяет провести анализ использования в системе выбранных записей. По завершению анализа в диалоговом окне отображается список действий, которые будут выполнены по каждой записи при обработке:

Выполнение изменений

В процессе изменений выполняются следующие действия:

  1. Поиск ссылок дублирующей записи в реквизитах записей справочников и карточек документов системы и замену их на ссылки итоговой записи.
  2. Поиск ссылок дублирующей записи во вложениях задач и замену их на ссылки итоговой записи.
  3. Переопределяет связанные с дубликатом документы на итоговую запись.
  4. Выполняется действие с дублирующей записью, в соответствии с параметром, в котором он был указан:
  • Удаление дублирующей записи справочника;
  • Закрытие дублирующей записи справочника;
  • Оставить дублирующую запись без изменений.

Журнал выполнения

По завершению работы формируется отчет "Журнал выполнения", который содержит информацию о результатах:

  1. Список дублирующих записей справочника.
  2. Действия и результат их выполнения (Выполнено, Ошибка):
  • Замена ссылки в значении реквизита записи справочника (со ссылкой на запись справочника);
  • Замена ссылки во вложении задачи (со ссылкой на задачу);
  • Переопределение связанного документа (со ссылкой на документ);
  • Итоговая операция с дубликатом (Без изменений, Закрытие, Удаление).
  1. Ошибки, возникшие при работе сценария (если таковые имеются).

Результаты применения решения

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

34
Авторизуйтесь, чтобы оценить материал.
2

У вас похожая задача?

Обсудите реализацию с экспертом Directum

Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле

Благодарим за интерес! Мы свяжемся с вами.

Марина Швецова

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

 

Марина Швецова

И вот это предупреждение "Использование данного сценария для обработки записей справочника, которые указаны в качестве значений параметров в блоках ТМ, может привести к полной неработоспособности запущенных задач и заданий" - такое предупреждение любого Админа оттолкнет от использования данного сценария))).  Лучше бы уж сразу в сценарии проверить, используются ли указанные записи как значения параметров в ТМ и если уж используются, то не запускать этот сценарий - работоспособность задач и заданий для Админа важнее.

Андрей Кулагин

Решение интересное и полезное, но есть вопросы...
1. Сколько времени в среднем работает сценарий при необходимости замены ссылок, и удаления записей-дубликатов?
2. При замене ссылок в РКК обновляются ли (если "да", то каким образом?) отображаемые значения ссылочных полей? Например, была ссылка на ООО "Завод №12" ее заменили на ООО "Завод ЖБИ №12 им. Юности Комсомола". 

 

Данил Дорфман
  1. Автоматический поиск дублей  - это отдельная интересная задача, которая имеется в планах на развитие. 
  2. Согласен, предупреждение действительно стоит заменить на проверку при непосредственном запуске сценария с заданными записями.

Время работы сценария зависит от отработки событий в изменяемых записях справочников - все изменения выполняются через объектную модель. Если в событиях реквизита с отображаемым значением есть логика обновления после изменения соответствующей ссылки, то он также будет обновлен.

Андрей Миронов

Что будет сотрудниками организаций когда система пометит их как дубли?

Они останутся в старой или перенесутся в новую?

Данил Дорфман

Перенесутся в новую, т. к. ссылки будут изменены на новую организацию.

Данил Дорфман: обновлено 05.02.2018 в 12:56

Авторизуйтесь, чтобы написать комментарий