一覧表の絞り込み条件に来月を設定する方法

レコード一覧の日付フィールドの絞り込み条件に来月を設定したいのですが、何か方法はあるでしょうか?

REST APIを使ってjavascriptのカスタマイズから一覧表示の設定変更をしようと思ったのですが、トリガーが一覧の表示後になってしまっているので、適用することができません。

また、タブレットなどモバイル機器で見られるようにしたいので、URLを使ったクエリを使用することができないので知恵をお借りしたいです。

よろしくお願いします。

Eliceさん

お世話になります。サイボウズスタートアップスの武井です。

 

クエリが使えないのはつらいですね!

 

類推するところですと、その一覧の絞り込み条件を固定で来月の設定にするのではダメなのですよね?

何かボタンを押したら来月にするとか、ある特定の組織の人だけは来月にするとか、

そういうことなのだろうと考えて、思いつくところを回答いたしますと、

 

1.別一覧作る方法

  • あらかじめ来月に設定した別の一覧を作っておく(日付 <=  今日から1ヶ月後 && 日付 > 当月)
  • 任意のイベントにて、上記で作成した一覧にlocation.hrefで飛ばす

2.一覧を書き換える方法

  • 一覧表示後イベントでREST APIにて一覧を「日付 <=  今日から1ヶ月後 && 日付 > 当月」になるように変更
  • その後、location.reload
  • その後、任意のタイミングでREST APIで条件を元に戻してあげる

 

いずれにせよ、浅学によると一覧画面のリダイレクトが必要ではないかと考えています。

 

–訂正–

「日付 <=  今日から1ヶ月後 && 日付 > 当月」ではうまく来月にならないようなので、

JavaScriptで来月末日を計算して「日付 > 当月 && 日付 <= 来月末日」のようにする必要がありそうですね。

とすると、1.の方法は使えず、2の方法になりそうです。

Eliceさん

少し発想を転換して、検索用の日付項目を追加してはいかがでしょうか?
一覧の検索条件で、今月の条件指定が出来ますので、日付-1ヶ月のデータを持てば検索可能になります。
下記のようなコードで、検索日付に日付-1ヶ月を設定できます。
あとmomentライブラリの指定が必要です。
一覧で、検索日付が今月で絞れば、来月日付で絞り込んだのと同じになります。

(function() {

“use strict”;

kintone.events.on([“app.record.create.show”, “app.record.edit.show”], function(event) {
event.record[‘検索日付’][‘disabled’] = true;
return event;
});

kintone.events.on([“app.record.create.submit”, “app.record.edit.submit”], function(event) {

// 検索用日付 = 日付 - 1月
if(event.record[‘日付’][‘value’]){
var m = moment(event.record[‘日付’][‘value’]);
event.record[‘検索日付’][‘value’] = m.add(‘months’, -1).format(“YYYY-MM-DD”);
}
else{
event.record[‘検索日付’][‘value’] = ‘’;
}

return event;
});
})();

 

返信が遅れて申し訳ありません。

 

回答いただきありがとうございます。

そうですね、多分REST APIで作成するか、項目を作るかになりそうです。

それに、変更した後リロードさせるって手もありましたね、ありがとうございます。

また色々やってみますので、何かあれば回答いただけると嬉しいです。