Объединение дочернего и родительского документа

Тема в разделе "Lotus - Программирование", создана пользователем Ols, 1 июн 2006.

Статус темы:
Закрыта.
  1. Ols

    Ols Гость

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

    UNID=doc.GetItemValue("$REF")(0)
    Set pdoc=db.GetDocumentByUNID(UNID)
    Call doc.CopyAllItems(pdoc,True) - но тогда со всеми полями скопируется и "REF", и еще порядочное количество полей: UpdatedBy и пр. Computed самих на себя. Это потом каждое из таких удалять RemoveItem'ом? А по другому как нибудь можно, чтоб эти Computed сами на себя не копировались? И какие еще возможны неприятные моменты при таком копировании айтемов из дочернего в родительский док.?
     
  2. Domino6

    Domino6 Гость

    1. doc.Responces - получаем коллекцию ответов
    2 Составить список итемом в ответе которые нужно копировать и переносит по одному при этом проверяя наличие в главном через hasitem
     
  3. GROMILA

    GROMILA Well-Known Member

    Регистрация:
    8 апр 2004
    Сообщения:
    297
    Симпатии:
    0
    Ну предлагаю универсальный врьянт:
    1. Делаешь копию своего документа в некий DocCopy
    2. Потом делаешь свой Call doc.CopyAllItems(pdoc,True)
    3. И перетираешь отпять из копии Call doc.CopyAllItems(DocCopy,True)

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

    Примечание: Сей вариант не подойдет, если тебе нужно значения пересекающихся полей заменить на значения их дочернего документа. В этом случае см. варьянт от Domino6

    Может чаво и не сработает :)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей