サブテーブル内のルックアップに初期値を入れたい

背景・実現したいこと

 レコード追加画面を開いた際に、サブテーブル内のルックアップに初期値を入れたいと思っています。

最終の形は、別のアプリからレコードを取得して、それを初期値にしようとしていますが、今はそこにたどり着くまでにつまずいているので"3"と直接値を入れています。

別のサブテーブルに商品名exという文字列(1行)のフィールドを配置し以下のソースの書きかたを試すと初期値を入れることが出来ましたが、ルックアップではできない状況です。

どのように入力すればよいのでしょうか?

エラー情報 (開発者ツールのコンソール)

レコード追加画面を開くとコンソールに以下のエラーが出ます。

 Uncaught TypeError: Cannot read properties of undefined (reading ‘ルックアップ_0’)

利用したソースコード

kintone.events.on([

    'app.record.create.show', 'app.record.edit.show'

   ], function(event){

    let shohinNm;

    let shohinCd;

    var params = {

        'app': 1213

    };

    return new kintone.Promise(function(resolve, reject) {

        kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params, function(resp) {

            event.record.テーブル.value[0].value.商品名ex.value = "商品名です";

            event.record.見積明細.value[0].value.record['ルックアップ_0']['value'] = 3;

            event.record.見積明細.value[0].value.record['ルックアップ_0']['lookup'] = true;

            resolve(event);

        }, function() {

            resolve(event);

        });

    });

   });

サブテーブルのルックアップのみコードですが、こちらでできるかと思われます。

(function () {
  'use strict'
  kintone.events.on(['app.record.create.show', 'app.record.edit.show'], (event) => {
      event.record.見積明細.value[0].value.ルックアップ_0.value = 3;
      event.record.見積明細.value[0].value.ルックアップ_0.lookup = true;
      return event;
  });
})();

上記のサブテーブルの’ルックアップ_0’フィールドの指定の仕方が誤りがございましたので、修正しております。
Promiseを使わずとも、return event で反映できますのでお試しください。

恐らく、投稿されたコードですと、エラーが出ているかと思います。
デバックの方法として、こちらを確認されるとより分かりやすいかと思われます。
https://developer.cybozu.io/hc/ja/articles/207613916-%E5%8B%95%E3%81%8B%E3%81%AA%E3%81%84-%E3%81%9D%E3%82%93%E3%81%AA%E6%99%82%E3%81%AF%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%82%92%E3%81%97%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86-%E5%85%A5%E9%96%80%E7%B7%A8 

 

Yuki Minamitani様

お世話になります。

ご指摘いただいた内容で実現したいことが可能になりました。

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

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