Запуск кода на любой выбранной базе из меню клиента...

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
34
Kiev, Ukraine
#1
Всем привет! :(

Возник вопрос, возможно кто-нить сталкивался с вариантами реализации, и сможет навести на путь решения...

в общем, задача примерно такова, реализовать возможность запуска некоего кода на любом notes-объекте который выделен на УИ в текущий момент.
Например, кто работал с продуктами Teamstudio, к примеру, Configurator, то знают, что запускаемый продукт может получить текущую в данный момент времени БД.
Я предполагаю, что подобным образом можно получить доступ и к текущему УИ-виду, выделенному документу, и т.п.
Например, сделать такой себе диалог, который бы показывал доступ к текущему документу в диалоге...
Но вот не знаю пока каким образом это можно сделать, если конечно можно :)
Если кто-то сталкивался с информацией, которая может помочь понять можно ли это реализовать, подскажите, пжлста, где она есть :D
Возможно, кто-то знает ключевые слова, по которым можно найти подобную информацию.
Буду благодарен за любые подсказки :)

Спасибо!
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#2
Можно :)
Под speed кнопкой ставишь что-то вроде

Код:
DBHServer := @Environment("DBHServer"); 'путь к супербазе :)
DBHReplicaID := @Environment("DBHReplicaID"); 'реплика супербазы :)
@If(DBHReplicaID = ""; @Return(@Prompt([Ok]; "не прошло"; "однако")); "");

TargetServer := @Subset(@DbName; 1);
TargetPath := @Subset(@DbName; -1);

@Environment("DBHTargetServer"; TargetServer); 'сервер обрабатываемой базы передаём через ENV
@Environment("DBHTargetPath"; TargetPath); 'путь обрабатываемой базы передаём через ENV
@Environment("DBHAction"; "ТУТ_ИМЯ_ОПЕРАЦИИ");

@PostedCommand([FileOpenDBRepID]; DBHReplicaID; DBHServer;"ТУТ_ИМЯ_VIEW";"";"0";"1")
В супербазе во View по имени "ТУТ_ИМЯ_VIEW" в QueryOpen делаешь обработку передаваемых параметров и ставишь Continue = False

У меня в DBH так сделано, я её выкладывал раньше, так что там можно примерно посмотреть...

Да, и там же на QueryOpen можешь взять CurrentDocument/CurrentView - всё будет как надо из Target базы.
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
34
Kiev, Ukraine
#3
спасибо, поковыряю в эту сторону...

если у кого-то есть другие примеры, то они не будут лишними :)