krewSheet の画面で「レコードを保存する直前(削除時は除く)」のタイミングでエラーチェックを行いたい場合、下記のようなカスタマイズで実現できます。


ただ、krewSheetを表示しているアプリでレコードを保存したときに、krewSheet で保存されたレコード内のフィールドと同じ値を持つレコードが、チェック先の別アプリに存在すればエラー……のようなチェックを行いたい場合、上記のようなカスタマイズでは実現ができません。


この記事ではそういった時のカスタマイズについてお伝えします。


カスタマイズの全体像

少し複雑になりますが、以下のようなカスタマイズでしたら実現できます。


カスタマイズの解説

カスタマイズの詳細を説明していきます。


まずは、やること「krewSheetで保存しようとしているレコードを取得する」で、krewSheet で保存対象となったレコードを取得します。

krewSheet は画面上で複数のレコードを編集し、保存ボタンをクリックするとまとめて保存されるので、保存対象となったレコードは複数存在する可能性があります。


krewSheet で保存対象となったレコードを「リストから要素を取り出す」で1レコードずつ取り出し、取り出したレコードのフィールドの値をキーに(例では「コード」フィールド)、チェック先の別アプリからレコードを取得します。


アクション165でレコードが取得されたら、チェック先の別アプリに同じ値を持つレコードが存在するということなので、「フィールドエラーを表示する」でエラーを表示します。


最後のアクション170は、アクション166の条件が満たされず実行されない場合も、「リストから要素を取り出す」の繰り返しを最後まで行うためのアクションです。


カスタマイズは以上です。

「kintone アプリへ登録」して、エラーが表示されるかお試しください。


【参考】アクショングラフ

アクショングラフは次のようになります。参考にしてください。