Программное Удаление Личного Вида Для Пересоздания

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

  1. Mikle77

    Mikle77 Well-Known Member

    Регистрация:
    19 дек 2007
    Сообщения:
    81
    Симпатии:
    0
    Добрый день Всем !

    Lotus 7.02

    Проблема что в видах в которых пользователи смотрят свои документы (фильтр на условие только документы текущего пользователя) не все документы отображаются. Т.е. плохо обновляется вид.

    Это виды типа Общие-частные при первом использовании.

    НО если пользователь через меню - Действия-Вид- удалить вид удалит такой вид то сразу вид сам пересоздается и в нем все корректно обновлено и все документы присутствуют.


    Как сделать так что бы такие виды корректно обновлялись ?

    Может как вариант сделать кнопку в виде пользователям "Обновить вид" - по которой будет удалятся частный вид и тогда автоматически создастся новый обновленный или вообще на открытие вида код повесить удаления частного вида ? (правда в этом случае не нашел как можно в скрипте удалять именно частный вид пользователя).
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Личные серверные представления пользователя можно получить перебором коллекции представлений БД NotesDatabase.Views и анализом их свойств Readers и IsPrivate, удалять методом NotesView.Remove. Десктопные личные представления без "танцев с бубном" удалить проблематично, где-то проскакивала информация, как это можно сделать, поищите.

    Добавлено
    Про удаление SPOFU:
    http://www.notesnet.ru/nn/notesnet.nsf/not...3256CFE00420797
    SDPOFU нужно удалять в desktop6.ndk
    http://www.breakingpar.com/bkp/home.nsf/Do...DE19&Remote
    Также можно попробовать использовать @UpdateViewDesign(VIEWNAME_DESKTOP; VIEWNAME_TEMPLATE);
     
  3. Anatoly

    Anatoly Well-Known Member

    Регистрация:
    30 мар 2007
    Сообщения:
    204
    Симпатии:
    0
    А как можно обновить дизайн личных папок пользователя при изменении дизайна шаблона.
    Если удалить описанным образом, при открытии дизайн будет новый, но она будет пустой, то есть отобранные в папку ранее документы потеряются.

    Добавлено:
    Что-то у меня в хелпе (7.0.3) такого не находится...
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  5. Anatoly

    Anatoly Well-Known Member

    Регистрация:
    30 мар 2007
    Сообщения:
    204
    Симпатии:
    0
    Для обновления дизайна Private видов нужно сделать вид-шаблон и в database resources на событие, например, postopen, поставить
    @IfError(@UpdateViewDesign( "TemplateView"; "PrivateView"); "");

    Поробовал, ничего не происходит.
    "TemplateView" и "PrivateView", - по идее одно и то же имя?

    Агент, позволяющий к выбранным папкам применить изменения дизайна в "шаблоне"
    SELECT @All;
    @UpdateViewDesign(@PickList( [Folders] ; @DbName);"TemplateFolder")

    Через агента то же что-то...
    Выводит список папок, выбираю нужную - ноль
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Разные.
     
  7. Anatoly

    Anatoly Well-Known Member

    Регистрация:
    30 мар 2007
    Сообщения:
    204
    Симпатии:
    0
    Тогда непонятно.
    1) Я создал SPOFU папку с алиасом "pf.AdvUnit"
    2) Пользователь при первом открытии создает в базе личную папку с таким же алиасом.

    Причем личная папка создается с запретом на изменение дизайна, приходится снимать этот признак. Но не суть.
    Алиас - один.

    Когда я создал рядом новую папку с другим алиасом и ее алиас подставил с формулы, вроде стало подхватывать изменения.
    Но изменения происходят только в личном варианте папке, а первоначальный шаблон не меняется. И если удалить личную пользователя, она дизайн новой возьмется из начального варианта. Что не так...?
     
  8. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Если в формуле алиас один — приватная папка копирует свой же дизайн, поэтому приходится создавать вторую папку с другим алиасом. Соответственно, нужно синхронизировать дизайн обеих шаредных папок. Каким образом это делать не подскажу — сам об этой технологии только слышал, на деле применять не приходилось.
     
Загрузка...

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