Private View On First Open In Picklistcollection

Тема в разделе "Lotus - Программирование", создана пользователем Serduko, 1 ноя 2013.

  1. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Пытаюсь открыть представление private on first open в NotesUIWorkspace.PickListCollection и выдает ошибку: "Notes error: Index is not to be generated on server". Доступ в ACL открыт. Вероятно надо, что бы представление создалось на локальной машине, подскажите, как сделать это через Lotusscript?
     
  2. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    :(
    Call notesUIDatabase.OpenView( viewName$ [, key$] [, newinstance] [, replaceView] )
    Call notesUIView.Close
     
  3. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Возможно ли в фоновом режиме, что бы представление не открывалось у пользователя?
     
  4. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Нельзя.
    Открываете и сразу закрываете.
    Вкладка моргнет и всё, что не критично.
     
  5. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Сами пробовали? Вкладка не "моргает", она закрывается только после закрытия диалога.
     
  6. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
  7. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    А каким образом лучше определять есть private view у пользователя, с целью создать его, на каком нибудь queryopen event? Имею ввиду если не лезть в локальную базу с представлениями пользователя.
     
  8. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    хм... интересно даже стало.. Но зачем?
    Если представление есть, то код его и откроет.
    Если его нет, то код открытия его же и создаст.
    Лишняя проверка.

    Добавлено: или я с папкой путаю...
    Если путаю с папкой, то проверять надо через:
    Код (LotusScript):
    Set notesView = notesDatabase.GetView( viewName$ )
    Добавлено: НО:
     
  9. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Собственно вопрос в начале темы, на Picklistcollection выдает ошибку, поскольку не создается.
     
  10. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    Ну логично, pickList только отображает, но не создает.
    Нужно предварительно где-то открыть и только потом использовать pickLIst
    Варианты открытия в 6-ом сообщении.
     
  11. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    По второму кругу :) ? Буду ловить по коду ошибки и открывать, как такой вариант?
     
  12. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    Путаница пошла из-за этого:
    Я писал это на это сообщение:
    Нет смысла в такой проверке.
    Потому что если открывать до вызова pickLIst, то представление либо создастся, либо откроется где-то.

    ммм, разве что хотите избежать "залипания" при создании/открытии, когда индексы будут обновляться.
    Но если представление существует и долго не открывалось, то при отображении pickLIst будет то же "залипание".
    А если оно часто используется, то при открытии и "залипания" не будет
     
  13. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Я хочу вызывать
    Call notesUIDatabase.OpenView( viewName$ [, key$] [, newinstance] [, replaceView] )
    Call notesUIView.Close
    только один раз, поэтому хочу сделать вызов по событию.
     
  14. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Поиграйся с Readers полем у получаемой вью. Например, если поле есть и совпадает с тек. пользователем, то мы получили spofu папку.
     
  15. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Не спасет.
    Если очень хочется, чтобы view закрывалась там-же, где вызывается PickList, при открытом модальном окне (PickList), можете на Queryopen view сделать Source.Close.
    Но это для случая использования этого view только в PickList (если делать "влоб").
    Соответственно uiview.Close тогда не нужен.
     
  16. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Спасло, Readers отвечает как надо. С Queryopen плохая идея, никаких привилегий не дает, а если случайно view будет открываться по умолчанию, то базу будет не открыть.
     
  17. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Конечно, так Вы узнаете, что SPOFU уже есть для этого юзера. Но это не поможет нормально создать SPOFU в логике Вашего интерфейса.
    Обычно стараются держать базу "чистой" и не хранить в ней SPOFU без нужды (удаляют все приваты при открытии или закрытии базы и создают заново при необходимости). Это убирает геморрои при возможном изменении дизайна шаблона SPOFU.
    Сохранять SPOFU имеет смысл только в случае о-о-чень большого наполнения всегда актуальным содержимым (из-за потери времени на построение индекса), и то спорно. Я создаю SPOFU незаметно для юзера, без лишнего ожидания.
    Что-же это за аппликуха такая, где view открываются случайно по умолчанию?! :) Вы управляете приложением, или оно Вами??
    А "С Queryopen плохая идея"(с) - это-ж для решения Вашей хотелки. Я так не делаю ;) . Но работать оно будет.
     
  18. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Содержимое актуально, поскольку оно изменяется, возможно в далеком будущем понадобится удаление spofu, в связи изменением дизайна, тогда и добавим.
    Не понимаю вашего сарказма, вы не терпите возражений, по какой причине? Тем не менее, учет исключений никто не отменял.

    Создайте private view на picklistcollection, так что бы ваша "апликуха" вами не управляла, представьте демонстрацию в виде кода или как-то еще, тогда и поговорим. А то у меня ощущение, что мы говорим о разных функционалах, для разных задач.
     
Загрузка...

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