いいね!数

0

閲覧数
199

いつもお世話になっております。

 ディスカッションデータベースを利用しているのですが、保存された文書の親子関係の紐づけを整理したいと考えています。

以下を実現する方法がありましたら、ご教授頂けないでしょうか。

①親文書Aを親文書Bの子文書にする

②親文書Cの子文書を親文書Bの子文書にする

ヘルプやネットで調べてみて、「MakeResponse メソッド」を見つけたのですが、LotusScript初心者のためどのように応用できるか分からず、困っています。

よろしくお願いいたします。

サーバー情報:Windows Server 2012 R2Domino9.0.1 FP10 | クライアント情報:Windows7notes9.0.1 FP10 | 
カテゴリ:アプリ開発 - Notes アプリ | タグ:
  | 質問日時:Jan 21, 2019, 3:07:52 PM

回答・コメント

いいね!数

2

下のサンプルは、ビューのアクションボタンを想定したものです。

Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim newParent As NotesDocument

Set db = ws.CurrentDatabase.Database
Set doc = db.GetDocumentByID( ws.CurrentView.CaretNoteID ) 'フォーカスが当たっている文書を取得する
Set dc = ws.PickListCollection( 3, False, db.Server, db.FilePath, ws.CurrentView.View.Name, "移動先選択", "新たに親とする文書を選択します。")
Set newParent = dc.GetFirstDocument '新たに親となる文書を取得する
Call doc.MakeResponse( newParent ) '親子の関係を築く
Call doc.Save( True, False ) '新たな親子関係を確かなものにするため保存する
Call ws.ViewRefresh '表示を更新する

ビューで選択されている文書を、新たに選択した文書の子文書にします。

サンプルでは単純にするためにエラー処理を省略しています。

また実際には「ビューで選択されている文書」と「新たに選択した文書」が同じ文書なら処理しない、とか「新たに選択した文書」に応じてフォーム名を変えたり、フィールドの過不足に対応するような処理がほしくなるかもしれません。

回答日時:Jan 23, 2019, 11:38:22 AM

いいね!数

0

haruyuki nakano様

ご連絡ありがとうございます。

本件を調べるにあたり、haruyuki nakano様のブログも拝見させて頂いていたため、

ご回答頂いたことに驚き、嬉しかったです。

早速頂いたサンプルを試してみたところ、実現させたかった通りに文書を整理することができました。

困っていたので、本当にありがとうございました。

解決済みにしたのに追加の質問になってしまい、申し訳ありません。

一点だけ、追加で質問させて下さい。

ご指摘頂いた通り、フォーム名を変えたいと思い、

doc.Form = "Response"と追記してみたのですが、プロパティで見てもFormフィールドは変わっていません。

LotusScript初心者なもので、この書き方は間違っているのでしょうか。

回答日時:Jan 23, 2019, 3:32:03 PM

いいね!数

0

書き方は正しいと思います。

doc.Form = "Response" を追加した位置が、doc.Save (保存しているところ)のすぐ上側でしたら変わると思いますが、いかがでしょうか。

可能でしたら変更したコードを示していただけると回答しやすいのですが。

回答日時:Jan 23, 2019, 3:58:31 PM

いいね!数

0

haruyuki nakano様

ご回答ありがとうございます。

先程は、なぜかできなかったのですが、もう一度doc.Saveの上に書いてみたところできました。

本当にありがとうございました。

回答日時:Jan 23, 2019, 4:13:10 PM

いいね!数

0

ひょっとすると古い設計のキャッシュが悪さをしていたのかもしれませんね。

 

それから私のブログにあった MakeResponse のくだりは非常にわかりづらかったと思います。

これに懲りずにまたアクセスしていただければ幸いです。

回答日時:Jan 23, 2019, 4:31:24 PM