View Selection И @environment

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

  1. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Пробовал данный совет:

    http://www.notesnet.ru/nn/notesnet.nsf/3a6...ent#Environment

    Тем не менее представление не хочет видеть глобальную переменную (переменная на месте, проверено). Кто нибудь пробовал такой вариант на 8.5.3? Есть какие подводные камни?
     
  2. duchan

    duchan Well-Known Member

    Регистрация:
    20 сен 2006
    Сообщения:
    106
    Симпатии:
    3
    Все работает.
    1. проверьте а есть ли переменная в notes.ini сервера
    2. есть ли у нее префикс $ (@Environment( variable ) читает только "пользовательские" переменные, т.е. добавляет к ним $ спереди)
    3. если вьюшка серверная ее надо "ребилдить" после внесения нового значения на сервере (lo updall FilePath -R -T ViewName), для клиентских (локальных) "жать" Shift+F9

    Увлекаться не стоит - применение (моё мнение) - константы, которые могут меняться в зависимости от сервера для разных реплик одной базы, либо же это тиражируемое приложение и таким образом можно "кастамизировать" некоторые частные параметры.
     
  3. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Нужна ли серверная переменная notes.ini, если я использую только клиентскую View(Private on first use)?
    На локальной машине переменная есть в notes.ini и прекрасно ловится на @ формулах. View настроено и открыто через Shift+F9 (в дизайне соотвественно создалась локальная). Использую такую формулу отбора view - SELECT @Text(@DocumentUniqueID)=@Environment("Test"), при ручном вводе типа SELECT @Text(@DocumentUniqueID)="значениеUNID" все работает. Возможно все же, ошибка в настроках view, но какая?
     
  4. duchan

    duchan Well-Known Member

    Регистрация:
    20 сен 2006
    Сообщения:
    106
    Симпатии:
    3
    C локальными вьюшками, если честно, не экспериментировал, но мне кажется что должно всё работать.

    После открытия вьюшки, жали Shift-F9?
    Если написать простой агент с @Prompt([ok];"";@Environment("Test")) что он выведет?
    Попробуйте не с @DocumentUniqueID, а например, дату создания и @Today в Environment.
     
  5. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Нажимал Shift-F9, проверял, view в дизайнере, появлялась.
    Агент сразу писал, проверял, бралась без проблем.
    Пробовал и менять вид данных, не помогает.
     
  6. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    а если не секрет зачем такие сложности то?
    не проще ли взять вид и программно задать ему нужный селект?
     
  7. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Что значит "программно задать"?
     
  8. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    хелп на NotesView
     
  9. Eugen

    Eugen Well-Known Member

    Регистрация:
    22 мар 2012
    Сообщения:
    172
    Симпатии:
    0
    День добрый.
    Похожая ситуация - пытаюсь создать локальную вьюху, в которую должны отбираться доки по одной из переменных окружения. Агент, на кнопке отрабатывает правильно, Shift+F9 - ничего не меняет. Что еще можно попробовать?
    Еще такой вопрос - при создании вьюхи можно выбрать Shared, private on first use или Shared, desktop private on first use? в чем разница? У меня не пашет ни один, ни другой. Версия 8.5.2.
     
  10. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    SDPOFU создаётся локально, на клиентском рабочем месте, емнип, в базе desctop#.ndk (удаляется, если удалить ярлык базы из рабочей области), SPOFU — в самой базе, если есть разрешение на создание личных папок в ACL, если разрешения нет, то создаётся SDPOFU. К SPOFU можно обращаться на LS, к SDPOFU — нет (по крайней мере напрямую). В обеих можно использовать @UserName.

    Добавлено
    Попробуйте посмотреть, какое значение переменной окружения в формуле отбора. Добавьте в начало формулы отбора строку типа
    Код (Text):
    FIELD TestEnvirnment := @Environment("Имя переменной");
    и колонку с полем TestEnvirnment
     
  11. iosif88

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Всем доброго времени суток.
    У кого нибудь получилось использовать @Environment в "Shared, desktop private on first use" view?

    Пытаюсь решить следующую задачу.

    В основном документе (Заявка) есть поле филиал, которое ссылается на справочник "Филиалы".
    В справочном доке филиала указываются пользователи этого филиала.

    Требуется во вьюхе показывать только документы относящиеся к филиалу данного пользователя.
     
  12. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Категоризованное по полю "Филиалы" представление + @SetViewInfo или Show single category.
     
  13. iosif88

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Требуется сначала найти нужный филиал по @UserName.

    Поэтому и пытался найти в lotus script на Initialize вьюхи нужный филиал по текущему пользователю и записать номер найденного филала в переменную окружения.
    проблема в том что не работает считывание из переменной окружения во view selection (видимо он пытается считывать из notes.ini сервера а не с клиентской машины)

    view - "Shared, desktop private on first use"

    Branch:=@Environment("BranchNum");
    SELECT Form = "Request" & Filial=Branch
     
  14. iosif88

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    А где нужно прописывать @SetViewInfo ?
     
  15. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Я нечто подобное делал на обычном категоризованном представлении с @SetViewInfo в PostOpen
     
  16. iosif88

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Без категоризованного представления никак?

    Т.е. никак не получиться сделать что то подобное динамического select -a в обычной вьюхе?

    Перепробовал @Environment, @GetProfileField ни то ни другое в формулах отбора не работает.

    А нельзя в приватной вьюхе изменять формулу отбора из lotus script ?

    т.е на открытие приватного представления что -то типа такого:

    formula = "SELECT Form ='Request' & Filial= "+Branch
    Set uiview = ws.CurrentView
    Set view = uiview.View
    'или
    Set view = session.CurrentDatabase.GetView("MyPrivateView") '??????????

    view.SelectionFormula = formula
     
  17. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Обычным способом до приватной десктопной из ЛС не достучаться, db.GetView её "не видит". Она сохраняется то ли в cache.ndk, то ли в desktop#.ndk. Когда-то давно натыкался на способ, но не помню где и это очень нештатно.
     
  18. iosif88

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Можно ли прочитать что то внешнее из формулы отбора приватной вьюв ?
    например получить значение какого либо поля другого документа? (альтернатива @Environment для того чтобы передать из query open в формулу отбора значение переменной )
     
  19. nvyush

    nvyush Lotus team
    Lotus team

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

    iosif88 Well-Known Member

    Регистрация:
    14 окт 2009
    Сообщения:
    97
    Симпатии:
    0
    Из документированных, как я понял ничего ((

    Интересно а кого нибудь сабж работал?
     
Загрузка...

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