以下のような方法を試してみましたが、コード、氏名はOKでしたが、社員番号は駄目でした。基本的なことがわかっていないのだと思いますが、ご指導いただけると助かります。宜しくお願いします。
kintone.events.on([‘app.record.edit.change.ユーザー選択’],function(event){
var record = event.record;
record[‘コード’][‘value’] = record[‘ユーザー選択’][‘value’][0][‘code’];
record[‘氏名’][‘value’] = record[‘ユーザー選択’][‘value’][0][‘name’];
record[‘社員番号’][‘value’] = record[‘ユーザー選択’][‘value’][0][‘employeeNumber’];
return event;
});
takashi.k さん
フィールド形式 にあるように、ユーザ選択項目は、code と name しか持っていません。
employeeNumber は、ユーザーエクスポート API(JSON)のcodes指定で取得できます。
あとは下記の検討が必要です。
・ユーザ選択クリア時もchange イベント発生
・複数ユーザ選択可能
rex0220さん、コメントありがとうございます。
「ユーザーエクスポート API(JSON)の codes指定」というものを使うのですね。
まだ、その辺りの事はよく理解できておりませんが、リンクを参考に勉強してみます。
その他の懸念は、先ず employeeNumber の取得に成功してから考えます。
宜しくお願いします。
こんなコードで取得できると思います。
var params = {
codes : [record['ユーザー選択']['value'][0]['code'] ]
};
return kintone.api('/v1/users', 'GET', params, function(resp) {
console.log('users resp', resp);
if (resp.users.length > 0) {
console.log('users[0] employeeNumber', resp.users[0].employeeNumber);
record['社員番号']['value'] = resp.users[0].employeeNumber;
}
else {
record['社員番号']['value'] = '';
}
return event;
});
rex0220さん、コメントありがとうございます。
別スレッド「従業員IDを取得すると全員adminsistratorの番号になってしまう」も参考にして、なんとなく実現できました。
が、引用しただけで、スクリプトの詳細がまだ理解できていないので、もう少し勉強してみます。
ありがとうございました。