Forguncy サポート

マスターテーブルとマスターテーブルに関連付いたすべての詳細テーブルを、JavaScriptから削除する

フォローする

対象製品とバージョン:Forguncy 3.0.105.0以降

Forguncyが提供する複数レコードの一括更新用のWeb APIである「modifyTablesData」は、一意のキーを指定して1レコードずつ削除していく必要があります。このためマスターテーブルに関連付いたすべての詳細テーブルを、マスターを削除した際に一緒に削除したい場合、一旦リストビューに取り込んで、一意となるキーを取得したものを該当レコード件数分実行するといったJavaScriptを記載する必要があります。

ページ末尾のサンプルプロジェクトを、参照してください。
サンプルプロジェクトでは、以下のことを行っています。

(1)リストビューを2つ配置し、マスターテーブルと明細テーブルをそれぞれ関連付けます。
(2)各リストビューのクエリを指定します。
(3)明細テーブルに関連付けたリストビューを右クリックし「詳細リストビューとして設定」を指定します。
(4)セルに名前をつけます。(サンプルでは、deleteNo、deleteKbn)
(5)ボタンを配置し「JavaScriptコードの実行」コマンドで以下のように記載します。

var deleteNo = Forguncy.Page.getCell("deleteNo").getValue();
var deleteKbn = Forguncy.Page.getCell("deleteKbn").getValue();
var detailListView = Forguncy.Page.getListView("リストビュー2");

var detailTableDeleteRows = [];
for (var rowIndex = 0; rowIndex < detailListView.rowCount; rowIndex++) {
    var cell = detailListView.row(rowIndex).cell(0);
    detailTableDeleteRows.add({ "注文No": cell });
}

Forguncy.modifyTablesData(
{
    "注文書テーブル": {
        deleteRows: [{"注文No": deleteNo ,"注文区分": deleteKbn },]
    },
    "注文書テーブル_詳細": {
        deleteRows: detailTableDeleteRows
    },
},
    function (data) { // レコードの削除に成功した場合
        //alert("レコードが削除されました。");
    },
    function (errorMessage) { // レコードの削除に失敗した場合
        alert(errorMessage);
    }
);

検索キーワード: fgchowto fgcdevelopment fgcdatabase 

他にご質問がございましたら、リクエストを送信してください

コメント