2009-06-10 10 views
1

私は、フレームセット内でドキュメントを開くDomino Clientアプリケーションで作業しています。 Domino 6.5 - フレームセット内のドキュメントを閉じる - アプリケーションを閉じる

私はそれは、いくつかの蓮のスクリプトの検証を行い履歴フィールドに追加され、など、保存ボタンをクリックすると、最終的に行い、保存:

サブクリックを(出典ボタンとして)新規として検証 薄暗いWSとして 薄暗いvalidate1 点心のように、新しいNotesSession型
薄暗いuidoc NotesUIworkspace位置NotesUIDocumentとして 薄暗いapproverNames ITEM1としてNotesItem文字列 点心などの文字列 薄暗いnames1としてワークフロー
薄暗い名1として文字列 薄暗いworkflow1として、薄暗い履歴は履歴

Set uidoc = ws.CurrentDocument 
Call uidoc.refresh 

'=============================================== 
'Validation 
'=============================================== 
Set validate1 = New Validation() 

Call validate1.checkCustomer(uidoc.FieldGetText("Customer")) 
Call validate1.checkEndUser(uidoc.FieldGetText("EndUser")) 
Call validate1.checkShortProjectDescription(uidoc.FieldGetText("ShortProjectDescription")) 
Call validate1.checkProjectName(uidoc.FieldGetText("ProjectName")) 
Call validate1.checkProjectLocation(uidoc.FieldGetText("ProjectLocation")) 
Call validate1.checkOperationCenter(uidoc.FieldGetText("BusinessUnit")) 
Call validate1.checkSalesCenter(uidoc.FieldGetText("SalesCenter")) 
Call validate1.checkMarketSegment(uidoc.FieldGetText("MarketSegment")) 
Call validate1.checkSAPDate(uidoc.FieldGetText("SAPDate")) 
Call validate1.checkRevision(uidoc.FieldGetText("Revision")) 
Call validate1.checkValidityDate(uidoc.FieldGetText("ValidityDate")) 
Call validate1.checkDateApproval(uidoc.FieldGetText("DateApproval")) 
Call validate1.checkCurrencyUSD(uidoc.FieldGetText("CurrencyUSD")) 
Call validate1.checkMargin(uidoc.FieldGetText("Margin")) 

If validate1.displayErrorMessages() = 0 Then 
'======================================================================== 
    Call uidoc.FieldSetText("WhoHasApproved","") 
    Call uidoc.FieldSetText("ApproversNotified","")  

    Call uidoc.FieldSetText("SubmitDate",Cstr(Now)) 
    Call uidoc.FieldSetText("Status","In Process") 

    'Add calls to workflow here.... 
    Set workflow1 = New workflow("SAPFCD") 

    'Update History Field - Submitted for Processing by 
    Set history1 = New History(uidoc.Document) 
    Call history1.addTo("Submitted for Processing", uidoc.FieldGetText("CreatedBy"))  
    Set item1 = uidoc.Document.ReplaceItemValue("History" , history1.getDescription()) 

    'Set ApproverList 
    names1 = workflow1.setApproverList(uidoc) 
    Call uidoc.FieldSetText("ApproverList",names1) 

    uidoc.Refresh 

    name1 = workflow1.setNextApprover(uidoc)   
    Call uidoc.FieldSetText("NextApprover", name1) 
'======================================================================== 

    'Add calls to workflow here.... 
    Call uidoc.FieldSetText("Status","1st Peer") 

    uidoc.Save 
    uidoc.Close(True) 
    uidoc.Close(True) 
End If 

End Subのよう次いで

とは、データベース全体を閉じるに進み、ワークスペースにユーザーを戻します。

私が望むのは、ドキュメントを保存しておき、フレームセットの指定されたページにユーザーを戻すことです。

私はQuerySaveイベントに次のようなコードを追加しようとしましたが、動作しません:

サブQueryclose(位置NotesUIDocumentようなソース、バリアントとして継続) 薄暗いWS新NotesUIworkspace
ws.OpenFrameSet(「メインフレームとして、 「) ws.SetTargetFrame(」メイン「)
ws.OpenPage(」保存」) End Subの

私はそれを閉じずにフレームセットであるUIドキュメントを保存/閉じることができますどのように上の任意のアイデアデータベース全体。

デレク

答えて

1

フレームセットのフレーム内でドキュメントを開いた理由は何ですか?
通常、アウトラインとビュー用のフレームセットがあり、独自のタブ/ウィンドウでドキュメントを開くことができます。このようにすると、実行しているコードがドキュメントを閉じるだけです。

**更新 は、いくつかのより多くのテストを行なったし、あなたがuidoc.save後にこれを挿入し、

Call ws.SetTargetFrame("your frame name here") 
Call ws.ComposeDocument("","","your form name here",,,False) 

uidoc.close削除することができ、私はあなたが戻って終了時「」にターゲットフレームを設定する必要が言及するのを忘れてしまいました他のアプリがフレームセットを開こうとしたときにユーザーにエラーが発生する可能性があります。

+0

あなた」、いくつかのより多くのテストを行なったし、あなたは「uidoc.save後にこれを挿入し、uidoc.close コールws.SetTargetFrame(「ここにフレーム名」) コールws.ComposeDocumentを(「」、」削除することができますフォーム名はここに ",,, False) – Carlos

+0

ユーザーは複数のドキュメントを開いて混乱しているため、ドキュメントをフレームに入れるように求められました...私はそれが訓練の問題であり、それはMailの仕組みだと言い続けました...しかし、彼らはそれを聞きたくありませんでした..... – Derek

0

あなただけの代わりにあなたが表示した2つの1つのuidoc.closeイベントを含める場合は正常に動作する必要があります。

また、PostSave/PostCloseまたはQuerySave/QueryCloseのいずれのフォームイベントもcloseイベントを呼び出さないようにしてください。

関連する問題