Ошибка при работе с приватной вью из Ls

Тема в разделе "Lotus - Программирование", создана пользователем LuMee, 26 апр 2007.

  1. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Имеется приватная (SDPOFU) папка, служащая для поиска документов в базе.
    Папка имеет действие, в котором, в частности, выполняется примерно такое:
    Код (Text):
    Dim db As NotesDatabase, view As NotesView
    ...
    Set view = db.GetView("Приватная папка")
    If view.AllEntries.Count > 0 Then
    view.AllEntries.RemoveAllFromFolder("Приватная папка")
    End If
    У пользователя-управляющего тут все работает без затыков. Однако есть пользователь-редактор, у которого на строчке номер 4 (If view.AllEntries.Count > 0 Then) скрипт торжественно валится с загадочной ошибкой: "Индекс не должен создаваться на сервере ("Приватная папка")".
    Пробовал уже и приватную папку под этим юзером удалять, и закладку на базу удалял из рабочей области (этим лечится довольно много глюков :blink:) - ничего не помогает. Кто подскажет, что за блин?
    З.Ы. Использую Лотус R5 (5.0.4а).
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: LuMee
    Пользуйтесь собаками, для удаления всех документов из папки
    Код (Text):
    @Command([EditSelectAll]); @Command([RemoveFromFolder])
    Для удаления выделенных документов из папки
    Код (Text):
    @Command([RemoveFromFolder])
     
  3. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Для: Morpheus
    Спасибо за совет, но тогда такой вопрос: если вышеозначенные команды выполнять с помощью Evaluate, что надо передавать вторым параметром? Пробовал подсовывать им NotesUIView - не вышло.
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Второй параметр в Evaluate НЕ ОБЯЗАТЕЛЬНЫЙ, просто ничего не передавайте
     
  5. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    AFAIR (буду рад ошибиться) @-команды через Evaluate не ходят :(
     
  6. Hedg

    Hedg Гость

    Для: Constantin A Chervonenko
    Не ошибаетесь

    Usage
    The formula takes the field from the specified document.
    @Functions that affect the user interface do not work in the Evaluate method. These include: @Command, @DbManager, @DbName, @DbTitle, @DDEExecute, @DDEInitiate, @DDEPoke, @DDETerminate, @DialogBox, @PickList, @PostedCommand, @Prompt, and @ViewTitle.
     
  7. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Ну вот отстой... Агента что-ли теперь придется сооружать?
    И все-таки: что же это за ошибка с индексами? Про какой индекс вообще речь идет и чем ему сервер не угодил?
     
  8. nor

    nor Гость

    Для: LuMee

    попробуй удалить иконку бд из рабочей области пользователя, в acl поставь для него бит Create private folders/views, открой бд заново и попробой свой скрипт.
     
  9. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Для: nor
    Пробовал.. даже старый-добрый способ: поубивать иконки на рабочей области, потом на серваке создать копию базы, убить оригинал, скопировать копию обратно.. Ничего не помогает. Пока сделал просто отдельную кнопку "Очистить" с вышеприведеннымы собако-формулами, однако это решение не вполне устраивает заказчика.
     
  10. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: LuMee
    А кэши чистить и временные папки на лок. коомпе юзверя
     
  11. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Вроде чистил... А где они (кеши, папки) там вообще есть? Может пропустил чего.
     
  12. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: LuMee
    Удалить в notes папке файл cashe.ndk

    а пути к временным папкам можно посмотреть через свойствва системи "пееременные среды "
     
  13. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Для: Morpheus
    Попробую... Хотя, конечно, если пользователям надо будет реглярно свои кеши чистить, это не будет гут.
     
  14. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: LuMee
    да нет, регулярно .. врятли
    думаю просто иногда как способ может помоч, особенно если это единичный случай
     
  15. Veselinka

    Veselinka Гость

    Боюсь сказать лажу, но мнение следующее:
    Не будет работать вообще.

    Мы пробовали пользоваться приватными вьюхами(папками), чтобы складывать в них отобранные по критерию документы и по ним делать навигатор и по навигатору - формировать отчет.
    Ряд вызовов просто не работает на приватных представлениях, валится с ошибкой. В документации ничего на эту тему нет.

    Из под менеджера и дизайнера работать будет, вроде бы потому что созданная из под него вьюха сохраняется в самой базе, а не на десктопе.
    Возможно сказала фигню, потому что с вопросом этим детально не разбиралась.
     
  16. nor

    nor Гость

    Как недавно установили американские ученые из Центра Научных Исследований Дефектного ПО (The Center of Scientific Reserch of Buggy Software) использование приватных представлений (private views) в Lotus Notes чревато появлением так называемых "аномалий Абхиманью", названных так в честь одного индийского программиста, впервые запрограммировавшего поведение таких представлений. В частности, Дж. Струзе (J. Strother), ведущий специалист по тестированию Lotus Notes, приводит следующие изыскания в своей докторской работе "Хаотическая конвергентная адаптация пользователей к IBM Lotus":

     
  17. Chernom0r

    Chernom0r Гость

  18. alexstudent

    alexstudent Well-Known Member

    Регистрация:
    13 сен 2009
    Сообщения:
    109
    Симпатии:
    0

    Была подобная проблема. Решили так:
    1. Дали пользователю права на уровне дизайнера к бд
    2. Зашли под ним в бд в дизайнере
    3. В элементе дизайна Folder удалили его приватную папку, которая создается при поиске.

    Получается что папка как-то криво создается. И увидеть можно только тому кто создал. Ну либо может написать что-то на LS, чтобы можно было эти папки увидеть.
     
  19. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    на query open или close базы вешается скрипт:
    Код (LotusScript):
    Forall x in db.views
    if x.IsPrivate then call x.remove()
    End forall
    Если имена папок известны, а они известны, то можно массив имен использовать.
     
  20. Мыш

    Мыш Lotus team
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.020
    Симпатии:
    8
Загрузка...

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