# 貸出履歴アプリの当該の鍵の最新の残数を過去の履歴レコードから取得し、詳細フォームの残数照会フィールドへセットしたい

**URL:** <https://community.cybozu.dev/t/topic/8395>\
**Category:** kintone 開発相談\
**Created:** [2023 年 11 月 27 日午前 6:56 UTC](https://community.cybozu.dev/t/topic/8395 "2023-11-27T06:56:01Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![pomo](https://sea1.discourse-cdn.com/flex015/user_avatar/community.cybozu.dev/pomo/32/465_2.png) [@pomo](https://community.cybozu.dev/u/pomo)\
**Post date:** [2023 年 11 月 30 日午前 8:12 UTC](https://community.cybozu.dev/t/topic/8395/5 "2023-11-30T08:12:53Z")

</div>

valueに残数計算のvalueが入ってない部分と、合わせてもし可能であればまずは保存時限定にしてチェンジイベント二つをコメントアウトして最後にreturn eventを追記して実行してみてください。

チェンジイベントではpromise対応してないのでもしチェンジイベント内で実行したい場合こちらの記事みていただけるといいかと思います。

[changeイベントで、別のアプリからレコードがある場合に、自分のアプリのルックアップフィールド値を代入したい](https://community.cybozu.dev/t/topic/8192)

> setRecord[‘record’][‘残数照会’]=resp[‘records’][0][‘残数計算’];

```javascript
(function () {
'use strict';
    var events = [
      'app.record.create.submit', //新規レコード追加イベント
      'app.record.edit.submit', //編集・レコード追加イベント
    ];
    // kintone.events.on(events, function (event) { 
    kintone.events.on(events, async (event) => {
      var record = event.record;
      console.log("tete")
      var keyRireki = record['履歴鍵番号']['value'];

      // このアプリの関連レコード一覧からデータ（レコード: 1件) を取得する
      var params = {
        'app': kintone.app.getId(),
        'query': '貸出状況_このアプリ.履歴鍵番号 in ("' + keyRireki + '") and 貸出状況_このアプリ.返却残数 > 0 limit 1'
      };

      const resp = await kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params);
      // 取得件数が 1件以上なら、残数照会に関連レコードの残数計算をセットする
      if (resp['records'].length >= 1) {
        record['残数照会']["value"] = resp['records'][0]['残数計算']["value"];
      }

      return event;
    });
  })();

```

また、  
'関連レコード一覧フィールドは、レコードのソートに使用できません。  
というエラーが出ていると思うので、都度デバッグで現在の状況を確認してみてください。

---

_[View the full topic](https://community.cybozu.dev/t/topic/8395)._
