🟠ぺージ生成時処理🟠 🟢ページ内処理🟢
指定した kintone アプリの検索条件に合うレコードのデータを1レコード毎に更新します。
いったんクエリでレコードを取得して、そのレコードをもとにマッピングで値を変更し、更新をかけるという動きをします。 「クエリで条件を指定して kintone からレコードを取得する」と異なり、レコード取得時にキャッシュは行いません。
同様の「やること」に「kintone のレコードを更新する」があります。
「kintone のレコードを1つずつ更新する」は1レコードずつ更新を行うため、 対象アプリに「レコードの編集」に対する Webhook が設定されていればその Webhook に通知が発生するという利点があります。 ただし、更新対象レコードが多数ある場合は、より多くの処理時間がかかるというデメリットもあります。 一方、「kintone のレコードを更新する」では Webhook 通知は発生しませんが、 「kintone のレコードを1つずつ更新する」よりも少ない処理時間でレコードを更新することができます。 Webhook が必要ない場合は「kintone のレコードを更新する」の使用を推奨します。
更新対象レコードがある kintone アプリの ID を入力します。
kintone 接続設定を指定します。API トークンにレコード閲覧権限とレコード編集権限が必要です。
「認証が必要 / ユーザー指定あり」タイプの接続設定を使用する場合、「検索条件」で指定したクエリに加えて、接続設定の「認証時に実行するクエリ」が自動的に and で付加されます。
kintone レコードを取得する際の検索条件(クエリ)を入力します。kintone API の query パラメーターの情報をそのまま入力してください。
検索条件(クエリ)の記法については、Cybozu公式のドキュメントをご参照ください。
式を用いて入力アイテムの値やアクションの結果値をクエリに埋め込むことも可能です。この場合、式の値に対し kintone クエリとしてのエスケープは行われません。エスケープについては、Cybozu公式ドキュメントをご参照ください。
工事コード = "${item1}"
更新するフィールドと値のマッピング情報を入力します。
更新したいフィールドのみを記述すれば構いません。更新しないフィールドのマッピングは、マッピング行自体が不要です。
「セットする値」には、フィールドにセットする値を記述します。「=式」が使用できます。
「セット先のフィールドコード」にはセット先フィールドのフィールドコードを指定します。ここでは式は使えません。
kintoneのテーブルにマッピングしたい場合は、「セット先のフィールドコード」を テーブルのフィールドコード.テーブル内フィールドのフィールドコード とします。
例えばテーブルのフィールドコードが Table_1 でテーブル内フィールドが 数値_2 の場合、「セット先のフィールドコード」に Table_1.数値_2 と記述します。
「セット先のフィールドコード」がテーブル形式の場合、「セットする値」は配列値でなければなりません。配列の要素数分のテーブル行が作成されます。
同じテーブルの複数のフィールドにマッピングする場合、それぞれの配列値で要素の並び順が揃うように注意してください。
例えば、「明細」というテーブルに「商品」「単価」というフィールドがあって、
| 商品 | 単価 |
|---|---|
| パソコン | 200000 |
| タブレット | 50000 |
というテーブルデータを入れたい場合マッピングはこう書きます。
| セットする値 | セット先のフィールドコード |
|---|---|
| = ["パソコン", "タブレット"] | 明細.商品 |
| = [200000, 50000] | 明細.単価 |
「チェックする」の場合、更新レコードが他のユーザーからの更新と競合していないかがチェックされ、競合している場合は実行時にエラーとします。「チェックしない」の場合、このチェックを行いません。
よくわからない場合、「チェックする」をお勧めします。
検索条件で検索して得たレコードと、マッピングの値を合成したレコードリストになります。
このレコードリストのうち、マッピングで上書きした部分は、実際に kintone から取得したものではなく、あくまでもマッピング上の値となります。
更新先アプリに「レコードの編集」条件で Webhook 通知を行うように設定されている場合、本「やること」を実行するとこの通知が発生します。