背景・実現したいこと
「資材コード」に入った値を「資材コードコピー」へ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リンク先で確認いたしました。
確かに「ルックアップを自動取得する」は「保存するとき」には使えないと記載されていたので、それぞれのイベントでも「保存するとき」ではなく「フィールドの値を変更したとき」にしてみたところ、値が入りました。
気付きをいただき、本当にありがとうございます。
無事、やりたいことが実装できました。
コメントいただきました、細谷 崇様、あさが様、ありがとうございました。
system
(system)
クローズされました:
8
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。