0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

rex0220 計算式プラグイン テーブル行の自動追加・更新

Last updated at Posted at 2025-01-15

計算式プラグインで、テーブル行の自動追加・更新を行ってみます。

※参考 rex0220 一括更新プラグインと計算式プラグインの連携 テーブル行の自動追加・更新

概要

日付項目の変更時に、テーブル行の追加・更新を行います。
テーブルに該当日付が無い場合は、行追加。ある場合は更新します。
テーブルは、日付順にソートします。

  • 編集画面

2025-01-15_12h07_20.png

  • 一覧画面

一覧画面でレコード編集する場合、日付の変更でテーブル行の追加・更新が行われますが、テーブル表示にはレコード保存後に反映されます。

2025-01-15_12h29_32.png

操作例

2025-01-15_12h34_21.gif

アプリ設定

テーブルの追加更新の制御用に「計算処理用」文字列項目を追加します。

2025-01-15_12h27_30.png

計算式プラグイン設定

「循環参照を許可」をチェック

  • 出欠一覧テーブル
    • TABLE_SORTで、日付順に
    • 日付未設定の行は、削除
  • 計算処理用
    • テーブル行追加・更新の計算を行います。

2025-01-15_12h23_07.png

.js
OPTION: 循環参照を許可

// 出欠一覧 SUBTABLE (editable)
TABLE_SORT(出欠一覧,
  TPFILTER(日付_一覧),
  TPSORT(日付_一覧)
)

// 計算処理用 SINGLE_LINE_TEXT (hide)
IF(日付,
  LET(
    rno, FIRSTIF(日付_一覧==日付,ROWNO(出欠一覧)),
    IF(rno === "",
      LET(
        row, JSON_S(ARRAY(DIC(
          "日付_一覧",DATE_FORMAT(日付),
          "出欠_一覧",出欠
        ))),
        FSET_TADD(出欠一覧, row)
      ),
      FSET(出欠_一覧, 出欠, rno)
    )
  )
)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?