Kintone APIを使用してのアプリ間のデータ受渡し参照表示ができない

この度は質問失礼致します。

Kintone初めて間もなく無知でございまして、ご助言いただければ幸いです。

ルックアップ機能を使用せずに、在庫表アプリの商品名に入力された値を、商品マスタアプリ内のレコードに一致する在庫数を、在庫表アプリの在庫数に参照表示、保存したいのですが、反映されないです・・・

 

値がしっかりと読み込めているのか、試しにアラートで表示させたら表示されているので読み込めて入るんですが、在庫数アプリの在庫数に表示されません。

 

ご助言いただけると助かります。

 

 

在庫表アプリ(ID:36)

・商品名:フィールドコード’商品名’

・在庫数:フィールドコード’在庫数’

 

商品マスタアプリ(ID:17)

・商品名:フィールドコード’商品名’

・在庫数:フィールドコード’在庫数’

 

// kintoneのレコード保存時のイベントを定義
kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], function(event) {
  // 在庫表アプリのアプリIDとフィールドコードを定義
  var inventoryAppId = 36;
  var inventoryFieldName = '商品名';
  var inventoryStockFieldName = '在庫数';
  
  // 商品マスタアプリのアプリIDとフィールドコードを定義
  var productMasterAppId = 17;
  var productMasterFieldName = '商品名';
  var productMasterStockFieldName = '在庫数';
  
  // 在庫表アプリのレコードから商品名を取得
  var productName = event.record[inventoryFieldName].value;
  
  // 商品マスタアプリのレコードを検索して該当する商品名を持つレコードを取得
  var query = productMasterFieldName + ' = "' + productName + '"';
  kintone.api('/k/v1/records', 'GET', {app: productMasterAppId, query: query}, function(resp) {
    if (resp.records.length > 0) {
      // 該当する商品名を持つレコードが存在する場合
      var productMasterRecord = resp.records[0];
      var stock = productMasterRecord[productMasterStockFieldName].value;
      // アラートで商品名と在庫数を表示
      alert(productName + 'が' + stock + '個ありました');
      
      // 在庫表アプリのレコードの在庫数フィールドに在庫数を設定
      event.record[inventoryStockFieldName].value = stock;
      // レコード保存時に自動で更新されるフィールドの値を設定
      event.record[inventoryStockFieldName].disabled = false;
      // レコードを保存
      kintone.api('/k/v1/record', 'PUT', {app: inventoryAppId, id: event.recordId, record: event.record}, function(resp) {
        // 保存が成功した場合には成功のメッセージを表示
        alert('在庫表の更新に成功しました');
      });
      
    } else {
      // 該当する商品名を持つレコードが存在しない場合
      // アラートで商品名が存在しないことを表示
      alert(productName + 'がありません');
      return false;
    }
  });
});

submit(保存前)イベントでREST APIを実行し、その結果をレコードに反映させるためにはPromiseが必要です。

kintoneにおけるPromiseの書き方の基本が参考になるかと思います。

お返事ありがとうございます!

Promiseを使用したら、無事参照表示が出ました。

ありがとうございます!

急にKintoneでシステム作る羽目になり素人で申し訳ございませんが、今後とも宜しくお願い致します

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。