【kintone】ルックアップフィールドへの転記について

 

背景・実現したいこと

「資材コード」に入った値を「資材コードコピー」へJavaScriptでレコード保存時に転記できるようにしたいと考えています。

 

~画像の説明~

「商品コード」に値を入れるとルックアップで、①の「商品名」「資材コード」「資材名」が取得されます。

「資材コードコピー」はルックアップフィールドで、値を入れると、②「資材詳細A」「資材詳細B」の値が取得されます。

取得したい値①②が別々のアプリに存在するため、両方に存在する「資材コード」をキーに値を1つのアプリに集約するため作成しています。

 

エラー情報 (開発者ツールのコンソール)

フィールドの値を転記する の動画を見ながらコードを作成し、デバッグも確認しました。

コンソール画面で、valueに値が入っているのですが、保存しても値が入りません。

 

利用したソースコード

**(function() {  
   "use strict";  
   kintone.events.on([  
       "app.record.create.submit",  
       "app.record.edit.submit"  
       ], function(event){  
           event.record["資材コードコピー"]["value"] = event.record["資材コード"]["value"];  
           return event;  
       });  
})();**  

 

以下のように書くとうまくいかなーと思います!

 event.record["資材コードコピー"]["value"] = event.record["資材コード"]["value"];
 event.record["資材コードコピー"].lookup = true;

あと、ルックアップの参照元の資料コードは重複禁止にしておく必要があります。(念のために)

細谷 崇 様

 

コメントありがとうございます。

 

教えていただいたコードをに修正して動かしてみたのですが、やはり「資材コードコピー」のルックアップフィールドには値は転記されず、空欄のままで保存されました。

コンソール画面ではエラーも出ておらず、そこで動きを確認するとvalueに値が入っています。

 

参照元「資材コード」は重複禁止にはしていなかったので、重複禁止にチェックを入れました。

ありがとうございます。

横から失礼します。

app.record.create.submit、app.record.edit.submitのイベント内では、ルックアップの自動取得が使えないのでは無いかと思います。

以下のページの「レコード追加画面のイベント」「レコード編集画面のイベント」を見ると、「ルックアップを自動取得する」は「保存するとき」には使えない事が分かります。

https://cybozu.dev/ja/kintone/docs/js-api/events/event-object-actions/

あさが 様

 

コメントありがとうございます。

 

ご指摘いただいた部分をURLリンク先で確認いたしました。

確かに「ルックアップを自動取得する」は「保存するとき」には使えないと記載されていたので、それぞれのイベントでも「保存するとき」ではなく「フィールドの値を変更したとき」にしてみたところ、値が入りました。

気付きをいただき、本当にありがとうございます。

 

 

無事、やりたいことが実装できました。

コメントいただきました、細谷 崇様、あさが様、ありがとうございました。

 

うまく動いたようで良かったです!

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。