皆様
お世話になります。
現在すでに一覧にある中から最大値をとってくるようなプログラムを組もうとしているのですがうまく動作していません。
元々一覧にはPV_Numberと金額の2列しかないのですが、面倒なのがPV_Numberの書式です。
PV_Number 金額
201911-AAA-001 1000
2019-11-AAA-002 2000
201911-BBB-001 500
201911-AAA-003 1000
201911-CCC-001 200
のように年月、3文字の特定の文字列、そこから通し番号という形式になっています。
今行いたいのが例えばフォームからCCCという文字列とそれに対する金額を入力したら保存時に自動的にPV_Number 201911-CCC-002 (001の次の番号)が割り振られるようにしたく、また上に無いDDDなど新しい3文字の文字列と金額を入力した場合は201911-DDD-001のようにDDDに対する最初の通し番号が割り振られるようにしたいと思っています。
今存在するものをqueryで検索すればいいという回答を見つけて似たようなものを作成してみたものが以下です。
tempIDには"201911-DDD"や"201911-AAA"が渡されるようになっています。ただ実際に以下を回すと201911-DDD-Undefinedなどが返されてしまっており全く機能していない状態です。
function countExistingRecord(tempID){
var parms ={
'app': kintone.app.getId(),
'query': 'PV_Number like "' + tempID + '"order by PV_Number desc limit 1 offset 0',
'fields': 'PV_Number'
};
//REST API
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', parms, function(resp) {
if(resp.records.length === 0){
return "001";
}else{
return resp.records.slice(-3);
}//end of if
}//end of function(resp)
); //end of API
}
もしもどこか誤っているところがありましたらご教示くださいますと幸甚に存じます。
よろしくお願い申し上げます。