• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Встроенное представление, закрыть родителя

  • Автор темы LIGHT
  • Дата начала
L

LIGHT

Всем привет!

Необходимо намутить такую штуку: есть документы со встроенным представлением, при переходе к другому документу, нужно закрыть родителя. Было бы еще здорово если бы вылетал prompt при попытке открыть в представлении текущий документ, при попытке перейти в другой документ если текущий в режиме редактирования.

Спасибо!
 
N

nvyush

Необходимо намутить такую штуку: есть документы со встроенным представлением, при переходе к другому документу, нужно закрыть родителя. Было бы еще здорово если бы вылетал prompt при попытке открыть в представлении текущий документ, при попытке перейти в другой документ если текущий в режиме редактирования.

Задача не совсем ясна, но есть мысли:
получать по $REF UNID родителя, открывать по нему док, проверять свойство IsUIDocOpen, если открыт, то set uidoc = uiworkspase.EditDocument с параметром newInstance = false, и uidoc.close. Можно в документ при открытии/переводе в режим редактирования добавлять временное поле, по наличию которого проверять режим открытия документа.
 
Y

Yakov

Разберемся с формами и представлениями.
1. Есть представление mainView, отбирающее документы по форме formA.
2. На форме formA есть встроенное представление embeddedView, отбирающее документы по форме formB.
3. Опционально на форме formB есть то же встроенное представление embeddedView, что и на форме formA.
Что требуется:
1. При открытии документа formA из mainView уже открытый документ formA или formB закрывается.
2. Открыт документ formA. Пользователь открывает документ formB из embeddedView. Документ formA закрывается.
3. Открыт документ formB. Пользователь открывает еще один документ formB. Предыдущий formB закрывается.
Как удовлетворить требование 1, я не знаю.
Решение для требований 2 и 3.
Создаем фреймсет DocumentFrameset с одним фреймом DocumentFrame.
В свойствах форм formA и formB на третьей вкладке устанавливаем Auto Frame: Frameset = DocumentFrameset, Frame = DocumentFrame.
В свойствах встроенного представления на каждой из форм formA и formB на первой вкладке устанавливаем Target Frame = DocumentFrame (for double click).
Теперь документ formA будет открываться во фрейме DocumentFrame. Документ formB из embeddedView будет открываться в том же фрейме, при этом предыдущий открытый в этом же фрейме документ будет закрыт.

Было бы еще здорово если бы вылетал prompt ... при попытке перейти в другой документ если текущий в режиме редактирования.
Это нужно в QueryClose проверять и устанавливать Continue = False, если надо.
 
  • Нравится
Реакции: magistr
Мы в соцсетях:

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