krewSheet の画面で「レコードを保存する直前(削除時は除く)」のタイミングでエラーチェックを行いたい場合、下記のようなカスタマイズで実現できます。
ただ、krewSheetを表示しているアプリでレコードを保存したときに、krewSheet で保存されたレコード内のフィールドと同じ値を持つレコードが、チェック先の別アプリに存在すればエラー……のようなチェックを行いたい場合、上記のようなカスタマイズでは実現ができません。
この記事ではそういった時のカスタマイズについてお伝えします。
カスタマイズの全体像
少し複雑になりますが、以下のようなカスタマイズでしたら実現できます。
カスタマイズの解説
カスタマイズの詳細を説明していきます。
まずは、やること「krewSheetで保存しようとしているレコードを取得する」で、krewSheet で保存対象となったレコードを取得します。
krewSheet は画面上で複数のレコードを編集し、保存ボタンをクリックするとまとめて保存されるので、保存対象となったレコードは複数存在する可能性があります。
krewSheet で保存対象となったレコードを「リストから要素を取り出す」で1レコードずつ取り出し、取り出したレコードのフィールドの値をキーに(例では「コード」フィールド)、チェック先の別アプリからレコードを取得します。
アクション165でレコードが取得されたら、チェック先の別アプリに同じ値を持つレコードが存在するということなので、「フィールドエラーを表示する」でエラーを表示します。
最後のアクション170は、アクション166の条件が満たされず実行されない場合も、「リストから要素を取り出す」の繰り返しを最後まで行うためのアクションです。
カスタマイズは以上です。
「kintone アプリへ登録」して、エラーが表示されるかお試しください。
【参考】アクショングラフ
アクショングラフは次のようになります。参考にしてください。