11-3.コンテキスト連携の利用 - 明細データの複製

伝票データの削除時に関連する明細をすべて削除するには (親子削除)

【説明】

親子削除とは、親子連携された2つのパネル(親パネルの主キーなどの項目によって、子パネルのレコードが限定されているパネル)で、親パネルのレコードを削除すると同時に、対応する子パネルのレコードも削除する機能です。

例えば、親である伝票パネルと、子である明細パネルの2つが親子関係で定義されている場合に、伝票パネルのレコードを削除するだけでなく、同時に子である明細リストのレコードも削除したいことがあります。

親子パネル間で親子削除を行うには、コマンドで親パネルにて「親子削除」というアクションを使います。なお、親子削除を有効にするには、子パネルの限定設定で「親子編集を行なう」にチェックを入れる必要があります。

【具体例】

ここでは、説明のために次のような親となる「受注伝票」パネルと、子となる「受注明細」パネルがある状態で、親子削除アクションを含むコマンドを実行するための[伝票削除]ボタンを配置する例を示します。

親子削除は、親子関係を持つ2つのパネルが定義されている(子パネルが親パネルの選択レコードによって限定されている)必要があります。親子関係を持つパネルは、ウィザードの「明細パネル追加」機能でも定義できます。

【操作手順】

(1) 管理メニューから「コマンド」を選択します。

(2) 「コマンド」画面で[新規]ボタンをクリックします。

(3) 「コマンド名」画面でコマンド名として「伝票削除」と入力し、[OK]をクリックします。

(4) 「コマンド」画面にて作成した「親子削除」コマンドが選択されている状態で、
「パネル」欄が親のパネル「受注伝票」となっていることを確認します。

次に、「ボタン配置」欄で「パネル」を選択して、表示名に「伝票削除」と入力します。

(5) 画面下のアクション表に新しい行を追加して、「アクション種別」欄のプルダウンから「親子削除」を選択します。

(6) 「アクションの内容」画面にて、「対象コンテキスト」欄で、
親パネルのコンテキスト「受注伝票」を選択し、[登録]ボタンをクリックします。

なお「アクションの内容」画面を表示するには、追加したアクションの「指定内容」欄をダブルクリックします。

(7) 「コマンド」画面の[登録]をクリックします。

(8) 「受注伝票」パネルの入力フォーム上にボタン[伝票削除]が自動的に配置されます。

なお、ボタンの配置を変えるには、入力フォームを右クリックして「画面デザイン」を選択することにより位置や大きさを変更できます。

(9) 次に、管理メニューの「コンテキスト」を選択します。

(10) 「コンテキスト」画面にて、「受注明細」コンテキストを選択して、[限定]ボタンをクリックします。

(11) 「コンテキスト連携(限定)」画面の「基本設定」タブにて
「親子編集を行う」にチェックを入れて 、[登録]ボタンをクリックします。

【親子連携の実行】

(1) 「受注伝票」パネルで削除したいレコードを選択して、[伝票削除]ボタンをクリックします。

(2) ボタンをクリックすると、親パネルで選択したレコードが削除されると同時に、子パネルである「受注明細」パネルのレコードも削除されます。

限定されていない時のコンテキストの内容は、親子削除の前後で、次のように変化します。

【関連項目】

2016年11月24日 更新