お世話になっております。
納品日が入力されたら、文字列フィールドで自動計算した値を日付フィールドに転記したいです。
以下のJavaScriptを投入したのですが、反映ができておりませんでした。
初歩的な質問になってしまっているかもしれませんが、ご教示よろしくお願いいたします。
(function () {
"use strict";
kintone.events.on(['app.record.create.change.日付', 'app.record.edit.change.日付'],function (state) {
event.record.月末.value = event.record.月末_計算.value;
event.record.通知日.value = event.record.通知_計算.value;
event.record.月末.disabled = true;
event.record.通知日.disabled = true;
return state;
});
})();
kintone.events.on(['app.record.create.change.日付', 'app.record.edit.change.日付'],function (state) {
event.record.月末.value = event.record.月末_計算.value;
この場所の大体の記事ではfunction(event)と引数がeventになっているので、その場合のレコードの値はevent.recordになりますが、function(state)としたのなら、レコードの値はstate.record.月末.valueになります。
追記:見落としておりましたが自動計算フィールドからのコピーですね。自動計算フィールドの場合、changeイベント中は参照できないので、setTimeout等を使って計算が終わるのを待つ(タイミングにばらつきがあり挙動も不明なところがあるのでおすすめしません)か、submit等で参照するのが良いかもしれません。
もしくは以前の投稿でLuxonを使われていたと思いますが、それを使った処理の方が確実ではないかと思います。
mls-hashimotoさま
stateとeventで違うことに気付いておりませんでした。ありがとうございます。
いろいろ試しまして、転記してほしいタイミングがばらばらだったので、changeイベントとsubmitでそれぞれ実行することで想定していた結果にできました。
system
(system)
クローズされました:
4
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。