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

Тема в разделе "Lotus - Программирование", создана пользователем Dragon108, 13 сен 2011.

  1. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Задача следующая.
    Есть Представление(Условно назовем его базовым) по нему создаются представления и папки для всех пользователей системы (личные представления). Можно ли как то автоматизировать этот процесс?
    Например можно было бы брать это базовое представление, например, через db.GetView ... а как дальше? методы копирования в NotesDataBase Class и NotesView Class я не нашел(. Для создания нового представления метод есть, а для папки?
    Заранее Спасибо.
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Если речь именно о SPOFU представлениях, то они создаются самими пользователями при первом открытии. Если очень нужно создавать их кодом, создайте SPOFU-представление, откройте его в клиенте, должно создаться Ваше личное представление, внимательно исследуйте поля ("отыщите семь различий"), далее можно открывать документ представления по его unid и делать копию с соответствующей настройкой нужных полей. Однако подписать представление за пользователя не получится, к каким граблям это приведёт — спросите у Лотоса.
    Я в тех редких случаях, когда приходится создавать приватные папки, удаляю их сразу по закрытию базы пользователем — вдруг он завтра уволится?
     
  3. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    >db.GetView ... а как дальше? методы копирования в NotesDataBase Class и NotesView Class
    Если именно SPOFU (т.е. зранимая на сервере приватная вьюха), схема такая:

    Код (LotusScript):
    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 (хранимую на десктопе) создать не возможно
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Если в качестве шаблона использовать папку — получите папку.
     
Загрузка...

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