gusuku Customineで二重ループを作成してみた

他人様の作成したkintoneアプリに手を加える必要が出た。

それはいいのだが、元アプリの構造には手を付けずに処理を追加しろとのお達し。

元々Customineで色々しているアプリなので、それに追記する形で作るかと色々考えたが、元の構造に手を付けないとすると、どうしても二重ループ処理が要る。要るんだけど、Customineで可能なのか?

やりたいこと「リストから要素を取り出す」でループ処理ができるなら二重ループもいけんじゃね? と希望的観測で作り始めて……結論から言うとできた。結構苦戦した。

ざっくり下記のような流れで二重ループが実現できた。

Noやること条件アクション
1何らかの手段でレコードを取得する
2リストから要素を取り出す
(リスト=1)
いずれかのアクションの実行が完了した時
1,6
32をキーにしてレコードを取得するリストから要素を取り出した時2
4リストから要素を取り出す
(リスト=3)
いずれかのアクションの実行が完了した時3,5
54をキーにして何かするリストから要素を取り出した時4
6なにもしないリストからの取り出しが終了した時4
7ループ終了後の処理リストからの取り出しが終了した時2

流れとしては、

  • 1をリストデータとする(外側のループ)
  • 2でリスト1から1件データを取り出す
  • 3でそれを元に別のデータの塊を選択し、リストデータとする(内側のループ)
  • 4でリスト3から1件データを取り出す
  • 5でそれを元に何かする→4に戻る(リストがなくなるまで)
  • リスト3がなくなったら2に戻る(リストがなくなるで2-5を繰り返す)

こんな感じ。

むしろハマったのは「リストから要素を取り出す」際のアクションの指定。
ここ、必ず「いずれかのアクション」を指定しないと、ループ自体が動きません。

コメント