Aアプリのレコードを取得して(テーブル含む)保存後、BアプリにPOSTしたい。

こんにちは。

タイトルの様に設定をしたく、プログラムを書いてみましたが、こんな感じで
宜しいのでしょうか?

(function () {
“use strict”;

var otherAppid = 360;

kintone.events.on(‘app.record.create.submit’, function(event){
var record = event.record;

//レコードを取得
var contact = record.ドロップダウン.value;
var projectname = record.文字列 __1行__ 1.value;
var rookup = record.ルックアップ.value;

//テーブルオブジェクトを取得
var tableRecords = record.Table_1.value;
//テーブルのレコード数取得する
for(var i = 0; i < tableRecords; i++){
  var productname = record.tableRecords[i].value['文字列 __1行__ 4'].value;
  var quantity = record.tableRecords[i].value['数値_0'].value;
  var unit = record.tableRecords[i].value['文字列 __1行__ 5'].value;
  var unitprice = record.tableRecords[i].value['数値'].value;
}
var params = {
  "app":otherAppid,
  "record" : {
    "ドロップダウン" : {
      "value" : contact
    },
    "文字列 __1行__ 1" : {
      "value" : projectname
    },
    "ルックアップ" : {
      "value" : rookup
    }
  },
  "Table_1" : {
    "value" : [
      {
        "value" : {
          "文字列 __1行__ 4" : {
            "value" : productname
          }
        },
        "value" : {
          "数値_0" : {
            "value" : quantity
          }
        },
        "value" : {
          "文字列 __1行__ 5" : {
            "value" : unit
          }
        },
        "value" : {
          "数値" : {
            "value" : unitprice
          }
        }
      }
    ]
  }
};
//Kintone REST API リクエスト
kintone.api(
  'https://(subdmain).cybozu.com/k/v1/record.json',
  'POST',
  params,
  function(resp){
    alert("登録が完了しました。");
  },
  function(resp){
    alert("登録エラー");
  }
);

});
})();

高橋 和哉さん

こんな感じで宜しいのでしょうか?

動作しそうですし、宜しいのではないかと思います^^ ちょうどコピー元とコピー先のフィールドコードが一致していますし、このようなケースでは次のような書き方も便利だと思います。同一アプリ内でのレコードコピー操作ではハマります。

EXCEPT_FIELDにコピー対象から外したいフィールドのフィールドコードを連ねます。コピー対象を連ねた方が数が少なければそちらを連ねるのが早いので、適宜選択されると良いと思います。

(function() {  
 "use strict";

kintone.events.on('app.record.create.submit', function(event){  
 var EXCEPT\_FIELD = []; // POST時除外フィールド  
 var app\_id=726; // アプリID  
 var record = event.record;

    // 除外フィールドの削除
    for(var i = 0; i < EXCEPT_FIELD.length; i++){
      delete record[EXCEPT_FIELD[i]];
    }
    
    var data = {
      'app': app_id,
      'record': record
    };
    
    kintone.api(kintone.api.url('/k/v1/record', true), 'POST', data, function(resp){
      alert('登録に成功しました。');
    }, function(resp){
      var errmsg = 'レコード登録時にエラーが発生しました。';
      // レスポンスにエラーメッセージが含まれる場合はメッセージを表示する
      if (resp.message !== undefined){
        errmsg += '' + resp.message;
      }
      alert(errmsg);
    });
    return event;

});  
})();  

いかがでしょうか?

山下さま

お世話になります。
この度は、アドバイスご親切に有難うございます^^

ぜひ確認させて頂きます!

また、別件になるのですが、まだ未熟ともありながらクエリについて、下記のパージを参考にして勉強しておりますが、なかなかクエリ条件を指定する事に対して理解できずにいます。何か良い勉強方法がございませんでしょうか?
もしくは、ポイントなど。queryについて条件を指定できる様になれば視野が広がります。

https://cybozudev.zendesk.com/hc/ja/articles/202331474#step2

お聞きする事ばかりで申し訳ございませんが、ご教授頂けましたら幸いでございます。

宜しくお願い致します。

これは慣れかと思いますので、指定の仕方を色々試してみるのが一番かなぁと思います^^; このケースはいきなりkintone.api()でJavaScriptからkintone REST APIをコールしていますが、kintone REST APIのGETメソッドそのものというところでは、この辺(1, 2)を参考に試されてはいかがかと思います。

山下さま

早速のご返信有難うございます。

慣れなのですね。
指定の方法を色々試して確認してみます。

有難うございます^^