テーブル内の複数選択フィールドで月を選択すると、選択されている月をテーブル外のチェックボックスフィールドでチェックするカスタマイズをご紹介します。
kintone アプリの設定
テーブル外のチェックボックスフィールドと、テーブル内の複数選択フィールドはいずれも、
1月~12月の12個の項目を設定しています。
数字の部分は必ず半角で指定する必要がある点にご注意ください。
※フィールドコードはフィールド名と同じに設定しています。
カスタマインのカスタマイズ
このカスタマイズは やること「数値の範囲から数値を取り出す」を使用し、1月~12月の12回分チェックを繰り返すことで実現します。
まず、テーブル外のチェックボックスを、やること「フィールド値をクリアする」でクリアします。
条件は「レコードを保存する直前(削除時は除く)」を指定します。
次に、やること「数値の範囲から数値を取り出す」を使用して処理を12回繰り返し、1月~12月の各月の処理を行います。
パラメーターは下記のように指定します。
開始値:1
終了値:12
終了値を範囲に含めるか:終了値を範囲に含める
増分:1
回数上限:12
条件には「いずれかのアクションの実行が完了した時」を指定します。
「アクション」には、「フィールド値をクリアする」のアクションと、後続の「フィールドの選択を追加する」と「なにもしない」のアクション番号を指定します。
条件「リストから要素を取り出した時」は、やること「数値の範囲から数値を取り出す」で、1、2・・・のように数値が取り出される度に実行されます。
今回のカスタマイズは、やること「数値の範囲から数値を取り出す」で取り出した数値に、"月"を結合して「1月」「2月」のような文字列を作成し、
条件「テーブル行の中に列が条件を満たす行が1行以上あるならば」でテーブル内の「開催月」フィールドの値と比較して、”1月が含まれる”、”2月が含まれる”・・・のような条件を指定します。
パラメーターには下記のように指定します。
列フィールド:開催月
条件:含まれる
比較値:= $42 & "月"
※ アクション番号42番の結果に、"月"を結合します
そして、やること「フィールドの選択を追加する」で、テーブル内に「1月」など指定した月が選択された行が存在していれば、
チェックボックスにチェックを追加します。
値には、条件の比較値と同様に下記を指定します。
= $42 & "月"
最後に、”1月”などの月がテーブル内に含まれるかチェックした結果、条件を満たす行がなかったときのアクションも作成します。
やることは「なにもしない」、条件は「全てのテーブル行で列が条件を満たさないならば」です。
条件「テーブル行の中に列が条件を満たす行が1行以上あるならば」を反転すると「全てのテーブル行で列が条件を満たさないならば」になります。
このアクションが必要な理由としては、アクション43に指定した条件が満たされない時はアクション43は実行されず、
「数値の範囲から数値を取り出す」の12回の繰り返しが途中で中断されてしまうためです。
そういった状況を回避するため、”1月”などの月が見つかったときのアクションと、見つからなかったときのアクションを両方作成する必要があります。
以上でカスタマイズは完了です。
「kintone アプリへ登録」をクリックし、動作を確認してみてください。
ご不明点等ございましたら、チャットにてご質問ください!
Customineドキュメントやサポートページもぜひご活用ください。