Dialogbox

  • Автор темы Автор темы Idea
  • Дата начала Дата начала
Для: Idea
DialogBox не создает документов. Так что ищи ощибку в другом месте.
 
Если документов не создается, тогда откуда же на вьюхе значения появляются те самые, которые я вводила в DialogBox?

Понятно, что сам по себе он ничего не создает, но вот этот-то код какие-то доки сохраняет:
Код:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument

Set db = session.CurrentDatabase
Set uidoc = ws.CurrentDocument

Set doc = db.CreateDocument
doc.Form="WorkWeek"
doc.Parentunid = uidoc.Document.UniversalID
If ws.DialogBox("WorkWeek", True, True, False, False, False, False, "WorkWeek", doc, True) Then

Call doc.Save(True, True, True)
End If
 
Ну дык Вы ж создаете документ, который птом пихаете в диалог.. потом его сами же и сохраняете... :D
 
Получаеться что при каждом вызове DialogBox'a у Вас создаеться НОВЫЙ докумет
 
Да пусть хоть сто создается, я ни один не могу найти и открыть.
Я уже не знаю, где искать всё созданное, потому что такое странное дело: вообще у меня планировался документ типа Response to Response. Вроде как должна была тьма таких доков создаться, делаю вью - SELECT Form = "WorkWeek", в столбцы запихала базовую инфу - номер во вьюхе и дата создания. Ни одного. Плюнула на ДиалогБокс, создаю доки просто по нажатию кнопки на форме родительского документа. Ради эксперимента сделала тип Document, создала ещё один - появился. Сделала Response - новые не отображаются. В итоге на вью я вижу только один документ типа Document, а где всё остальное-то?

Получаеться что при каждом вызове DialogBox'a у Вас создаеться НОВЫЙ докумет

ну так мне этот ДиалогБокс и нужен для того, чтобы создать документ новый.
 
гы, с этого надо было начинать

В виде где хотите видеть эти докуметы,в свойствах вида, во второй закладке
снять галочку Show response documents in a hierarhy
 
Для: Idea
Ну а галку Show response documents in a hierarchy убрать не забыла?
 
вот это doc.Parentunid = uidoc.Document.UniversalID непонятно зачем..
вместо этого, я так понимаю, должно быть Call reportDoc.MakeResponse( uidoc.Document)

иначе откуда респонсам взяться ?!
 
Опять-так подчеркну, что происходит. При всех вышепроделанных вариациях нормально отображается только один документ - типа Document. С остальными происходит следующее:
1) если вид тривиальный - колонки не сортированный и без категорий, отображается это самый Document
2) если делаем первую колонку категорией (по полю с каким-то идентификатором, вообще он должен быть родительским, но по факту - вообще хз чей), то получаем список с пустыми категориями, кроме одной. в которой отображается Document
3) если попытаться сделать категории по другим полям формы, получим картину, аналогичную п.2

у меня уже варианты кончились. вид я пересоздала заново (бывали раньше глюки), но ничего не изменилось.
 
или вместо снятия галочки в отбор вьюхи дописать | @AllDescendants
не забыть в первой отображаемой колонке поставить Sow twistie
 
вот это doc.Parentunid = uidoc.Document.UniversalID непонятно зачем..
вместо этого, я так понимаю, должно быть Call reportDoc.MakeResponse( uidoc.Document)

иначе откуда респонсам взяться ?!

doc.Parentunid = uidoc.Document.UniversalID для того, чтобы потом сделать вью embedded, потом по этой колонке отбирать доки для отображения на родительской форме.
На сколько я помню, если документ респонс создается с помощью Set uidoc = ws.composeDocument("","","WorkWeek") из какого-то другого документа, он автоматически привязывается именно к этому документу.

или вместо снятия галочки в отбор вьюхи дописать | @AllDescendants
не забыть в первой отображаемой колонке поставить Sow twistie

причем тут @AllDescendants, когда у нас собственно должны отображаться только эти самые потомки (все документы находятся на одном уровне иерархии, причем самом нижнем)?
 
<!--QuoteBegin-Idea+12:11:2007, 15:39 -->
<span class="vbquote">(Idea @ 12:11:2007, 15:39 )</span><!--QuoteEBegin-->На сколько я помню, если документ респонс создается из какого-то другого документа, он автоматически привязывается именно к этому документу.
[snapback]85295" rel="nofollow" target="_blank[/snapback]​
[/quote]
Во фронтенде да. Но ты создаешь в бэкенде. Так что ручками всё. MakeResponse и всё такое. :D

Сделай SELECT @All и попробуй найти эти документы. Посмотри какая у них форма, респонзы они или нет.
 
Код:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument


Set db = session.CurrentDatabase

Set doc = db.CreateDocument
Set uidoc = ws.CurrentDocument


doc.Form="WorkWeek"

