Created
September 9, 2014 03:49
-
-
Save anonymous/f1a4f352f57d16e38045 to your computer and use it in GitHub Desktop.
kintoneで有効期限日数があるモノに対して、期限の年月日を自動計算してくれるjavascript
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 20140909 kintoneで有効期限日数があるモノに対して、期限の年月日を自動計算してくれるスクリプト | |
(function() { | |
// フィールドコード名 | |
const DURATION_DAYS = '有効期限日数'; // 30, 60, 180など日数で指定 | |
const LIMIT_DATE = '有効期限の年月日'; // 有効期限年月日が入るフィールド。文字列型か年月日型 | |
"use strict"; | |
// 現在の年月日から、指定された日数後の年月日を返す | |
function getDateCalc(addDays) { | |
// 現在の年月日を取得 | |
var date = new Date(); | |
// 秒単位に変換 | |
var baseSec = date.getTime(); | |
// 加算する日数も秒単位に変換 | |
var addSec = addDays * 86400000; | |
// 何日後の日数を取得(秒単位) | |
var targetSec = baseSec + addSec; | |
// Date型に変換する | |
date.setTime(targetSec); | |
return date; | |
} | |
// レコード作成時or編集時 | |
kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], function (event) { | |
// 保存前の画面上のレコード | |
var record = event.record; | |
// 期限日数を取得 | |
var duration = record[DURATION_DAYS]['value']; | |
// 計算した期限年月日を取得 | |
var add_date = getDateCalc(duration); | |
//年月日形式に変換 | |
var yyyy_mm_dd = add_date.getFullYear() + "-" + (add_date.getMonth() + 1) + "-" + add_date.getDate(); | |
// 期限年月日を代入 | |
record[LIMIT_DATE]['value'] = yyyy_mm_dd; | |
return event; | |
}); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment