お世話になっております。
Aアプリ
・顧客名
・都道府県
・住所
Bアプリ
・顧客名(Aアプリのルックアップ)
・顧客ID(↑より、レコード番号をコピー)
・都道府県
・住所
上記のような条件で、Bアプリに設置したボタンを押下すると、
Bアプリの都道府県・住所欄にAアプリの情報が、
レコード番号で紐付けてコピー&表示
という機能を実装したいと思っています。(EditとCreateの場合のみ)
当方、プログラミング初心者で、ボタンを実装するところまでは出来ましたが、
そこから先どのように組んでいけばよいのかわかりません。
上記の条件に似たサンプルコード等があれば是非ご教示いただきたいです。
kanaheyさん
cstapの落合です。
ルックアップの設定で、「ほかのフィールドのコピー」で都道府県と住所をコピーすれば、プログラミングの必要はないかと思います。
以上、参考になりますでしょうか?
落合様
ご回答ありがとうございます。
こちら、ややこしいのですが、
Aアプリは会社情報、Bアプリは人物情報となっています。
Aアプリには本社の住所が登録されており、
Bアプリで人物を登録する際は、その人物が配属されている支社等の住所を登録するのですが、その人物が本社勤務の場合、Aアプリに登録されている本社の住所をボタンひとつでコピーしてこれる機能が欲しいと思い、質問させていただきました。
kanaheyさん
cstapの落合です。
なるほど、別でコピーしたいわけですね。
動作確認していないので動くかわかりませんが、以下のようなJavaScriptで他のアプリからのコピーが実現できるかと思います。
(function() {
"use strict";
var aAppId = 123;
kintone.events.on(['app.record.edit.show', 'app.record.index.edit.show'], function(event) {
// スペースフィールドにボタンを設置
var btn = document.createElement('button');
btn.id = 'my_space_field_button';
btn.innerHTML = 'スペースボタン';
btn.onclick = function () {
kintone.api(
kintone.api.url('/k/v1/record', true),
'GET', {
app: aAppId,
id: event.record['顧客ID'].value
},
function(resp) {
var record = kintone.app.record.get();
record['都道府県'].value = resp.record['都道府県'].value;
record['住所'].value = resp.record['住所'].value;
kintone.app.record.set(record);
}
);
}
kintone.app.record.getSpaceElement('my_space_field').appendChild(btn);
});
})();
以上、参考になりますでしょうか?
落合様
ご教示いただいたコードで解決できました!
ありがとうございました!