新規投稿
フォローする

値をセットするにあたって「Uncaught SyntaxError: "undefined" is not valid JSON 」が発生してしまいます

テーブルの最終行の値を取得して、文字列フィールドや日時フィールドへ値をセットしようとしております。

 

値の取得自体は、console.log()にて取得できていることが確認できているのですが、

値をフィールドにセットする部分で

Uncaught SyntaxError: "undefined" is not valid JSON

が発生してしまっております。

 

値を入れたいフィールドはもちろん空の状態なので、

そこはundefinedであると思うのですが、何故セットできないのか行き詰ってしまっております。

 

■各フィールドについて

テーブル内

>ステータス:プルダウン

>担当者:プルダウン

>日時:日時

値をセットする先(通常フィールド)

>最新_ステータス:文字列

>最新_担当者:文字列

>最新_日時:日時


(function() {
    "use strict";
    var events = [
        'app.record.edit.show',
        'app.record.edit.submit',
        'app.record.create.submit'
    ];
    kintone.events.on(events, function(event) {

    const record = event.record;
    console.log(record);
    // テーブル名
  const recordTable = event.record.テーブル.value;
    console.log(recordTable);

  // 最新_ステータス
  const currentStatus = recordTable.slice(-1)[0].value['ステータス'].value;
  kintone.app.record.最新_ステータス = currentStatus;
    console.log(currentStatus);

  // 最新_担当者
  const currentApointer = recordTable.slice(-1)[0].value['担当者'].value;
  record.最新_担当者.value = currentApointer;
    console.log(currentApointer);

  // 最新_日時
  const currentCalldate = recordTable.slice(-1)[0].value['日時'].value;
  record.最新_日時.value = currentCalldate;
    console.log(currentCalldate);

    return event;
    });
})();
0

5件のコメント

Avatar
TO

ここでしょうか?

   // 最新_ステータス
  const currentStatus = recordTable.slice(-1)[0].value['ステータス'].value;
  kintone.app.record.最新_ステータス = currentStatus;
 //record.最新_ステータス?
    console.log(currentStatus);
1
Avatar
Haruka

おっしゃる通りでございます。

0
Avatar
Haruka

 

const currentStatus = recordTable.slice(-1)[0].value.ステータス.value;

    kintone.app.record.最新_ステータス.value = currentStatus;

    console.log(currentStatus);

また、先ほどの記載は.valueが抜けておりましたが、上記のように記載しても

Uncaught TypeError: Cannot set properties of undefined (setting 'value')

というエラーが発生し、値をセットできない状態です。

 

 

0
Avatar
Haruka

記述を下記に変更すると、

    const currentStatus = recordTable.slice(-1)[0].value.ステータス.value;

    console.log(currentStatus);

    record['最新_ステータス'].value = currentStatus;

というエラーになります。

いずれも、console.log()では値を表示できている状態です。

尚、他にJSファイルはアップロードされていません。

Uncaught SyntaxError: "undefined" is not valid JSON
0
Avatar
TO

「最新_ステータス」の名称に間違いはありませんか?
フィールドコードに間違いがなく,フィールドが「文字列_一行」であれば,
undefinedを格納しても空欄として表示できるはずです.

ちなみに,ほかの2つは問題ありませんか?
試しに順番を変えて(またはエラー箇所をコメントアウトして),
他が問題ないか,確認してみてください.


0
サインインしてコメントを残してください。