サブテーブル内の入力内容を文字列(改行)結合したい

JavaScriptカスタマイズ初心者のため、どなたかご存じでしたらご教示いただきたく存じます。

サブテーブル内の「文字列(複数行)」に入力した内容をテーブル外の「文字列(複数行)」フィールド1つにまとめてコピーするスクリプトの構築が分からず苦戦しております。

結合時は改行にて結合したく、結合タイミングはテーブル行追加し、レコード保存後を想定しております。

他、文字列(1行)を改行で結合や、サブテールを「,」カンマ区切りで結合する方法は見つけているのですが、そもそも本件はJavaにて対応不可でしょうか…。

知識がなく恐縮ですが、お力添えいただければ幸いです。

何卒よろしくお願いいたします。

先に結論だけお答えだけすると、可能かと思われます。

保存のタイミングでいいなら、実際にはレコード保存前のイベントが適切かなぁとおもいます。

テーブルの中の文字列(複数行)がフィールドコード text,
テーブルのフィールドコードが table,
結果の出力先文字列(複数行)のフィールドコードがresult

としたとき、下記のようにできるはずです。

(function() {
  'use strict';
  kintone.events.on(['app.record.create.submit','app.record.edit.submit'], function(event) {
    const record = event.record;
    
    // tableの配列をmapで操作して、textの配列をつくる。そのあとjoinしてくっつける。\n は改行
    const joinedText = record.table.value.map(r => r.value.text.value).join('\n');
    
    // 結果を格納
    record.result.value = joinedText;
    return event;
  });
})();

mura様

ご返信いただきましてありがとうございます。

詳細と参考画像まで添付いただき、大変助かりました。

こちらのスクリプト是非活用させていただきます。

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