• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Computed Subform

  • Автор темы Gor
  • Дата начала
G

Gor

Здравствуйте.
Не пойму как мне сделать следующее. И возможно ли это в принципе.

Есть форма под web.

Мне необходимо эту форму отображать 3-мя способами. (Edit, Open, Preview)

Для этого я сделал 3 сабформы с соответствующими названиями.

На форме есть кнопка Edit которая переводит документ в редактирование.
В Computed subform условие @If(@IsDocBeingEdited;"Edit";"Open")

Не пойму при каком условии мне выводить сабформу Preview... И что должно быть на кнопке Preview?
 
S

SkinGreek

насколько я понял в Preview-режиме отредактированный/созданный документ необходимо отображать как в режиме просмотра(у вас этот режим, по всей видимости, под названием Open).
В таком случае, я б попытался создать следующее
Создать BackEnd доку, скопировть с текущего дока все филды, но установить Preview-форму, и открыть его через workspace.EditDocument(). Само собой в этой форме запретить сохранение и открывать его в новом табе.
Правда опыту у меня с лотусом мало и подводных камней с таким способом можно наловится по уши.

сорри, ступил, вам же для Web))
ну по нахатию на кнопку preview ведь можно передать параметр типа preview=1.
На сервере форма уже будет обрабатывать этот параметр и подгружать соответствующую подформу?
C Web на лотусе я к счастью не работал, но верю что подобный маневр сделать всеж моно
 
G

Gor

нет... так не получается через параметр @If(@GetField("ss")="Pr";"Preview";@IsDocBeingEdited;"Edit";"Open")
конфликтовать будет с условиями редактирования и просмотра...
 
S

SkinGreek

А как это в принципе будет выглядить?
На ум приходит 2 варианта.
Если один режим полностью переопределяет другой(то есть из редактирования превращаеться в preview) то у сабформы должна быть кнопочка возврат в режим редактирования.
Но если вы хотите чтоб как на данном форуме, при нажатии на preview отображалось и редактирование и превью то тогда у вас будет 2 подформы с разными условиями. У одной будет либо Preview(причем режим редактирования не должен сбрасываться, более того он для отображения preview мода обязателен),либо ничего не показывать. А во второй сабформе как вы и делали @If(@IsDocBeingEdited;"Edit";"Open")
Но чесно говоря это все теория и не более чем идея. Я не знаю как ведет себя лотус при перегрузке страницы. То есть сохраняет ли состояние документа между перегрузками страницы.

ЗЫ:
Обе подформы по сути своей будут отображать одинаковые данные но через разные контролы.
То есть насколько я понимаю в preview необходимо юзать "вычисляемый текст"
 
G

Gor

Я на самом деле хотел для формы сделать 3 отображения с помощью вычисляемых сабформ. Одно отображение в Edit моде. А два отображения разных только в режиме просмотра.
 
Мы в соцсетях:

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