アプリA.foorbar
ルックアップフィールドで、アプリB.foobar
レコードから、値を取得してきて、アプリA.hoge
とか。アプリA.fuga
とか更新しているとします。
そしてアプリA.foobar
ルックアップフィールドが変更された時に、アプリA.baz
フィールドを変更したい場合。あると思います。
アプリAに3つのフィールドがあるとしましょう。
こんなJavaScriptを書いてみます。
kintone.events.on('app.record.edit.change.foobar',function(){ //処理 });
ところがこれだと、イベントフックしてくれません。ルックアップでイベントを取りたい時には、ルックアップで更新される側のフィールドを使うようです。
ところがところが、別のフィールドがundefinedになるパターンがありまして。
kintone.events.on('app.record.edit.change.hoge',function(){ console.log(event.record.fuga.value);// undefined });
hogeとfugaが順番に読み込まれるため、fugaの値を参照しても間に合ってない時があります。
kintone.events.on('app.record.edit.change.fuga',function(){ console.log(event.record.fuga.value);//OK });
ルックアップフィールドでchangeイベントを使いたい時は、「一番最後に読み込まれるフィールドのchangeイベントを捕まえる」というのがいいようです。
「ルックアップで読み込まれる順番を制御する」とか「ルックアップで全フィールド更新が終わった時に発火する」という方法があるといいんですけれども、誰かご存知でしたらぜひ教えてください。
追記
こんな記事を見つけましたのでご参考まで。