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 計算式プラグイン ボタンクリックでテーブル行追加(FSET_TADD版)

Last updated at Posted at 2024-10-03

計算式プラグインを使って、ボタンクリックでテーブル行を追加する例(FSET_TADD版)です。

概要

「共通タスク追加」で、テーブルを初期設定。
「Xタスク追加」、「Yタスク追加」で、テーブル行を追加します。

「完了日時設定」で、作業ステータスが "完了"の場合、日時に現在時刻を設定します。

※計算式プラグイン Ver.82 以降で対応

2024-10-03_23h57_16.png

操作例

2024-10-04_00h03_09.gif

アプリ設定

スペース項目を追加します。
ボタン用にスペース項目を要素IDをつけて設定

2024-10-04_00h05_02.png

計算式プラグイン設定

テーブル行追加ボタンクリックで、「テーブル」に追加データを設定します。
「完了日時設定」で、作業ステータスが「完了」行の日時に現在時刻を設定します。

FSET_TADD 関数は、テーブル行データに JSON 文字列またはオブジェクト形式を指定できます。

  • JSON 文字列
    • "[
      {'作業ステータス':'未着手','タスク名':'Xタスク1','期日':'"&TODAY()&"','チェックボックス':['A']},
      {'作業ステータス':'未着手','タスク名':'Xタスク2','期日':'"&TODAY()&"'},
      {'作業ステータス':'未着手','タスク名':'Xタスク3','期日':'"&TODAY()&"'}
      ]"
  • オブジェクト形式
    • ARRAY_FOR(3,idx,
      DIC(
      "作業ステータス","未着手",
      "タスク名","Yタスク"&(idx+1),
      "期日",TODAY(),
      "チェックボックス",ARRAY("B")
      )
      )

2024-10-04_00h09_03.png

.js
OPTION: 循環参照を許可

// SP1:(SP1) SPACER
BUTTON("共通タスク追加",
  FSET(タスク,
    ARRAY("",
            "[
            {'作業ステータス':'未着手','タスク名':'タスク1','期日':'"&TODAY()&"'},
            {'作業ステータス':'未着手','タスク名':'タスク2','期日':'"&TODAY()&"'},
            {'作業ステータス':'未着手','タスク名':'タスク3','期日':'"&TODAY()&"'}
            ]"
    )
  )
)

// SP2:(SP2) SPACER
BUTTON("Xタスク追加",
  FSET_TADD(タスク,
    "[
       {'作業ステータス':'未着手','タスク名':'Xタスク1','期日':'"&TODAY()&"','チェックボックス':['A']},
       {'作業ステータス':'未着手','タスク名':'Xタスク2','期日':'"&TODAY()&"'},
       {'作業ステータス':'未着手','タスク名':'Xタスク3','期日':'"&TODAY()&"'}
    ]"
  )
)

// SP3:(SP3) SPACER
BUTTON("Yタスク追加",
  FSET_TADD(タスク,
    ARRAY_FOR(3,idx,
      DIC(
        "作業ステータス","未着手",
        "タスク名","Yタスク"&(idx+1),
        "期日",TODAY(),
        "チェックボックス",ARRAY("B")
      )
    )
  )
)

// SP4:(SP4) SPACER
BUTTON("完了日時設定",
  ARRAY_MAP(TARRAY(作業ステータス),x,idx,
     IF(AND(x="完了",SUBTABLE(日時,idx)=""),
       FSET(日時,NOW(),idx)       
     )
  )
)

// SP5:(SP5) SPACER
BUTTON("完了日時設定2",
  SUMIF(AND(作業ステータス="完了",日時=""),
       FSET(日時,NOW(),ROWNO(タスク))       
  )
)
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?