• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

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

  • Автор темы FilFly
  • Дата начала
F

FilFly

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

TIA

:-)
Lotus team
15.05.2009
790
3
#2
Поменяйте местами
@Command([FileCloseWindow]);
и
@Command([Compose]; ""; "Otvet")

Надо

@Command([Compose]; ""; "Otvet")
@Command([FileCloseWindow]);
 

xKlonx

Lotus team
10.09.2009
410
0
#4
FilFly
Попробуй этот код
Код:
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 помести ту что нада открывать

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

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 653
295
#5
может @PostedCommand([Compose]; ""; "Otvet")
у меня работает так:
@If(@Command([FileSave]);@Do(@Command([FileCloseWindow]);@PostedCommand([Compose
];"":"";coordination));"")
 

xKlonx

Lotus team
10.09.2009
410
0
#6
lmike
На собаках не работает я проверил,а на скрипте захавало
 

xKlonx

Lotus team
10.09.2009
410
0
#8
@If(@Command([FileSave]);@Do(@Command([FileCloseWindow]);@PostedCommand([Compose
];"":"";Form2));"")

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

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

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 653
295
#9
надо задать форму не переменной - а именем (у меня переменная, кот. определена)
отступление/дополнение:
для Post команды - положение среди @Command не важно - исполнена будет последней
 
F

FilFly

#10
может @PostedCommand([Compose]; ""; "Otvet")
у меня работает так:
@If(@Command([FileSave]);@Do(@Command([FileCloseWindow]);@PostedCommand([Compose
];"":"";coordination));"")
Довольно забавная вещь происходит.. Да работает, но если закрыть Лотус... работать перестает пишет что нет выбранных документов... Надо открыть бд в Дизайнере и после этого работает ((( Этот код ставлю на кнопку sharedAction может поэтому???
 
F

FilFly

#12
FilFly
Попробуй этот код
Dim w As New NotesUIWorkspace .....
Добавлено: Работает?У меня работает :(

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

FilFly

#14
xRomax

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

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 653
295
#15
Довольно забавная вещь происходит.. Да работает, но если закрыть Лотус... работать перестает пишет что нет выбранных документов...
вы представляете - что хотите? :( закрыть базу и создать "респонс" к доку...
 
F

FilFly

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

Добавлено: XRomax

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

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

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 653
295
#18
FilFly
пробуйте как написал TIA (поменяйте на Command в строке, кот. я указывал)
возможно - это сайд эффект 8.х версий (они стали ещё глюкавей в UI - потому не пользуюсь и не ставлю)
что-то "поломали" в PostedCommand
исходно - они отрабатывались последними, но не теряли контекст вызывающего дока
 
K

KFire3

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

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