Michi
(平林美智代)
1
日時フィールドから日付のみを文字列(1行)フィールドへ表示し
継続期間を算出したため、文字列(1行)フィールドから日付フィールドへ転記しようと下記のコードをuploadしましたが日付が反映されません。
文字列フィールドは、自動計算にチェックを入れて
IF(日時フィールド=“”,“”,DATE_FORMAT(日時フィールド, “YYYY-MM-dd”, “Asia/Tokyo”))としました。文字列フィールドは日時フィールドの日付のみが表示されています。
例)2026-04-22 と表示
この計算結果の日付を、日付フィールドへレコード保存時もしくはレコード編集時に転記したいのですがうまく表示されません。
いろいろ調べてもわからず困っています。
(function() {
"use strict";
// イベントの種類を取得
var events = ['app.record.create.submit', 'app.record.edit.submit'];
kintone.events.on(events, function(event) {
var record = event.record;
// 文字列フィールドの値を取得
var departureDate = new Date(record.返却依頼日_文字.value);
// 日付フィールドに結果をセット
record.返却依頼日copy.value = calculatedDate;
return event;
});
})();
平林さん、こんにちは。アスノートの松田です。
日付フィールドへの値登録は文字列で"YYYY-MM-dd"形式となります。
取得した文字列フィールド(計算結果)の値をそのままセットすればいいと思います。
参考: /ja/kintone/docs/overview/field-types/
現在のコードで、departureDateにどんな値が入っているのか、
コンソールやブレイクポイントで確認してみるといいです。
Michi
(平林美智代)
3
松田さん
返信ありがとうございます。
コードをこちらに変えてみましたが症状は変わらず
(() => {
“use strict”;
const events = [
'app.record.create.submit',
'app.record.edit.submit'
];
kintone.events.on(events, (event) => {
var stringValue = event.record[“返却依頼日_文字”].value;
// 日付フィールドにコピーする
var dateValue = stringValue;
event.record["返却依頼日copy"].value = dateValue;
return event;
});
})();
文字フィールドに取得した日付(YYYY-MM-dd)は日付フィールに反映されず空白となります。
現在のコードでどんな値が入っているのか、確認方法がわからず
勉強不足で申し訳ありませんが確認方法を教えていただけないでしょうか。
mura
4
こちらのように、ブレークポイントを設定して、どのような値になっているかみるのはどうでしょうか?
Michi
(平林美智代)
5
muraさん
コメントありがとうございます。
ブレークポイントの設定はできましたが、値の確認はできませんでした。
いろいろ調べたところ、あるプラグインと互換性が悪いようでプラグインを無効としたら日付フィールドに表示されました。お時間いただきありがとうございました。