システム系初心者です。お手柔らかにお願いいたします<(_ _)>
〈ことの発端〉
テーブル内の情報をアクション機能を使い、別アプリへ自動転記したいが、アクション設定画面でテーブル内項目が表示されない
〈行いたいこと〉
同じアプリ内に転記用の「文字列(一行)」を設け
テーブル内の情報が「文字列(一行)」に自動転記されるよう設定し
アクション機能で「文字列(一行)」がコピー元になるよう設定する
行いたいことの2行目で手こずっております。
※前職の方が残したJavaScript(コード?)があります。現在も使用しているコードの為、その下に貼り付けようと思っています。
tom
2
以前、こちらのトピックに記載した内容と同じになるのですが、ご質問の内容を読む限り、私が行っているカスタマイズと同様かと思いますので、以下、ご参考になればと思います。
◆フィールドの設定
サブテーブルの「文字列1行フィールド」の内容をサブテーブル外の「文字列1行フィールド」へ転記します。
◆サンプルコード
(() => {
'use strict';
const lineCount = (event) => {
//サブテーブルフィールドの中身を取得
const table = event.record.サブテーブル.value;
//重複しない値だけを保存するためのSetを作成(Setで同じ値を除外)
const uniqueTitles = new Set();
//サブテーブルの各行を1つずつ処理
table.forEach(row => {
const title = row.value.文字列1行フィールド.value;
// 値が空でなければSetに追加
if (title) {
uniqueTitles.add(title);
}
});
//Setを配列に変換し、カンマ区切りの文字列に変換
//例:["A", "B", "C"] → "A,B,C"
event.record.サブテーブル_一覧.value = Array.from(uniqueTitles).join(',');
return event;
};
kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], lineCount);
})();