Создание представлений

Dragon108

Well-known member
19.01.2010
265
0
#1
Задача следующая.
Есть Представление(Условно назовем его базовым) по нему создаются представления и папки для всех пользователей системы (личные представления). Можно ли как то автоматизировать этот процесс?
Например можно было бы брать это базовое представление, например, через db.GetView ... а как дальше? методы копирования в NotesDataBase Class и NotesView Class я не нашел(. Для создания нового представления метод есть, а для папки?
Заранее Спасибо.
 

nvyush

Lotus team
22.04.2009
2 317
0
#2
Если речь именно о SPOFU представлениях, то они создаются самими пользователями при первом открытии. Если очень нужно создавать их кодом, создайте SPOFU-представление, откройте его в клиенте, должно создаться Ваше личное представление, внимательно исследуйте поля ("отыщите семь различий"), далее можно открывать документ представления по его unid и делать копию с соответствующей настройкой нужных полей. Однако подписать представление за пользователя не получится, к каким граблям это приведёт — спросите у Лотоса.
Я в тех редких случаях, когда приходится создавать приватные папки, удаляю их сразу по закрытию базы пользователем — вдруг он завтра уволится?
 

TIA

:-)
Lotus team
15.05.2009
790
3
#3
>db.GetView ... а как дальше? методы копирования в NotesDataBase Class и NotesView Class
Если именно SPOFU (т.е. зранимая на сервере приватная вьюха), схема такая:

Код:
viewUNID = db.GetView("...").UniversalId
Set viewTemplateNote = db.getDocumentByUNID(viewUNID)
Set newViewNote = viewTemplateNote.copyToDatabase(db)
newViewNote.ReplaceItemValue("$Readers", "<notes-имя для кого вьюха>").isSigned = True
newViewNote.ReplaceItemValue("$Flags",newViewNote.getItemValue("$Flags")(0) & "V")
newViewNote.Sign
newViewNote.Save True, False
Т.е. надо получить ноту элемента дизайна и манипулировать им как обычным документом. Главное чтоб не слетел класс ноты (вьюшка/документ/агент).
SDPOFU (хранимую на десктопе) создать не возможно