Восстановление дочерних документов

Тема в разделе "Lotus - Программирование", создана пользователем PavelT100, 6 май 2008.

  1. PavelT100

    PavelT100 Well-Known Member

    Регистрация:
    9 июл 2007
    Сообщения:
    105
    Симпатии:
    0
    LN 7.0.3
    В результате каких-то глюков пропал документ. У него были дочерние. Они в базе остались. Вручную восстановили этот документ, но теперь у него, естесственно, другой UNID. Как лучше всего восстановить теперь связи с дочерними документами ?
    Можно ли скриптом менять $REF у дочерних документов, корректно ли это будет ?
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    PavelT100
    можно, это всего лиш текстовое поле

    а взять эти доки можно просто наядя ( NotesDatabase.Search ) документы с нужным унидом в поле REF
     
  3. Sandr

    Sandr Гость

    найти документы скриптом и сделать их респонсами к другому через мейкреспонс.

    реф - это не просто текстовое поле...
     
  4. PavelT100

    PavelT100 Well-Known Member

    Регистрация:
    9 июл 2007
    Сообщения:
    105
    Симпатии:
    0
    Поиск документов у меня пока проблем не вызывает.
    А вот мои эксперименты показывают, что это увы не текстовое поле, в свойствах документа на типе поля $REF написано Response.
    После того как я пишу примерно так
    [codebox] ....
    Set item = doc.ReplaceItemValue( "$REF", "F95820C40:F84E7C3C-NC3257441:002D1E17" )
    Call doc.Save( True, True )
    .....[/codebox]
    это поле действительно становится текстовым, что видимо, не то что я хочу на самом деле и естественно связи между доекментами не возникает, во вью не видно этого документа как дочернего. Можно как то это побороть ?

    А спасибо, сейчас и попробую.
     
  5. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    вижу, был неправ
     
  6. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    как вариант, можно поменять юнид родителя..
     
  7. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Ручной метод: скопировать документы в буфер обмена, поставить курсор в представлении на нужном документе(родителе) и вставить. :)
     
  8. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Ну или всех найти и сделать .MakeResponse(NewParent)
     
  9. PavelT100

    PavelT100 Well-Known Member

    Регистрация:
    9 июл 2007
    Сообщения:
    105
    Симпатии:
    0
    А как это можно сделать ?
     
  10. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Это не ПРОСТО текстовое поле, тип у него другой. Текстовую ссылку можно юзать в формулах типа @GetDocField($REF; "fieldName"), но в UI она работать не будет


    Можно. Есть такой метод doc.MakeResponse parent

    Но можно зайти и с другой стороны: восстановить "родителя" с заданным UNID-ом!

    О.. Опоздал
     
Загрузка...
Похожие Темы - Восстановление дочерних документов
  1. 1KIA
    Ответов:
    6
    Просмотров:
    342
  2. ViktorErshev
    Ответов:
    1
    Просмотров:
    846
  3. Fillya
    Ответов:
    1
    Просмотров:
    1.488
  4. andre38816
    Ответов:
    0
    Просмотров:
    1.021
  5. OksanaS
    Ответов:
    4
    Просмотров:
    1.495

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