Проблема DialogBox с EmbeddedView в нем разрешена, пожалуй до конца. Второй раунд экспериментов удался.
Сразу хотел бы выразить благодарность Павлу Алешкевичу, что помог разобраться в проблеме и сподвиг на детальный разбор
Если кратко, то в первой части "эпопеи" я столкнулся с проблемой, что, если на форме, вызываемой в DialogBox присутствует EmbeddedView (и кнопки в DialogBox кастомизированы), то обновление подложки не происходит.
Провел более детальный эксперимент.
На форме были сделаны 4 кнопки:
1. На LotusScript получает доступ к EmbView и выделенному в ней документу, пишет в подложку UNID выделенного документа, вызывает закрытие DialogBox как кнопка ОК.
2. На LotusScript проставляет в подложку флаг и вызывает закрытие DialogBox как кнопка ОК.
3. На @-Формулах проставляет флаг в подложку и вызывает закрытие DialogBox как кнопка ОК.
4. Отмена
Итоги работы каждой:
1. Все идет отлично до вызова
NotesUIWorkspace.RefreshParentNote
После некоторых мучений мозга в него приходит озарение, что при получении EmbView фокус переходит во вью где, как раз и идет попытка вызова RefreshParentNote, возвращающий: Notes Error - Specified command is not available from the workspace.
После того как фокус был возвращен туда, откуда начал свой путь и переполучен NotesUIWorkspace, операция завершилась успешно и подложка была обновлена.
2. Кнопка отработала с первого раза в соотв. с ожиданиями - подложка обновлена.
3. Не сработало...быть может @-ки получают фокус на EmbView. Но факт остается фактом: код в кнопке (остался неизменным с прошлого раунда) не отрабатывает, если в DialogBox есть EmbView.
Правильные выводы:
1. Проводить более полные эксперименты для начала.
2. Не терять логику. Очевидно, что она была потеряна, когда получал фокус на View и не вернул его.
Вот так :) Все нормально, панику отставить!)
Комментарии
Отправить комментарий