Обновление Фреймов

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

  1. Oleg2012

    Oleg2012 Гость

    Всем доброго времени суток. Перерыл весь форум но ответа найти не получилось. ПОМОГИТЯ!!!! Как обновить отображаемые данные в фрейме???? Проблема выглядит так: Есть две БД рабочая и архивная одинакового дизайна, в рабочей открывается фреймсет searchFS в котором отображаются две папки (рабочая-архивная), по экшену в нем вызывается документ по поисковой форме (смысл его в том что при использовании поиска по БД приложение определяет имя текущего пользователя и ищет его документ с уже заданными условиями поиска в базе, если находит то открывает его, если не находит то создает новый документ поиска. При этом документ поиска открывается в новой вкладке и я никак не нашел способа его открыть в текущем фрейме! Для работы команд @Command([Compose] и @Command([OpenDocument] ОБЯЗАТЕЛЬНО нужно предварительно открыть вьюшку!!! Соответственно открыть документ в текущем фрейме командами @SetTargetFrame("ContentFrame") и т.п. НЕ ПОЛУЧАЕТСЯ!!!! Потом, при нажатии экшена на форме происходит сам поиск как в рабочей так и в архивной БД (обработчиком на Lotus скрипте в агенте найденные в рабочей БД доки помещаются в одну папку а найденные в архиве - в другую папку которая находится в архивной БД). В фоне обновляются обе папки workspace.View.refresh.
    Дальше поисковая форма закрывается а результаты отображаются в папках текущего фрейма (в одной указана текущая БД - рабочая, в другой - архивная). Документы найденные по заданным условиям в папке "рабочая" отображаются а вот обновлять папку "архивная" приходится только вручную поставив фокус ввода на нее и нажав F9 что совсем не гут!!! Все возможные варианты обновлений перед-после закрытия документа-поиска @Command([RefreshFrame], ReloadWindow и вообще ВСЕ что может еще обновлять фрейм или окно перепробовал!!! Знаю что фреймы вообще косая штука и дурной тон но........ Очень надеюсь на помощь.
     
  2. duchan

    duchan Well-Known Member

    Регистрация:
    20 сен 2006
    Сообщения:
    106
    Симпатии:
    3
    советы на посмотреть\попробовать:
    1. создать документ можно через notes-url: notes://server/path/FormName?OpenForm - а урл можно открывать уже в любом фрэйме ...
    2. после поиска можно переоткрыть папки как основную так и архивную каждую в своем фрэйме (например через теже notes-url'ы)
     
  3. Oleg2012

    Oleg2012 Гость

    Спасибо за ответ. Вот только создать то через урл можно, а вот идентифицировать для текущего пользователя именно ЕГО документ поиска как то разве можно? Сейчас это делается через @DBLookup по Лотусовому имени юзера в определенной вьюшке. Но вариант 2 с переоткрыванием папок урлом попробую.
     
  4. duchan

    duchan Well-Known Member

    Регистрация:
    20 сен 2006
    Сообщения:
    106
    Симпатии:
    3
    ну производите поиск перед открытием урла, и если есть поисковый документ, открывайте его так же урлом notes://server/path/viewid/unid?EditDocument (вместо viewid можно 0 - означает вид по умолчанию) (вроде если view писать как название\имя\алиас вида, то лотусу побоку и он использует вьюшку по умолчанию, т.е. как 0, но если указать UNID вида то всё будет как надо, док-т будет открываться как из вида - играет роль когда необходимо например на ровне вида подменить форму)
     
  5. Oleg2012

    Oleg2012 Гость

    Млинн... все равно, хоть через URL хоть нет НИКАК НЕ РАБОТАЕТ КОМАНДА @SetTargetFrame(), и документ через URL открывается (или создается) В НОВОЙ ВКЛАДКЕ а не внутри фрейма!!! :(
     
Загрузка...

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