こんにちは。
新規レコード画面で、サブテーブルに5行追加して初期値を登録したい。テーブルの「物品ID」フィールドがルックアップとなっており、自動取得まで行いたいです。
チュートリアル、コミュニティの情報から下記コードで値をセットするところまでは出来ていますが、「物品ID」のルックアップが自動取得出来ません。ちなみに、テーブル外に「倉庫」のルックアップもありますが、こちらはどなたかのコードをコピペして取得出来ています。
アプリは物品管理で故障交換時などに登録をしますが、新規出荷の場合は付属品含み、常に5つの物品が1セットで出荷しています。拠点にもよりますが基準は7台、稀に地方や研修センターなどで台数が増減します。
エラーにはならず、最後の処理が動いていないように思います。テーブルのルックアップ自動取得は、行の追加・削除時に動くという情報も見たのですが、どのようにすれば良いか分からず困っています。
フォーム画面とコードをアップしますので、どなたかご教授いただけますと大変助かります。
- (function() {
- ‘use strict’;
- kintone.events.on(‘app.record.create.show’, function(event) {
- var pccount = prompt(“台数を入力してください。(初期値:7)”,7); //新規出店時の台数を入力(初期値:7)
- var record = event.record;
- record[‘倉庫ID’].value = ‘W-0001’; // ルックアップフィールド「倉庫ID」セット
- record[‘倉庫ID’].lookup = true; // ルックアップ「倉庫ID」「倉庫名」取得
- // 行の作成
- var newRow1 = createValue_(“P-0001”,‘アクティブペン’,pccount);
- var newRow2 = createValue_(“P-0002”,‘ドッキングステーション’,pccount);
- var newRow3 = createValue_(“P-0003”,‘モニター’,pccount);
- var newRow4 = createValue_(“P-0004”,‘キーボード&マウス’,pccount);
- var newRow5 = createValue_(“P-0005”,‘タブレットPC’,pccount);
- // テーブルに初期値を定義する
- event.record.テーブル.value = [
- newRow1,
- newRow2,
- newRow3,
- newRow4,
- newRow5,
- ];
- return event;
- });
- function createValue_(idtext,text,number) {
- return {
- ‘value’: {
- “物品ID”:{
- “type”: “SINGLE_LINE_TEXT”,
- “value”: idtext
- },
- ‘数量’: {
- ‘type’: ‘NUMBER’,
- ‘value’: number
- },
- ‘物品名’: {
- ‘type’: ‘SINGLE_LINE_TEXT’,
- ‘value’: text
- }
- }
- };
- }
- kintone.event.on(‘app.record.create.change.テーブル’,“app.record.edit.change.テーブル”),function (event) {
- var record = event.record;
- var subtable = record[‘テーブル’].value;
- var buppin = record[‘物品ID’].value;
- for (var i = 0; i < subtable.length; i++) {
- subtable[i].value[‘物品名’].value = buppin;
- subtable[i].value[‘物品名’].lookup = true;
- }
- return event;
- }
- })();