お世話になります。
担当者というユーザー選択フィールドの中に「Aさん」が含まれていた場合は、作成時にエラーというような挙動にしたいのですが、そのようなチェックはどのように行えばよいでしょうか。
お世話になります。
担当者というユーザー選択フィールドの中に「Aさん」が含まれていた場合は、作成時にエラーというような挙動にしたいのですが、そのようなチェックはどのように行えばよいでしょうか。
for(let i = 0; i < event.record.担当者.value.length; i*++){
if(Aさんのcode == event.record.担当者.value[i][‘code’]){
error処理
}
}
こちらでどうでしょうか
nameでも挙動は変わらないです。
ありがとうございます。
下記の通りjsを作成したのですが、うまく動作しません。
組織を取得して特定組織以外は該当担当者を含む登録ができないような作りにしたいです。
kintone.events.on([‘app.record.create.show’],function(event){
var loginUserCode = kintone.getLoginUser()[‘code’]; // ログイン名を取得
var path = ‘/v1/user/organizations’;
var data = {
code: loginUserCode // ログインユーザーを指定
};
kintone.api(path, ‘GET’, data, function(resp){
var record = kintone.app.record.get(); // レコード情報を取得
record[‘record’][‘組織’][‘value’] = resp[‘organizationTitles’][0][‘organization’][‘name’]; // フィールドコードが「組織」のフィールドに取得した組織名をセット
kintone.app.record.set(record); // レコード情報をセット
if(event.record.組織.value !== “組織テスト”
for(let i = 0; i < event.record.担当者・同行者.value.length; i*++){
if(“テストくん” == event.record.担当者・同行者.value[i][‘name’]){
event.error = ‘スケジュール登録が許可されていません’;
}
}
}, function(resp){
var errmsg = ‘所属組織取得時にエラーが発生しました。’;
if (resp.message !== undefined){
errmsg += ‘’ + resp.message;
}
alert(errmsg);
});
});
console画面でエラーはどのようにでていますでしょうか
お恥ずかしいですがそもそも構文エラーが多発しています^^;
for(let i = 0; i < event.record.担当者・同行者.value.length; i*++ ){
デバッグにて確認したところこの部分に 「Uncaught SyntaxError:Invalid or unexpected token」 エラーが発生しているようです。
横から失礼します。
for(let i = 0; i < event.record.担当者・同行者.value.length; i*++ ){
"i*++"ではなく、"i++"になります。
event.record.担当者・同行者.value.length
フィールドコードに全角の記号を使用するのはあまり好ましくありません。
半角記号を使用するようにした方が良いかと思います。(担当者_同行者)
動作確認はしておりませんが、全体的には以下のようになるかと思います。
(() => {
'use strict';
kintone.events.on('app.record.create.show', event => {
var user_code = kintone.getLoginUser()['code']; // 現在ログインしているユーザーのCODEを取得
var data = {
code: user_code
};
kintone.api('/v1/user/organizations', 'GET', data).then(resp => {
var record = kintone.app.record.get();
var organization = resp['organizationTitles'][0]['organization']['name'];
record['record']['組織']['value'] = organization;
if (organization !== '組織テスト') {
// 担当者に選択されているユーザー分繰り返します
for (var i = 0; i < record['担当者']['value'].length; i++) {
// i番目のユーザー名が'テストくん'であればアラートを出します
if (record['担当者']['value'][i]['name'] === 'テストくん') {
alert('スケジュール登録が許可されていません');
return false;
}
}
}
kintone.app.record.set(record);
}).catch(err => {
// エラーが発生した際にコンソールにエラー内容を表示します
console.log(err);
alert('組織の取得に失敗しました;;');
});
});
})();