Как в открытой форме отк. другую форму а эту закрыть?

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

  1. FilFly

    FilFly Гость

    Люди добрые помогите плиз. только начал осваивать разработку и программирование в Лотусе... И уже "сломал" голову...
    Задача: Есть форма по ней должен создаваться ответный док... Я создал такую форму, сделал кнопочку с @Command([Compose]; ""; "Otvet"),
    все работает.. А надо чтобы пользователь открывал Родительский документ нажимал на кнопочку "Ответить".. и после этого это окно закрывалась а новое открывалось.... если на акцию ставить: @Command([FileCloseWindow]); @Command([Compose]; ""; "Otvet") -- блин новая форма открывается и закрывается (( другие решения вообще в голову не лезут ((( @PostedCommand([FileCloseWindow]) выдает ошибку... если его ставить...
     
  2. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Поменяйте местами
    @Command([FileCloseWindow]);
    и
    @Command([Compose]; ""; "Otvet")

    Надо

    @Command([Compose]; ""; "Otvet")
    @Command([FileCloseWindow]);
     
  3. FilFly

    FilFly Гость

    Пробывал не получается... он закрывает окно которое должно открываться по форме ("Otvet")
     
  4. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    FilFly
    Попробуй этот код
    Код (Text):
    Dim w As New NotesUIWorkspace    
    Dim uidoc As NotesUIDocument       
    Dim session As New NotesSession
    Dim db As NotesDatabase

    Set db = session.CurrentDatabase
    Set uidoc = w.CurrentDocument  
    Call w.ComposeDocument("","","Form2")

    uidoc.Save
    uidoc.Close
    только вместо Form2 помести ту что нада открывать

    Добавлено: Работает?У меня работает :(
     
  5. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.079
    Симпатии:
    300
    может @PostedCommand([Compose]; ""; "Otvet")
    у меня работает так:
    @If(@Command([FileSave]);@Do(@Command([FileCloseWindow]);@PostedCommand([Compose
    ];"":"";coordination));"")
     
  6. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    lmike
    На собаках не работает я проверил,а на скрипте захавало
     
  7. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.079
    Симпатии:
    300
    еслиб я не проверял - не говорил бы
     
  8. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    @If(@Command([FileSave]);@Do(@Command([FileCloseWindow]);@PostedCommand([Compose
    ];"":"";Form2));"")

    Так работает но появляется немного неудобное окошко выбора необходимой формы

    Добавлено: А где же автор пропал?
     
  9. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.079
    Симпатии:
    300
    надо задать форму не переменной - а именем (у меня переменная, кот. определена)
    отступление/дополнение:
    для Post команды - положение среди @Command не важно - исполнена будет последней
     
  10. FilFly

    FilFly Гость

    Довольно забавная вещь происходит.. Да работает, но если закрыть Лотус... работать перестает пишет что нет выбранных документов... Надо открыть бд в Дизайнере и после этого работает ((( Этот код ставлю на кнопку sharedAction может поэтому???
     
  11. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    lmike
    Сорри что начал спорить,рабоет.С меня +
     
  12. FilFly

    FilFly Гость


    Спасибо за совет код попробую чуть позже и отпишусь.. т.к. надо вникнуть, я с ЛотусСкриптом еще не работал (( а собака-формулы быстро поддались пониманию. Пока что все задачи решались на собака формулах....
     
  13. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    FilFly
    Попробуй скрипт,у меня и на шаред работает
     
  14. FilFly

    FilFly Гость

    xRomax

    Добавил ваш скрипт в событие клик (кнопики Lotus Script).. при нажатии он открывает форму(ответную), старое окно НЕ закрывает и пишет Document Command is not available.
     
  15. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.079
    Симпатии:
    300
    вы представляете - что хотите? :( закрыть базу и создать "респонс" к доку...
     
  16. FilFly

    FilFly Гость

    ))) Может я не так описал проблему. Ваш "код" (на @) работает, но если ЗАКРЫТЬ Лотус, потом опять ОТКРЫТь, открыть БД, открыть документ, и на нем нажать кнопку ответить(с вашим кодом) он пишет.. точто я писал до этого (((. но после открытия в Дизайнере этой БД все работает норм (((, выкладывал на сервер та же проблема после закрытия и открытия клиента ответ не работает ((

    Добавлено: XRomax

    Заработал ваш скрипт )) надо было вместо uidoc.Close. Написать Call uidoc.Close )) и все заработало!! С меня + ))

    Но хотелось узнать почему же на собака формулах такая беда происходит (( Клиент 8.5
     
  17. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Реабилитируюсь. Так точно работает:

    @Command([CloseWindow]);
    @Command([Compose];"";"frmResp");
     
  18. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.079
    Симпатии:
    300
    FilFly
    пробуйте как написал TIA (поменяйте на Command в строке, кот. я указывал)
    возможно - это сайд эффект 8.х версий (они стали ещё глюкавей в UI - потому не пользуюсь и не ставлю)
    что-то "поломали" в PostedCommand
    исходно - они отрабатывались последними, но не теряли контекст вызывающего дока
     
  19. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    FilFly
    Буду ждать+ :)
     
  20. KFire3

    KFire3 Гость

    Я недавно наткнулся на баг 8.5 (в 8.5.1 тоже) что если в диалоговом окне есть встроенная вьюшка, то когда вьюшка становится активной все формульные кнопки перестают работать нормально. На скрипте переписываешь - все ОК. Очевидно что мега-крутые индусы уже не могут воспроизвести на эклипсе функционал работавший 10 лет под сишным клиентом.

    Поэтому с 8.5 может быть только 1 совет, все формулы сложнее одного вызова @Command() переписывать на скрипте.
     
Загрузка...

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