Computed Subform

Gor

Well-Known Member
07.06.2005
517
2
#1
Здравствуйте.
Не пойму как мне сделать следующее. И возможно ли это в принципе.

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

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

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

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

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

SkinGreek

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

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

Gor

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

SkinGreek

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

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

Gor

Well-Known Member
07.06.2005
517
2
#5
Я на самом деле хотел для формы сделать 3 отображения с помощью вычисляемых сабформ. Одно отображение в Edit моде. А два отображения разных только в режиме просмотра.