以下コードを設定しております。
前提として以下のコード以外にedit.showのapiで別の値を設定してreturnしています。
そのあとにsubmint時に以下の通り値を設定していますが組織2~4に取得したユーザ情報が反映されません。
意図としてはedit.showで取得した値をもとにedit.submitでapiにて値を取得したいため上記のような処理にしております。
お手数ですがご教示いただけないでしょうか。
よろしくお願い致します。
/*
* 回答の条件によって別フィールドの表示/非表示を切り替えるサンプルプログラム
*/
(function() {
“use strict”;
//レコードの追加、編集、詳細画面で適用する
var events = [
‘app.record.create.submit’,
‘app.record.edit.submit’,
‘app.record.index.edit.submit’,
];
kintone.events.on(events, function(event) {
var record = event.record;
if(record[‘氏名’][‘value’]==“”){
alert(“氏名が入力されていません。”)
return false;
}else{
record[‘氏名_文字’][‘value’]=record[‘年度’][‘value’]+record[‘氏名’][‘value’][0][‘name’]
}
if(record[‘所属’][‘value’]==“”){
alert(“所属が入力されていません。”)
return false;
}else{
record[‘所属_文字’][‘value’]=record[‘所属’][‘value’][0][‘name’]
}
//初期化
record[‘2階層’][‘value’]=[];
record[‘2階層_代表事務’][‘value’]=[];
record[‘3階層’][‘value’]=[];
record[‘4階層’][‘value’]=[];
if(record[‘所属’][‘value’].length==0){
return event;
}
if(!record[‘職種’][‘value’]){
return event;
}
//ユーザからユーザ名を設定
if(record[‘氏名’][‘value’]==“”){
alert(“氏名が入力されていません。”)
return false;
}else{
record[‘氏名_文字’][‘value’]=record[‘年度’][‘value’]+record[‘氏名’][‘value’][0][‘name’]
}
if(record[‘所属’][‘value’]==“”){
alert(“所属が入力されていません。”)
return false;
}else{
record[‘所属_文字’][‘value’]=record[‘所属’][‘value’][0][‘name’]
}
// var nendo = record[‘年度’].value;
// var hyoukasuruhito = record[‘評価する人’].value[0].code;
var kyoten = record[“所属”].value[0].code;
var user =record[“氏名”].value; //tanka
var jimu=record[‘職種’][‘value’];
var params = {
‘app’: 823,
‘query’: ‘拠点コード in ("’ + kyoten + ‘") order by $id asc limit 1’
};
kintone.api(‘/k/v1/records’, ‘GET’, params, function (resp) {
if (resp[‘records’].length >= 1) {
// console.log(resp2[‘records’][0][‘拠点’].value[0].code);
// var setRecord = kintone.app.record.get();
//階層に評価者が含まれる場合、自分の階層および下位階層をクリア tanaka
if(resp[‘records’][0][‘4階層’].value.some( a => a.name === user[0].name)){
record[‘2階層’][‘value’]=[];
record[‘2階層_代表事務’][‘value’]=[];
record[‘3階層’][‘value’]=[];
record[‘4階層’][‘value’]=[];
}else if(resp[‘records’][0][‘3階層’].value.some( a => a.name === user[0].name)){
record[‘4階層’]=resp[‘records’][0][‘4階層’];
record[‘3階層’][‘value’]=[];
record[‘2階層’][‘value’]=[];
record[‘2階層_代表事務’][‘value’]=[];
}else if(resp[‘records’][0][‘2階層’].value.some( a => a.name === user[0].name)){
record[‘4階層’]=resp[‘records’][0][‘4階層’];
record[‘3階層’] = resp[‘records’][0][‘3階層’];
record[‘2階層’][‘value’]=[];
record[‘2階層_代表事務’][‘value’]=[];
}else{
record[‘2階層’]=resp[‘records’][0][‘2階層’];
record[‘3階層’] = resp[‘records’][0][‘3階層’];
record[‘4階層’] = resp[‘records’][0][‘4階層’];
if(jimu==‘事務職’){
record[‘2階層_代表事務’]=resp[‘records’][0][‘2階層_代表事務’];
}else{
record[‘2階層_代表事務’][‘value’]=[];
}
}
// if(resp[‘records’][0][‘4階層’].value.some( a => a.name === user[0].name)){
// setRecord[‘record’][‘2階層’][‘value’]=[];
// setRecord[‘record’][‘2階層_代表事務’][‘value’]=[];
// setRecord[‘record’][‘3階層’][‘value’]=[];
// setRecord[‘record’][‘4階層’][‘value’]=[];
// }else if(resp[‘records’][0][‘3階層’].value.some( a => a.name === user[0].name)){
// setRecord[‘record’][‘4階層’]=resp[‘records’][0][‘4階層’];
// setRecord[‘record’][‘3階層’][‘value’]=[];
// setRecord[‘record’][‘2階層’][‘value’]=[];
// setRecord[‘record’][‘2階層_代表事務’][‘value’]=[];
// }else if(resp[‘records’][0][‘2階層’].value.some( a => a.name === user[0].name)){
// setRecord[‘record’][‘4階層’]=resp[‘records’][0][‘4階層’];
// setRecord[‘record’][‘3階層’] = resp[‘records’][0][‘3階層’];
// setRecord[‘record’][‘2階層’][‘value’]=[];
// setRecord[‘record’][‘2階層_代表事務’][‘value’]=[];
// }else{
// setRecord[‘record’][‘2階層’]=resp[‘records’][0][‘2階層’];
// setRecord[‘record’][‘3階層’] = resp[‘records’][0][‘3階層’];
// setRecord[‘record’][‘4階層’] = resp[‘records’][0][‘4階層’];
// if(jimu==‘事務職’){
// setRecord[‘record’][‘2階層_代表事務’]=resp[‘records’][0][‘2階層_代表事務’];
// }else{
// setRecord[‘record’][‘2階層_代表事務’][‘value’]=[];
// }
// }
// kintone.app.record.set(setRecord);
}else{
event.error = “【目標管理者が取得できません。人事課にご連絡ください。】”;
}
// if( record[‘3階層’][‘value’].indexOf(user)){
// record[‘3階層’][‘value’]=[];
// record[‘4階層’][‘value’]=[];
// }
// if( record[‘4階層’][‘value’].indexOf(user)){
// record[‘4階層’][‘value’]=[];
// }
// if(setRecord[‘record’][‘4階層’].value.some( a => a.name === user[0].name)){
// setRecord[‘record’][‘4階層’]=[];
// }
});
console.log(events);
return event;
});
})();