Не создается документ

azat20

Well-known member
22.07.2008
244
0
#1
Добрый день!
Столкнулся с такой проблемой. Есть некий документ по форме. На ней кнопка. По нажатию на кнопку нужно открыть новый документ по той же самой форме. Кто-нибудь знает почему нельзя создать такой документ? Причем через ws.compose работает, но мне надо использовать ws.editdocument


[codebox] Dim db As NotesDatabase
Dim sess As New NotesSession
Dim admindoc As NotesDocument
Dim uidoc As NotesUIDocument
Dim ws As New NotesUIWorkspace
Set db = sess.CurrentDatabase
Set admindoc = db.CreateDocument
admindoc.Form = "request"
Set uidoc=ws.EditDocument(True,admindoc,,,,)
Call uidoc.Refresh(False,False,True)[/codebox]

Не получаю объект uidoc. НО Если указываешь любую ответную (тип Response) форму, то документ создается.
 

erdi

Well-known member
20.08.2008
265
17
#2
А зачем тебе надо именно ws.editdocument? при создании документа через ws.compose документ уже создается в режиме редактирования
 
K

K-Fire

#3
Непонятно в чем проблема.
ws.editdocument должно замечательно работать, и без разницы по той же форме новый док создается или по другой.

Хотя попробуй вместо Set uidoc=ws.EditDocument(True,admindoc,,,,) написать просто Set uidoc=ws.EditDocument(True,admindoc), может быть в этом разница.
 

azat20

Well-known member
22.07.2008
244
0
#4
compose не подходит, т.к. там надо заранее заполнить несколько полей, одно из которых - по сути определяющее загрузку подформ, выбирается через листбокс. там в defaultvalue записано. мне надо чтобы окно с выбором не появлялось.

to K-Fire: не помогает.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#5
Может документ сразу же закрывается?
Т.е. смотри события в форме request
 
K

K-Fire

#6
еще попробуй поиграться с параметрами EditDocument. Например EditDocument(True,admindoc, false, "", true, false)

Попробуй ws определять сразу перед EditDocument.
 

TIA

:-)
Lotus team
15.05.2009
790
3
#7
Проверь, что в QueryOpen формы request либо её подформах, не устанавливается Continue = false.
 

AvasKvas

Well-known member
03.06.2009
78
0
#8
А я думал что EditDocument - это открытие документа в режиме редактирования, а не создания!?
 

azat20

Well-known member
22.07.2008
244
0
#9
Спасибо, Всем! На QueryOpen по условию Not(Isnewdoc) переходил на continue=false :unsure: теперь буду знать. Еще раз всех благодарю за ответы!
 

nvyush

Lotus team
22.04.2009
2 317
0
#10
Проверь, что в QueryOpen формы request либо её подформах, не устанавливается Continue = false.
TIA - спасибо. Имел аналогичную проблему, проверил QueryOpen формы создаваемого документа и вот оно

If Isnewdoc = False Then
If Mode Then Continue = 0
End If

заменил на

If Source.Document.IsNewNote = False Then
If Mode Then Continue = 0
End If
и все заработало! +1

P.S. Сия конструкция, чтоб юзеры не открывали доки сразу в режиме редактирования по Ctrl+E. Редактировать - только по кнопке, доступной избранным :unsure: .
 

nvyush

Lotus team
22.04.2009
2 317
0
#12
а авторс-поля не для этого придуманы?..
Не вдаваясь в подробности - юзеры могут изменить статус документа, но не должны трогать его содержимое. Разделы с управляемым доступом не везде удобны. Поля авторс здесь не катят.
 

TIA

:-)
Lotus team
15.05.2009
790
3
#13
Не вдаваясь в подробности - юзеры могут изменить статус документа, но не должны трогать его содержимое. Разделы с управляемым доступом не везде удобны. Поля авторс здесь не катят.
А Protected-поля тоже не катят?
 

nvyush

Lotus team
22.04.2009
2 317
0
#14
А Protected-поля тоже не катят?
Может быть катят, но в данном конкретном случае мне проще не дать юзеру на редактирование в УИ док целиком, чем заморачиваться с управляемыми разделами или защищенными полями.
 

Kizarek86

Lotus team
20.07.2007
864
4
#15
Если реально не должны трогать данные в документе, то статус документа храните в респонсе.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#20
А зачем им плодить агентов? Агентов должен плодить дизайнер.