Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Восстановление дочерних документов
PavelT100
Вставить ник
сообщение 6:05:2008, 14:28
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 43
Регистрация: 9:07:2007
Пользователь №: 11 761



Репутация: - 1 +


LN 7.0.3
В результате каких-то глюков пропал документ. У него были дочерние. Они в базе остались. Вручную восстановили этот документ, но теперь у него, естесственно, другой UNID. Как лучше всего восстановить теперь связи с дочерними документами ?
Можно ли скриптом менять $REF у дочерних документов, корректно ли это будет ?
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 9)
Morpheus
Вставить ник
сообщение 6:05:2008, 14:32
Цитата Ответить 


очень злой модератор
*****

Группа: Lotus team
Сообщений: 2 665
Регистрация: 7:08:2006
Из: Украина, Киев
Пользователь №: 5 807
Специализация: разработчик всякой хрени



Репутация: - 46 +


PavelT100
можно, это всего лиш текстовое поле

а взять эти доки можно просто наядя ( NotesDatabase.Search ) документы с нужным унидом в поле REF
Подняться вверх 
 
Сообщение #2
Sandr
Вставить ник
сообщение 6:05:2008, 15:11
Цитата Ответить 


Зачем это?
*****

Группа: Lotus team
Сообщений: 1 035
Регистрация: 23:07:2007
Пользователь №: 11 970
Специализация: Lotus программер



Репутация: - 35 +


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

реф - это не просто текстовое поле...
Подняться вверх 
 
Сообщение #3
PavelT100
Вставить ник
сообщение 6:05:2008, 15:13
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 43
Регистрация: 9:07:2007
Пользователь №: 11 761



Репутация: - 1 +


Цитата(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 ) *
найти документы скриптом и сделать их респонсами к другому через мейкреспонс.

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

А спасибо, сейчас и попробую.
Подняться вверх 
 
Сообщение #4
Morpheus
Вставить ник
сообщение 6:05:2008, 15:18
Цитата Ответить 


очень злой модератор
*****

Группа: Lotus team
Сообщений: 2 665
Регистрация: 7:08:2006
Из: Украина, Киев
Пользователь №: 5 807
Специализация: разработчик всякой хрени



Репутация: - 46 +


Цитата(Sandr @ 6:05:2008 - 17:11) *
реф - это не просто текстовое поле...

вижу, был неправ
Подняться вверх 
 
Сообщение #5
Kee_Keekkenen
Вставить ник
сообщение 6:05:2008, 16:27
Цитата Ответить 


Гуру
***

Группа: Достойный программист
Сообщений: 308
Регистрация: 5:09:2006
Пользователь №: 6 344
Специализация: lotus программист



Репутация: - 5 +


как вариант, можно поменять юнид родителя..
Подняться вверх 
 
Сообщение #6
Medevic
Вставить ник
сообщение 7:05:2008, 05:01
Цитата Ответить 


Что это ? :)
*****

Группа: Lotus team
Сообщений: 2 126
Регистрация: 10:12:2004
Из: Россия, Калуга
Пользователь №: 1 144



Репутация: - 71 +


Ручной метод: скопировать документы в буфер обмена, поставить курсор в представлении на нужном документе(родителе) и вставить. smile.gif
Подняться вверх 
 
Сообщение #7
Omh
Вставить ник
сообщение 7:05:2008, 06:19
Цитата Ответить 


Кто здесь?
****

Группа: Достойный программист
Сообщений: 710
Регистрация: 4:07:2007
Из: Латвиджа, Рига
Пользователь №: 11 685
Специализация: Специализация:



Репутация: - 28 +


Ну или всех найти и сделать .MakeResponse(NewParent)
Подняться вверх 
 
Сообщение #8
PavelT100
Вставить ник
сообщение 7:05:2008, 06:51
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 43
Регистрация: 9:07:2007
Пользователь №: 11 761



Репутация: - 1 +


Цитата(Kee_Keekkenen @ 6:05:2008, 18:27 ) *
как вариант, можно поменять юнид родителя..

А как это можно сделать ?
Подняться вверх 
 
Сообщение #9
Constantin A Che...
Вставить ник
сообщение 9:05:2008, 16:20
Цитата Ответить 


Мегагуру
****

Группа: Достойный программист
Сообщений: 728
Регистрация: 30:05:2006
Из: Жуковский МО, Россия
Пользователь №: 4 485
Специализация: программист, Lotus Notes



Репутация: - 9 +


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

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


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

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

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

О.. Опоздал

Сообщение отредактировал Constantin A Chervonenko - 9:05:2008, 16:21
Подняться вверх 
 
Сообщение #10


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись
   

 

RSS Текстовая версия Сейчас: 16:05:2008 - 17:25
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net