- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
03-28-2022 01:21 AM
現在、フローデザイナーで、日時をソートするアクションを作成しています。
やりたいこととしては、複数レコードを入力値とし、日時の昇順に並べ替え、配列で出力したいと考えています。
以下、自身で書いてみましたが、上手くいかないためご教授いただければ幸いです。
(function execute(inputs, outputs) {
var asc_array = [];
while (inputs.asset_records.next()) {
var array = [];
array[0] = inputs.asset_records.getValue("u_assign");
array[1] = inputs.asset_records.getValue("u_model");
array[2] = inputs.asset_records.getValue("u_work_start");
array[3] = inputs.asset_records.getValue("u_work_end");
array[4] = inputs.asset_records.getValue("u_parent");
asc_array.push(array);
}
asc_array.sort(function(a, b){
outputs.asc_array = (a > b ? 1 : -1);}
})(inputs, outputs);
解決済! 解決策の投稿を見る。

- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
03-28-2022 02:22 AM
aさん、
具体的にどのフィールドでソートするのでしょうか?u_work_startでしょうか?
日付の場合は形式を重要です。例えた形式がmm/dd/yyyyやdd/mm/yyyyでは直接の値でソートしても正しくなりません。列の型がDateなのかDate/Timeであるのかも関係します。
なお、レコードを取得する時に予めてソートしておくのはどうでしょうか?

- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
03-28-2022 02:22 AM
aさん、
具体的にどのフィールドでソートするのでしょうか?u_work_startでしょうか?
日付の場合は形式を重要です。例えた形式がmm/dd/yyyyやdd/mm/yyyyでは直接の値でソートしても正しくなりません。列の型がDateなのかDate/Timeであるのかも関係します。
なお、レコードを取得する時に予めてソートしておくのはどうでしょうか?
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
03-28-2022 05:41 PM
ご回答ありがとうございます。
ソートを行うフィールドは仰る通り、「u_work_start」で行いたいと考えています。
また、形式は「yyyy-mm-dd hh:mm:ss」、型は「Date/Time」で行いたいと考えています。
>レコードを取得する時に予めてソートしておくのはどうでしょうか?
この考えは抜けておりました。ありがとうございます。
ちなみに、レコード検索アクションを使用するときに、以下のようにすることで、ソートができるのでしょうか。

- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
03-28-2022 06:37 PM
はい。順番にソートする列を指定します。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
03-29-2022 05:46 PM
ご回答ありがとうございます。
ご回答いただいた方法でソート後、別のフィールドに数字で順番をつけたいと思っています。
「作業開始時間」でソートし、時間がはやい順に、別フィールドの「優先順位」に数字を1から割り振る
イメージです。このようなことができる方法があれば教えていただきたいです。何度もすみません。