• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Computed Subform

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

Gor

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

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

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

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

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

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

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

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab