2013-09-06 3 views
1

Я очень новичок в примечаниях к лотосу. Недавно мои партнеры по команде столкнулись с проблемой относительно дубликатов в Lotus Notes, как показано ниже, в случае, когда А и Б. СЛУЧАЙНайти и удалить дубликаты в базе данных Lotus Notes

enter image description here

Таким образом, мы купили приложение под названием scanEZ (Link About scanEX). Используя этот инструмент, мы можем удалить первое вхождение или второе вхождение. Как и в случае A и Case B, второй элемент считается избыточным, поскольку у них нет дочернего элемента. Таким образом, мы можем удалить весь второй элемент, как указано ниже, и, таким образом, удалить дубликаты. enter image description here Но в случае 3 заказ меняется, на первом месте находится дочерний элемент, а на родительские позиции - второй, поэтому я не могу использовать приложение scanEX.

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

Заранее спасибо.

ответ

4

Возможно, самый простой способ приблизиться к этому - заставить экран всегда отображать документы с детьми в первую очередь. Таким образом, инструмент, который вы приобрели, будет вести себя последовательно для вас. Вы сделали бы это, добавив скрытый отсортированный столбец справа от столбца, который вы обвели. Формула в этом столбце будет @DocChildren, а параметры сортировки для столбца будут установлены на «Descending». (Обратите внимание, что если вам неудобно вносить изменения в это представление, вы можете сделать его копию, внести изменения в копию и запустить ScanEZ против копии. Также вы можете сделать все это в локальной реплике базу данных и только повторить ее обратно на сервер, когда вы удовлетворены тем, что у вас есть правильные результаты.)

Другой способ - написать собственный код в LotusScript или Java, используя классы Notes. Есть много разных способов, которыми вы могли бы написать этот код:

1

Я согласен с ответом Ричарда. Если вы хотите получить более подробную информацию о том, как пройти через коллекцию документов, вы можете изолировать документы в представлении, которое отображает только дубликаты. Затем напишите агент, чтобы посмотреть UNID документа, дату изменения и другие такие элементы данных, чтобы гарантировать, что вы получаете последний обновленный документ. Я бы добавил поле в документ, как в FLAG = 'keep'. Затем удалите документы, у которых нет флага в документе со вторым агентом. Если вы примете такой подход, вы можете часто использовать одни и те же агенты в других базах данных.

Поскольку вы новичок в Notes, имейте в виду, что Notes - это база данных документов. Существует несколько различных конфликтов, таких как сохранение конфликтов или конфликтов репликации. Также вам нужно посмотреть настройки базы данных о том, как можно обрабатывать дубликаты. Я бы прочитал эти темы, чтобы вы могли объяснить это своим коллегам/руководителям проектов.

В конечном счете, в ваших сильно загруженных базах данных вы сможете автоматизировать этот процесс после того, как будете работать с источником дубликатов.

1

Это явно не дубликаты.

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

То, что вы не указали, - это то, что вы хотите сделать, если несколько документов со сходными датами/предметами имеют детей (случай D, если вы это сделаете).

Для меня это выглядит как три отдельные проблемы.

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

Подход в каждом случае будет другим. Статья из Итиры действительно охватывает последний из этих случаев.

Смежные вопросы