Сохранить И Создать Новый Документ В Dialogbox

Kay

Member
10.09.2008
9
0
#1
Доброго времени суток!

Есть такая задача... вопрос чисто эстетики.

В открытом документе создается ответ к нему с помощью диалогового окна...
Задача поместить в диалоговое окно кнопку, по которой созданный документ
бы сохранялся, закрывался диалог и открывался новый новый диалог создания
нового ответа ... Попытки использовать uidoc.Close, а затем вызов диалога оказались
тщетными - производится открытие диалога лишь однажды, а потом всё возвращается
к исходному документу...

Поиск подобной "проблемы" на форуме тоже не дал результата...
Заранее благодарю, если кто-то даст дельный совет или пример...
 

savl

Lotus team
28.10.2011
2 131
102
#2
и как вы намереваетесь выходить из этого замкнутого круга?

Попробуй так:

1 .Сделай функцию, которая создает документ:
Она открывает диалог, сохраняет документ, закрывает диалог.
2. Повесь эту функцию на кнопку, по которой создается ответный.
3. В кнопке сделай цикл в теле цикла вызывай данную функцию:
While True
call CreateResp()
Wend
Выход из цикла?
 

hosm

* so what *
18.05.2009
2 442
6
#3
непонятно, в чем проблема-то? это же диалог, там, скорее всего, заполняются поля и в диалоге может быть не одна кнопка для создания еще одного ответа :) т.е., например, будут кнопки "Сохранить/Сохранить и создать новый/Закрыть" - при нажатии каждой можно сохранять в поле признак, какая кнопка нажата, а потом в коде вызова диалогбокса проверять, что нажали и как это надо обработать - сохранить текущий ответ, сохранить ответ и создать новый или закрыть без сохранения.
 

nvyush

Lotus team
22.04.2009
2 317
0
#4
Я бы так делал:
1. При вызове диалога скрыть штатные кнопки OK/Cancel, отображать свои "Сохранить", "Сохранить и новый", "Отмена".
По кнопке "Сохранить" ответный документ сохраняется и в него добавляется CFD поле-флаг сохранения, например, $Saved = "1", по кнопке "Сохранить и новый" CFD поле $Saved = "2", при отмене $Saved не добавляем. В кнопки сохранения в конце добавить вызов Workspace.RefreshParentNote( ).
2. В форме главного документа в кнопке создания ответа цикл "создать документ" - "открыть диалог" - "выйти если $Saved <> "2"