Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Восстановление дочерних документов
Форум программистов > Базы данных и администрирование > Lotus > Lotus - Программирование
PavelT100
LN 7.0.3
В результате каких-то глюков пропал документ. У него были дочерние. Они в базе остались. Вручную восстановили этот документ, но теперь у него, естесственно, другой UNID. Как лучше всего восстановить теперь связи с дочерними документами ?
Можно ли скриптом менять $REF у дочерних документов, корректно ли это будет ?
Morpheus
PavelT100
можно, это всего лиш текстовое поле

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

реф - это не просто текстовое поле...
PavelT100
Цитата(Morpheus @ 6:05:2008, 16:32 ) *
PavelT100
можно, это всего лиш текстовое поле

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

Поиск документов у меня пока проблем не вызывает.
А вот мои эксперименты показывают, что это увы не текстовое поле, в свойствах документа на типе поля $REF написано Response.
После того как я пишу примерно так
CODE
....
Set item = doc.ReplaceItemValue( "$REF", "F95820C40:F84E7C3C-NC3257441:002D1E17" )
Call doc.Save( True, True )
.....

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

Цитата(Sandr @ 6:05:2008, 17:11 ) *
найти документы скриптом и сделать их респонсами к другому через мейкреспонс.

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

А спасибо, сейчас и попробую.
Morpheus
Цитата(Sandr @ 6:05:2008 - 17:11) *
реф - это не просто текстовое поле...

вижу, был неправ
Kee_Keekkenen
как вариант, можно поменять юнид родителя..
Medevic
Ручной метод: скопировать документы в буфер обмена, поставить курсор в представлении на нужном документе(родителе) и вставить. smile.gif
Omh
Ну или всех найти и сделать .MakeResponse(NewParent)
PavelT100
Цитата(Kee_Keekkenen @ 6:05:2008, 18:27 ) *
как вариант, можно поменять юнид родителя..

А как это можно сделать ?
Constantin A Chervonenko
Цитата(Morpheus @ 6:05:2008, 17:32 ) *
PavelT100
можно, это всего лиш текстовое поле

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


Цитата(PavelT100 @ 6:05:2008, 17:28 ) *
Можно ли скриптом менять $REF у дочерних документов, корректно ли это будет ?

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

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

О.. Опоздал
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.