他アプリのデータを取得し、レコード追加時に値をセットしたい

お世話になっております。

タイトルの件にいついて、「職員名簿」「依頼受付」という2アプリがあり、

依頼受付アプリのレコード登録時に「職員名簿」アプリから特定のフィールドデータを取得して初期値にセットしたいと考えております。

*-----------------------------------*

職員名簿アプリ(※アプリID:80)には

・氏名(文字列1行)

・所属部(ドロップダウン)

・所属課(ドロップダウン)

・所属係(ドロップダウン)

*-----------------------------------*

依頼受付アプリには

・依頼者(ユーザー選択※初期値にログインユーザー)

・所属部(ドロップダウン)

・所属課(ドロップダウン)

・所属係(ドロップダウン)

*-----------------------------------*

とそれぞれフィールドがあり、依頼受付アプリの依頼者のログインユーザーの名前をキーにして職員名簿アプリの氏名と同じレコードの所属部、所属課、所属係の値を取得、初期値としてセットしたいです。

現在下記コードで設定していますが、値のセットが出来ず、躓いております。

(function () {
    "use strict";
    var events = [
        'app.record.create.show',
        'app.record.edit.show',
        'app.record.create.change.依頼者',
        'app.record.edit.change.依頼者'
    ];
    kintone.events.on(events, function(event) {
        var record = event.record;
        var appId = 80;
        var recordId = record['依頼者'].value[0].name;
        kintone.api('/k/v1/records', 'GET', {
            app: appId,
            query: '氏名 = "' + recordId + '"',
            fields: ['所属部','所属課','所属係'],
        },
        function(resp) {
            var group1 = resp.record['所属部'].value;
            var group2 = resp.record['所属課'].value;
            var group3 = resp.record['所属係'].value;
            var record = kintone.app.record.get();
            record['所属部'].value = group1;
            record['所属課'].value = group2;
            record['所属係'].value = group3;
            kintone.app.record.set(record);
        });
    });
})();

どこか間違っている部分がありましたら、ご教授いただければ幸いでございます。

よろしくお願いいたします。

お世話になっております。

自己解決しました。

お騒がせしてすみません。

今後ともよろしくお願いいたします。

Nao様

突然のご連絡失礼いたします。
実は私も同じようなアプリを開発しており、同じ現象に悩まされております。

 

もしよろしければ、解決したバージョンのコードを共有いただけませんでしょうか…?

お手数をおかけしてしまい申し訳ありません。
ご確認いただけますと幸いです。

それでは何卒よろしくお願いいたします。

Mamoru TANABE様

おはようございます。

私の設定したコードは下記になります。

(function () {
    "use strict";
    var events = [
        'app.record.create.show',
        'app.record.edit.show',
        'app.record.create.change.依頼者',
        'app.record.edit.change.依頼者'
    ];
    kintone.events.on(events, function(event) {
        var record = event.record;
        var appId = 取得先のアプリID;
        var recordId = record['依頼者'].value[0].name;
        kintone.api('/k/v1/records', 'GET', {
            app: appId,
            query: '氏名 = "' + recordId + '"',
            fields: ['所属部','所属課','所属係'],
        },
        function(resp) {
            var group1 = resp['records'][0]['所属部']['value'];
            var group2 = resp['records'][0]['所属課']['value'];
            var group3 = resp['records'][0]['所属係']['value'];
            var record = kintone.app.record.get();
            record['record']['所属部']['value'] = group1;
            record['record']['所属課']['value'] = group2;
            record['record']['所属係']['value'] = group3;
            kintone.app.record.set(record);
        });
        return event;
    });
})();

お手数でございますが、ご確認お願い致します。

Nao様

お世話になっております。
早速のご回答ありがとうございます。

確認させていただきました。
とても参考になります。

ありがとうございます。
今後とも何卒よろしくお願いいたします。