エラーを解消し、表示・非表示等のカスタマイズを実現したい

条件分岐による表示、非表示を実装したいのですが

他の部分のコードによるエラーから実装できません。

下記エラーの解消方法をご教授いただけないでしょうか。

(function(){

  'use strict';

  kintone.events.on([

      // レコード保存実行前イベント(「保存」をクリックした時)

      'app.record.create.submit',

      'app.record.create.show',

      // 'app.record.edit.show',

  ], function(event){

     

      // GETのパラメータ

      const body = {

          // 当月中の最新レコードから一つ前

          'app':event.appId,

          'query': '作成日時 = TODAY() and 計量機No in ("' + event.record.計量機No.value + '") order by 作成日時 desc limit 1'

     

      };

     

      // kintone.Promiseを使用した同期的処理

      return kintone.api(kintone.api.url('/k/v1/records.json', true),'GET', body).then(function(resp){

         

          const records = resp.records;

          const rec = records[0];

          var autono = '';

          // 日付のフォーマット関数

          function dateToStr(date) {

              return date.getFullYear() + ('0' + (date.getMonth() + 1)).slice(-2) + ('0' + (date.getDate())).slice(-2);

          }

         

             if (event.record.計量機No.value == "手詰め"){

                var keiryouki = 0;

              }

             else {

                var keiryouki = event.record.計量機No.value;

              }

          // 当月のレコードが存在する場合の処理      

              if (records.length > 0){

                  autono = rec['連番'].value.slice(-4);

                  autono = ('000'+(Number(autono)+1)).slice(-4);

                  autono = dateToStr(new Date()) +"-"+ keiryouki +"-"+ autono;

              }

         

          // 当月のレコードが存在しない場合(月初のレコードの場合)の処理

              else {

                  autono = dateToStr(new Date())+ "-"+ keiryouki  +'-0001';

              }

           

          // autonoをフィールドに入れる

          if (event.record.計量機No.value == "手詰め") event.record.連番.value = autono;  

          if (event.record.計量機No.value == 1) event.record.連番.value = autono;

          if (event.record.計量機No.value == 2) event.record.連番.value = autono;

          if (event.record.計量機No.value == 3) event.record.連番.value = autono;

          if (event.record.計量機No.value == 4) event.record.連番.value = autono;

          if (event.record.計量機No.value == 5) event.record.連番.value = autono;

          return event;

             




      });

  });

}) ();

(function() {

  "use strict";

  kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], async function(event) {

    try {

      // アプリIDの取得

      // レコード番号の取得

      console.log(event);

      // リクエストプロパティ(JSON)

      var params = {

        "app": 612,

        "record": {

          "日付": { "value": event.record.日付.value },

          "計量機No": { "value": event.record.計量機No.value },

          "連番": { "value": event.record.連番.value },

          "担当者1": { "value": event.record.担当者1.value },

          "担当者2": { "value": event.record.担当者2.value },

          "サイズ名": { "value": event.record.サイズ名.value },

          "めっき種類": { "value": event.record.めっき種類.value },

          "単重1A": { "value": event.record.単重1.value },

          "単重2B": { "value": event.record.単重2.value },

          "入数1A": { "value": event.record.入数.value },

          "形態": { "value": event.record.形態.value },

        }

      };

      // kintone REST API リクエスト ~ レコードの登録(POST)

      const postResp = await kintone.api(kintone.api.url('/k/v1/record', true), 'POST', params);

      // GETリクエストプロパティ(JSON)

      var params = {

        "app": 612,

        "id": postResp.id  // POSTした結果のレコード番号

      };

      // kintone REST API リクエスト ~ レコードの取得(GET)

      const getResp = await kintone.api(kintone.api.url('/k/v1/record', true), 'GET', params);

      event.record.単重計算後.value = getResp.record.単重計算後.value;

      return event;

    } catch (e) {

      // エラー

      return event;

    }

  });

})();

kintone.events.on(['app.record.edit.show', 'app.record.create.show'], event => {

  //1行目

  event.record.連番.disabled=true;

  return event;

});

(function(){

"use strict";

kintone.events.on([

    'app.record.create.show',                    //レコード追加画面の表示

    'app.record.create.change.計量機No',  //レコード追加画面でフィールド値の変更時

    'app.record.detail.show',           //レコード詳細画面の表示

    'app.record.edit.show',            //レコード編集画面の表示

    'app.record.edit.change.計量機No' ,  //レコード編集画面でフィールド値の変更時

      ], function(event) {

         var setFieldShown =  kintone.app.record.setFieldShown

         var setGroupFieldOpen =  kintone.app.record.setGroupFieldOpen

         //falseの場合、フィールドを非表示にする

        setFieldShown('形態_2',false);

        setFieldShown('ケース数_2',false);

        setFieldShown('入数_2',false);

        setFieldShown('個数_2',false);

        setFieldShown('追加数_2',false);

        setFieldShown('単重11_2',false);

        setFieldShown('単重21_2',false);

        setFieldShown('単重計算後_2',false);

        setFieldShown('その他_2',false);

        //trueの場合、フィールドを表示にする

         var record = event['record'];{

        if (record['計量機No']['value'] === '4')

          setGroupFieldOpen('グループ',true);

               setFieldShown('グループ',true);

           if (record['計量機No']['value'] === '5')

             setGroupFieldOpen('グループ',true);

               setFieldShown('グループ',true);

           }

       

          return event;

                 

});

})();

editのpostの時にエラー返って来てると思うので、paramsの内容確認して対応してみてください。もし入って来てるようであればその前の段階で計量器Noに入ってこないようにしてください。

エラー内容にもあるように計量器Noのドロップダウンの選択肢にundefinedというものは存在しないにも関わらず、undefinedを入れようとして弾かれてるように思えました。

コンソールで内容確認して、計量器Noにundefinedという文字が入っているのか。  
console.log(params)  
  
// kintone REST API リクエスト ~ レコードの登録(POST)
     constpostResp =awaitkintone.api(kintone.api.url('/k/v1/record',true),'POST',params);

エラーが出ているのは以下の部分です。create.showでは値のない計量機Noをクエリに使用しているためです。見たところ自動採番に使用しているようなので、create.showイベントの行ごと削除で良いでしょう。

  kintone.events.on([
    // レコード保存実行前イベント(「保存」をクリックした時)
    'app.record.create.submit',
  'app.record.create.show', // この行をまるごと削除
    // 'app.record.edit.show',
  ], function(event) {
    // GETのパラメータ
    const body = {
      // 当月中の最新レコードから一つ前
      'app':event.appId,
      'query': '作成日時 = TODAY() and 計量機No in ("' + event.record.計量機No.value + '") order by 作成日時 desc limit 1'
    };

コメントありがとうございます。

上記の通り修正で、エラー解消されました!

ありがとうございました。