カスタマイズ

他のアプリからフィールドの値をコピーする

概要

このアプリのフィールド値をキーに他のアプリのレコードを参照し、そのフィールド値をこのアプリにコピーします。

使い方

同じような動きは kintone 標準機能のルックアップでも可能ですので、まずは kintone 標準機能の利用を検討してみてください。

例えば以下のような、kintone の標準機能だけでは実現できないことを行いたい場合にこの「やること」を使用します。

  • 「条件」と組み合わせることで、特定の場合だけフィールドをコピーする
  • キーに合うレコードが複数ある場合に最新の1レコードからコピーする
  • テーブルの各行に対して一斉にコピーを実施する

設定するパラメーター

「キーの値になるこのアプリのフィールド」「コピー元のアプリ」「キーになるコピー元アプリのフィールド」「マッピング」「レコードが複数あった場合」を設定します。

「キーの値になるこのアプリのフィールド」と「コピー元のアプリ」の「キーになるコピー元アプリのフィールド」が一致するレコードをコピー元のアプリから探し、フィールドマッピングに基づいてこのアプリにコピーします。

キーの値になるこのアプリのフィールド

キーの値になるこのアプリのフィールドを選択します。

選択できるフィールドタイプは以下の通りです。

  • 文字列(1行)
  • 数値
  • 計算
  • リンク
  • 日付
  • 時刻
  • 日時
  • ルックアップ(文字列)
  • ルックアップ(数値)
  • レコード番号

テーブル内のフィールドを指定した場合、特別な場合(*1)を除き、テーブル内のすべての行でコピーが実施されます。

(*1) 条件側で、「フィールドの値を編集して値が変わった時」のように、テーブル行を限定するように条件が入っている場合は、対象の行だけ処理されます。

コピー元のアプリ

コピー元のアプリを選択します。

キーになるコピー元アプリのフィールド

キーになるコピー元アプリのフィールドを選択します。

選択できるフィールドタイプは以下の通りです。

  • 文字列(1行)
  • 数値
  • 計算
  • リンク
  • 日付
  • 時刻
  • 日時
  • ルックアップ(文字列)
  • ルックアップ(数値)
  • レコード番号

キーの値になるこのアプリのフィールドと、このフィールドの値が一致するレコードがコピー元のレコードになります。

テーブル内のフィールドは選択できません。

マッピング

コピー元アプリから、現在カスタマイズ中のアプリのフィールドへのマッピングを設定します。

このマッピングの中で用いる式では、参照するフィールドは、カスタマイズ中のアプリのフィールドではなく、コピー元アプリのフィールドになります。

「キーの値になるこのアプリのフィールド」としてテーブル内のフィールドを選んでいる場合、マッピング先(=コピー先)のフィールドは同じテーブル内のフィールドに限られます。

「キーの値になるこのアプリのフィールド」としてテーブル外のフィールドを選んでいる場合、テーブル内へのフィールドへのマッピングはできません。

レコードが複数あった場合

「キーの値になるこのアプリのフィールド」と「キーになるコピー元アプリのフィールド」が一致するレコードが複数あった場合、どのように対応するかを選択します。

  • エラーにする … 「データが特定できません。」というエラーをフィールドのエラーとしてセットします。
  • レコード番号が一番小さい1行を選択 … 複数一致するうちのレコード番号が一番小さいものをコピー元のレコードとして選択します。
  • レコード番号が一番大きい1行を選択 … 複数一致するうちのレコード番号が一番大きいものをコピー元のレコードとして選択します。

krewSheet 対応状況

以下の条件時のみ対応しています。

ただし、以下の制限があります。

  • ルックアップでコピーされるフィールドにはセットできません。
  • 以下のフィールドは「レコードを保存する直前(削除時は除く)」のようにレコード保存のタイミングのみでセット可能です。やや専門的になりますが、より詳しく知りたい方は krewSheet のドキュメント も参考にしてください。
    • krewSheet の表示列に含まれていないフィールド
    • krewSheet で読み取り専用に設定されているフィールド
    • リッチエディターフィールド

制限事項

以下のいずれかの画面で使用できます。それ以外の画面で使用すると、アプリ実行時にエラーになります。

  • レコード追加画面
  • レコード編集画面
  • PCのレコード一覧画面インライン編集モード(鉛筆アイコンを押して編集モードになった状態)

ただし、一覧画面インライン編集モードでは、「編集画面を表示した時」のタイミングでコピーを行うことはできません。レコード編集画面では「編集画面を表示した時」のタイミングでも使用できます。

関連記事