お世話になっております。どなたかご教示をお願いいたします。
Kintoneで参照するアプリAに日付項目(「日付」)を用意し、その日付項目を参照してデータを持ってくるアプリBの日付項目(「月初」「月末」)から範囲指定してクエリをつかって関連レコードにデータを抽出して表示と集計をしたいと考えています。
下記のようにコードを書いてみましたが、うまくうごきません。
何卒よろしくお願いいたします。
お世話になっております。どなたかご教示をお願いいたします。
Kintoneで参照するアプリAに日付項目(「日付」)を用意し、その日付項目を参照してデータを持ってくるアプリBの日付項目(「月初」「月末」)から範囲指定してクエリをつかって関連レコードにデータを抽出して表示と集計をしたいと考えています。
下記のようにコードを書いてみましたが、うまくうごきません。
何卒よろしくお願いいたします。
こんにちは!
kintone.app.record.set(event);
の行で event を渡していますが、ここはrecordを渡さないといけません
多分そこかなぁ~と思います。
ご教示いただきありがとうございます。
早速修正してみましたが、相変わらず動かないようです。
下記のようにコードを修正すると想定通り動くので、他に原因があるように思います。
あとはこの”2021-10-01”などの日付をレコードの値に置き換えたいのですが、
record[月初].valueなどと入力しても計算できないようです。
ご返信下さり、ありがとうございました。
なんと!スミマセン。
月初、月末ってもしかしてもしかしてフィールドコードですかね!でしたら、
'" and 日付 >= "' + event.record['月初'].value + '" and ・・・略
のような感じにしないといけないような
record[月初].value
ではなくて
event.record['月初'].value
ですね
あっ・・・またまたスミマセン。
思いっきり読み落としていましたが、
アプリAの日付と
アプリBの月末と月初を比較したいのですね。
GETしてくる元はAですか?Bですか?
ありがとうございます。
アプリAの元データをクエリで絞り込んでGETし、アプリBに表示させたいということです。
頂いたご意見を参考に次のように修正いたしましたが、やはり動かないようです。
クエリは左側にフィールドコードを書いて、右側が値じゃないと多分動かないので、
query内、
月初、月末を左側に、値の方を右側に書いてみるのはどうでしょうか?
アプリA:日付のフィールドがある
アプリB:月末、月初、時間外勤務 のフィールドがある
という状態でしょうか??
何度もありがとうございます。
>アプリA:日付のフィールドがある
>アプリB:月末、月初、時間外勤務 のフィールドがある
>という状態でしょうか??
おっしゃる通りです。
上記のように修正してみましたがやはり動かないようです。
もっと簡単な方法は無いかと考えているのですが、
例えばアプリBに月を数字で入力して、
アプリAで集計用日付という項目を作り DATE_FORMAT(日付, “M”, “Etc/GMT”) で月を自動計算して
その月の値を計算するという方法でも動かないようです。
クエリの書き方に根本的なミスがあるのかもしれません。
ご返信下さり、ありがとうございました。
一度、console.log(query)などで、コンソールに表示してみる良いかもしれないですね
想定通りのqueryになっているかとか・・・
あとはqueryのフィールドを一つずつ分解して、それぞれのクエリが動くか試してみるとかですかね
const query1 = '月初 <="' + event.record['日付'].value + '"';
const query2 = '月初 >="' + event.record['日付'].value + '"';
うまくいきますように
返信ありがとうございました。
色々試した結果、次のようにクエリを分解してどうにか考えていた通りの結果を得ることが出来ました。
const query1 = '氏名="' + event.record['氏名'].value + '"';
const query2 = '日付<="' + event.record['月末'].value + '"';
const query3 = '日付>="' + event.record['月初'].value + '"';
const body = {
'query' : query1 + ' and '+ query2 +' and '+ query3,
結局なぜクエリを一行にするとダメだったのかは不明のままですが、アドバイスをいただいたおかげで満足のいく結果を得ることが出来ました。
色々ありがとうございました。