親子複製とは、親子連携された2つのパネル(親パネルの主キーなどの項目によって、子パネルのレコードが限定されているパネル)で、親パネルのレコードを複製すると同時に、対応する子パネルの元レコードも複製する機能です。
例えば、親である伝票パネルと、子である明細パネルの2つが親子関係で定義されている場合に、伝票パネルのレコードを複製するだけでなく、同時に子である明細リストのレコードも複製したいことがあります。
親子パネル間で親子複製するには、コマンドで親パネルにて「親子複製」というアクションを使います。なお、親子複製を有効にするには、子パネルの限定設定で「親子編集を行なう」にチェックを入れる必要があります。
ここでは、説明のために次のような親となる「受注伝票」パネルと、子となる「受注明細」パネルがある状態で、親子複製アクションを含むコマンドを実行するための[伝票複製]ボタンを配置する例を示します。
親子複製は、親子関係を持つ2つのパネルが定義されている(子パネルが親パネルの選択レコードによって限定されている)必要があります。親子関係を持つパネルは、ウィザードの「明細パネル追加」機能でも定義できます。
(1) 管理メニューから「コマンド」を選択します。
(2) 「コマンド」画面で[新規]ボタンをクリックします。
(3) 「コマンド名」画面でコマンド名として「伝票複製」と入力し、[OK]をクリックします。
(4) 「コマンド」画面にて作成した「親子複製」コマンドが選択されている状態で、
「パネル」欄が親のパネル「受注伝票」となっていることを確認します。
次に、「ボタン配置」欄で「パネル」を選択して、表示名に「伝票複製」と入力します。
(5) 画面下のアクション表に新しい行を追加して、「アクション種別」欄のプルダウンから「親子複製」を選択します。
(6) 「アクションの内容」画面にて、「対象コンテキスト」欄で、
親パネルのコンテキスト「受注伝票」を選択し、[登録]ボタンをクリックします。
なお「アクションの内容」画面を表示するには、追加したアクションの「指定内容」欄をダブルクリックします。
(7) 「コマンド」画面の[登録]をクリックします。
(8) 「受注伝票」パネルの入力フォーム上にボタン[伝票複製]が自動的に配置されます。
なお、ボタンの配置を変えるには、入力フォームを右クリックして「画面デザイン」を選択することにより位置や大きさを変更できます。
(9) 次に、管理メニューの「コンテキスト」を選択します。
(10) 「コンテキスト」画面にて、「受注明細」コンテキストを選択して、[限定]ボタンをクリックします。
(11) 「コンテキスト連携(限定)」画面の「基本設定」タブにて
「親子編集を行う」にチェックを入れて 、[登録]ボタンをクリックします。
(1) 「受注伝票」パネルで複製したいレコードを選択して、[伝票複製]ボタンをクリックします。
(2) ボタンをクリックすると、親パネルで選択したレコードが複製されると同時に、子パネルである「受注明細」パネルのレコードも複製されます。
このとき、「受注明細」パネルのレコードでは、限定条件に指定した「受注伝票ID」の値が、複製した親パネルのレコードと同じ値となって複製されます。