A
alik86
Ситуация следующая:
Приложение разбито на три части (три Frameset`а) «Раз», «Два» и «Три». Для навигации по частям делаю Outline |Раз|Два|Три|, с формулами типа:
На |Раз|:
@PostedCommand([CloseWindow]);
@PostedCommand([OpenFrameset]; "Раз")… и т.п.
Имею желание сделать Hide для Outline Entry в зависимости от того, какой Frameset в данный момент открыт, т.е. если открыт Frameset «Раз», то в Outline вижу |Два|Три| и т.д.
На собаках, как я понимаю, нет стандартной формулы, возвращающей название текущего Frameset`а.
Методом проб и ошибок, опираясь на свой «крохотный» опыт и прочее, я представил себе следующие решения и даже попробовал их реализовать, и даже реализовал:
1. Сделать три разных Outline: |Раз|Два|, |Раз|Три| и |Два|Три|, которые и отображать в соответствующих Frame`ах соответствующих Frameset`ов.
Но, как мне кажется, это будет засер приложения (тем более что 3 части – это условно).
2. Использовать Profile с ключом @UserName, т.е. повесить на Outline формулы типа:
На |Раз|:
@SetProfileField( «profilename» ; «fieldname» ; «Раз» ; @UserName );
@PostedCommand([CloseWindow]);
@PostedCommand([OpenFrameset]; «Раз»)… и т.д.
И в формулах скрытия для Outline Entry указать что-то типа:
На |Раз|:
@GetProfileField(«profilename»; «fieldname»; @UserName) = «Раз»… и т.д.
Попробовал этот вариант – вроде как работает.
Но потом обратил внимание на Usage в хелпе, где пишут про @GetProfileField что она "does not work in hide-when…" и прям-таки растерялся, как же так, у меня же работает…
Так вот, господа Лотусисты, не будете ли вы столь любезны оценить (прокомментировать) мои решения ну и, может быть, предложить еще что-то более элегантное, ибо вдруг я пытаюсь изобрести велосипед...
Приложение разбито на три части (три Frameset`а) «Раз», «Два» и «Три». Для навигации по частям делаю Outline |Раз|Два|Три|, с формулами типа:
На |Раз|:
@PostedCommand([CloseWindow]);
@PostedCommand([OpenFrameset]; "Раз")… и т.п.
Имею желание сделать Hide для Outline Entry в зависимости от того, какой Frameset в данный момент открыт, т.е. если открыт Frameset «Раз», то в Outline вижу |Два|Три| и т.д.
На собаках, как я понимаю, нет стандартной формулы, возвращающей название текущего Frameset`а.
Методом проб и ошибок, опираясь на свой «крохотный» опыт и прочее, я представил себе следующие решения и даже попробовал их реализовать, и даже реализовал:
1. Сделать три разных Outline: |Раз|Два|, |Раз|Три| и |Два|Три|, которые и отображать в соответствующих Frame`ах соответствующих Frameset`ов.
Но, как мне кажется, это будет засер приложения (тем более что 3 части – это условно).
2. Использовать Profile с ключом @UserName, т.е. повесить на Outline формулы типа:
На |Раз|:
@SetProfileField( «profilename» ; «fieldname» ; «Раз» ; @UserName );
@PostedCommand([CloseWindow]);
@PostedCommand([OpenFrameset]; «Раз»)… и т.д.
И в формулах скрытия для Outline Entry указать что-то типа:
На |Раз|:
@GetProfileField(«profilename»; «fieldname»; @UserName) = «Раз»… и т.д.
Попробовал этот вариант – вроде как работает.
Но потом обратил внимание на Usage в хелпе, где пишут про @GetProfileField что она "does not work in hide-when…" и прям-таки растерялся, как же так, у меня же работает…
Так вот, господа Лотусисты, не будете ли вы столь любезны оценить (прокомментировать) мои решения ну и, может быть, предложить еще что-то более элегантное, ибо вдруг я пытаюсь изобрести велосипед...