If ws.DialogBox("WorkWeek", True, True, True, False, False, False, "WorkWeek", doc, True, True) Then
Call doc.MakeResponse( uidoc.Document )

End If

End Sub

После вот такой операции (сохранение теперь делается по другой кнопке (ОК вообще вырубила)) у меня стали отображаться все документы. Но они по-прежнему не являются потомками того дока, из которого создавались. В поле родительского айди у них стоит свой собственный айди.

Во фронтенде да. Но ты создаешь в бэкенде. Так что ручками всё. MakeResponse и всё такое. :)

значит вот этим
Код:
 Set uidoc = ws.CurrentDocument
я получаю как раз собственный айди. хм, а как же тогда передать нужный?
 
<!--QuoteBegin-Idea+12:11:2007, 16:02 -->
<span class="vbquote">(Idea @ 12:11:2007, 16:02 )</span><!--QuoteEBegin-->После вот такой операции (сохранение теперь делается по другой кнопке (ОК вообще вырубила)) у меня стали отображаться все документы. Но они по-прежнему не являются потомками того дока, из которого создавались. В поле родительского айди у них стоит свой собственный айди.

[snapback]85304" rel="nofollow" target="_blank[/snapback]​
[/quote]
Как "Ок" вырубила? Ведь по ней выполняется условие и происходит сохранение.
Другая кнопка имеет тип "Ок"?

<!--QuoteBegin-Idea+12:11:2007, 16:02 -->
<span class="vbquote">(Idea @ 12:11:2007, 16:02 )</span><!--QuoteEBegin-->я получаю как раз собственный айди. хм, а как же тогда передать нужный?
[snapback]85304" rel="nofollow" target="_blank[/snapback]​
[/quote]
Этим ты получаешь текущий документ.
 
Как "Ок" вырубила? Ведь по ней выполняется условие и происходит сохранение.
Другая кнопка имеет тип "Ок"?
Этим ты получаешь текущий документ.

Ок я скрыла, вместо неё на форме, которая у нас выскакивает DialogBox-ом я нарисовала обычную кнопку Save
Код:
@Command([ViewRefreshFields]);
@Command([RefreshHideFormulas]);
@Command([FileSave]);
@Command([CloseWindow])

Сам диалог бокс вызываю так:
Код:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument


Set db = session.CurrentDatabase

Set doc = db.CreateDocument
Set uidoc = ws.CurrentDocument

If ws.DialogBox("WorkWeek", True, True, True, False, False, False, "WorkWeek", doc, True, True) Then
Call doc.MakeResponse( uidoc.Document )
End If
End Sub

В итоге похоже получаю документ который считает себя потомком самого себя. Ибо к документу, который должен был быть его родителем он как оказалось ничем не привязан. Подскажите как все-таки установить связь. (Напоминаю - нужно сделать созданный документ респонсом к тому, откуда мы вызвали Диалогбокс, как минимум запихать в поле Parentunid соответствующий айди родителя)
 
<!--QuoteBegin-Idea+12:11:2007, 16:28 -->
<span class="vbquote">(Idea @ 12:11:2007, 16:28 )</span><!--QuoteEBegin-->Ок я скрыла, вместо неё на форме, которая у нас выскакивает DialogBox-ом я нарисовала обычную кнопку Save
[snapback]85310" rel="nofollow" target="_blank[/snapback]​
[/quote]
Тип кнопки установлен в "Ок"? Без этого выполняться условие небудет. Т.е. Call doc.MakeResponse( uidoc.Document ) не будет выполнена.
Так что установи тип в "Ок".
Убери вообще все формулы из кнопки.

В код добавь сохранение:
Код:
If ws.DialogBox("WorkWeek", True, True, True, False, False, False, "WorkWeek", doc, True, True) Then
Call doc.MakeResponse( uidoc.Document )
Call doc.Save(true, true)
End If

И форму документу присвой:
doc.Form = "WorkWeek"
 
Сделала, получилась та же фигня. В поле Parentunid (вычисляется по формуле @Text(@InheritedDocumentUniqueID)) стоит то же значение, что в поле @Text(@DocumentUniqueID)

То есть с респонсами все равно что-то не то.
 
Для: Idea
Конечно не работает.
В хелпе написано:
This function works in a document being created with a form with field values inherited from the selected document.
In documents that do not inherit, @InheritedDocumentUniqueID returns the same value as @DocumentUniqueID.
Т.е. работает только при создании документа в фронтэнде. Ты же создаешь его в бэкэнде - Set doc = db.CreateDocument.
Значит, всё делаем ручками.

Код:
If ws.DialogBox("WorkWeek", True, True, True, False, False, False, "WorkWeek", doc, True, True) Then
doc.Form = "WorkWeek"
doc.Parentunid = uidoc.Document.UniversallID
Call doc.MakeResponse(uidoc.Document)
Call doc.Save(True, True)
End If
 
Мы в соцсетях:

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