К основному контенту

Использование слоев (Layers) для создания мастеров (Wizards) в Lotus Notes

Расскажу о создании мастеров заполнения (Wizards) в Lotus Notes при помощи слоев (Layers). Давно хотел добраться до этого и попробовать, но все как-то не представлялось возможности...до недавнего времени.

Итак, освоив несколько это дело, спешу поделиться.

1. Создаем форму под новый диалог. Чтобы все было в рамках приличия - делаем эту саму рамку, куда помещаем количество слоев, равное количеству шагов в мастере.


2. Скрывать и показывать определенный шаг будем скрытием соответствующих слоев (обычной формулой скрытия). Нужно иметь ввиду, что у объекта Layer Anchor нет свойств скрытия, поэтому нужно работать со свойством текста, расположенный в том же параграфе, что и объект.


3. Внутри слоя оформляем каждый шаг. Выравниваем, чтобы красиво и каждый шаг не прыгал относительно другого. Для этого редактируем ширину слоя (под основную табличку, при этом не забываем о высоте основной таблички, чтобы слой влез в нее); высоту слоя устанавливаем Auto.


4. Совмещаем слои. Для перемещения по слоям и их свойствам удобно пользоваться Layer Tree



5. Кнопки переходов и закрытия диалога - свои. При переходах проставляем значения соответствующих полей.
Формула в кнопке "Назад" 3-го шага

6. Вызываем ws.DialogBox без системных кнопок и симпатичный мастер готов. Далее можно усложнять добавляя обработку, LotusScript на событиях и пр.




К сожалению, ограничиваюсь только скриншотами, а не примером базы, но делюсь ссылкой, где можно ознакомиться с основами работы со слоями и скачать базу на растерзание: 5 differrent uses for layers in Lotus Notes

Stay tuned!

Комментарии

Популярные сообщения из этого блога

Занимательные алгоритмы. Поиск цикла в односвязном списке

И снова про тараканов, которые иногда возникают в голове. Как-то раз, засыпая, я задумался на курьезными задачками из своей сферы деятельности (Lotus Notes), которые можно было бы задать на собеседовании, плавно перешел к воспоминаниям о своих первых собеседования, когда опыта работы еще не было. Опыт самих собеседований у меня не велик а места, где задавались действительно интересные задачи (а не задачки типа: написать сортировку массива любым известным способом) вообще равны одному - это ABBYY. Как минимум одна задачка в списке на знание и понимание классических алгоритмов, описанных в книге Дональда Кнута -  Искусство программирования .

Unit-testing object validation when validator has DI

Summary Unit test object validation when validator(s) has a dependency. For instance, we have some custom field and cross-field validators. Want to test their combination. Additionally some of validators have dependencies, injected through constructor or setters. You're not using property injection, right? Shortcut If you are just searching for an answer, here's the fast way: Declare CustomConstraintValidatorFactory that implements javax.validation.ConstraintValidatorFactory Override getInstance method and on facing your constraint validator class instantiate it Otherwise delegate validator construction to org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorFactoryImpl Build validator factory and provide it your CustomConstraintValidatorFactory Build validator, using that factory... Go to demo project on GitHub for details:  https://github.com/MrArtemAA/blog-demos/blob/master/test-validator-with-injection/src/test/java/ru/artemaa/d

Lotus Notes FAQ. 8/9 Eclipse. Как настроить уведомления о Sametime сообщениях

Н а написание данной "инструкцию" натолкнул мой коллега. Помню, первый раз сам долго искал, как отключить постоянно выпрыгивающие уведомления о новых сообщениях в Sametime. И так, речь идет о клиентах IBM Notes 8+ версии Standart (Eclipse based). Как настроить уведомления о Sametime сообщениях?