• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

FilFly

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

TIA

Поменяйте местами
@Command([FileCloseWindow]);
и
@Command([Compose]; ""; "Otvet")

Надо

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

xKlonx

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
7 940
609
BIT
210
может @PostedCommand([Compose]; ""; "Otvet")
у меня работает так:
@If(@Command([FileSave]);@Do(@Command([FileCloseWindow]);@PostedCommand([Compose
];"":"";coordination));"")
 
X

xKlonx

lmike
На собаках не работает я проверил,а на скрипте захавало
 
X

xKlonx

@If(@Command([FileSave]);@Do(@Command([FileCloseWindow]);@PostedCommand([Compose
];"":"";Form2));"")

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

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

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
надо задать форму не переменной - а именем (у меня переменная, кот. определена)
отступление/дополнение:
для Post команды - положение среди @Command не важно - исполнена будет последней
 
F

FilFly

может @PostedCommand([Compose]; ""; "Otvet")
у меня работает так:
@If(@Command([FileSave]);@Do(@Command([FileCloseWindow]);@PostedCommand([Compose
];"":"";coordination));"")

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

xKlonx

lmike
Сорри что начал спорить,рабоет.С меня +
 
F

FilFly

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


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

xKlonx

FilFly
Попробуй скрипт,у меня и на шаред работает
 
F

FilFly



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

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
Довольно забавная вещь происходит.. Да работает, но если закрыть Лотус... работать перестает пишет что нет выбранных документов...
вы представляете - что хотите? :( закрыть базу и создать "респонс" к доку...
 
F

FilFly

вы представляете - что хотите? :( закрыть базу и создать "респонс" к доку...

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

Добавлено: XRomax

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

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

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
FilFly
пробуйте как написал TIA (поменяйте на Command в строке, кот. я указывал)
возможно - это сайд эффект 8.х версий (они стали ещё глюкавей в UI - потому не пользуюсь и не ставлю)
что-то "поломали" в PostedCommand
исходно - они отрабатывались последними, но не теряли контекст вызывающего дока
 
K

KFire3

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

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!