PromiseとかPoxyとか時間の足し算とかとか
kintoneの案件をやって今回学んだこと。
時間の足し算
momentを使えば、1年とか1ヶ月とか簡単に計算できる。
もちろん閏年もちゃんと対応。
record['利用終了期限']['value'] = moment(record.利用開始期限.value).add(1, 'years').format('YYYY-MM-DD')
Promise
人生初のPromise。。
①ログインユーザーのグループ(ロール)を取得して、もし「一般」だったらフィールド名を非表示にする
var loginUserCode = kintone.getLoginUser()['code']; // ログイン名を取得
var path = '/v1/user/groups';
var data = {
code: loginUserCode // ログインユーザーを指定
};
var rollflg = false;
kintone.api(path, 'GET', data, function(resp) {
var roll;
var record = kintone.app.record.get(); // レコード情報を取得
roll = resp['groups'][0]['name']; // フィールドコードが「組織」のフィールドに取得した組織名をセット
if (roll == "一般") {
record['record']['フィールド名']['disabled'] = true;
kintone.app.record.set(record);
}
}, function(resp) {
var errmsg = 'グループ取得時にエラーが発生しました。';
if (resp.message !== undefined) {
errmsg += '\n' + resp.message;
}
alert(errmsg);
});
record.消費枚数.disabled = rollflg;
record.ステータス_L.disabled = true;
console.log(record.消費枚数.value);
Poxy
Adminになりすまして(言い方)レコードの処理
var record = event.record;
var keiyakuAppId = pvc.env.app.契約.appId;
var token = "APIトークン";
var headers = {
'X-Cybozu-API-Token': token,
'Content-Type': 'application/json'
};
//成功したら処理
return kintone.proxy(kintone.api.url('/k/v1/record', true), 'PUT', headers, body);
}).then(function(resp1) {
・・・
フィールドに値が入力されているか
数値は入力されていなくても0の反応がでるとかでないとかっていう記事をみたんおで一応。
if (record.フィールド名.value && record.フィールド名.value < 0) {
event.error = 'エラーメッセージ';
}
おまけ)この経験を通して思ったこと
・ポータルの一覧の制御はできない(アプリの一覧は非表示できる)
・kintoneのJavaScriptはすべてのスペースにかかっている(消しちゃいけない(戒め
・追加権限がないとPromiseで追加できない(割と当たり前だけどめちゃくちゃ大事)
この記事が気に入ったらサポートをしてみませんか?