サブテーブルのレコードを取得→カスタムビュー表示

 お世話になっております。

 

サブテーブル内のデータを、カスタムビューに表示しようとしています。

カスタムビューの中では、指定した日付の販売実績レコードを店舗別に

表示しているのですが、その中に、詳細画面の中で設定した

「ロス商品テーブル」の内容を表示したいと考えています。

 

下記のように記載したいのですが、レコードそのものは取得できるものの、

サブテーブルの中だけを取得することが出来ていません。

 

そもそも、サブテーブルのデータを一括で取得し、変数に格納するのは

難しいのでしょうか?

 

お分かりの方がいれば、ご教示いただきたく、よろしくお願いいたします。

(function() {
    kintone.events.on(“app.record.index.show”, function(event) {
    var strQuery_meisai = “日付 = "” + mm_targetDate.format(“YYYY-MM-DD”) + “"”
    var strFileld = “‘店舗名’,‘税抜売上額’,‘全体考察’,‘T_Loss’” //T_Loss=ロス商品を管理するサブテーブル
    var obj = {};

    // 当日データ取得→表示
    fetchRecords(fetchRecords(event.appId, strQuery_meisai , strFileld)).then(function(records) {
        obj.m_rs = convertToRows(records);
        console.log('m_rs: ', JSON.stringify(obj.m_rs)); //ここではサブテーブルの内容が取得できているのを確認済み

        var hansoku = records.T_Hansoku;
        var hansoku2 = obj.m_rs.T_Hansoku;

        console.log('T_販促(recordsから取得) : ', JSON.stringify(hansoku)); //戻り値 undifined
        console.log('T_販促(obj.m_rsから取得) : ', JSON.stringify(hansoku2)); //戻り値 undifined

        var m_result = alasql("SELECT a.* FROM ? AS a ", [obj.m_rs]);

        for (var i = 0; i < m_result.length; i++) {
            var m_record = m_result[i];
            var subTable1 = {};
            subTable1 = m_record.T_Hansoku;
            console.log(“T_販促(m_record.T_Hansokuから取得) :” + JSON.stringify(subTable1)); //戻り値 []

            var subTable2 = {};
            subTable2 = m_record.T_Hansoku.value;
            console.log(“T_販促(m_record.T_Hansoku.valueから取得) :” + JSON.stringify(subTable2)); //戻り値 undifined
            }
        };
    }
}

 

 

function fetchRecords(appId, opt_query, opt_fields, opt_offset, opt_limit, opt_records) {
var query = opt_query || ‘’;
var offset = opt_offset || 0;
var limit = opt_limit || 500;
var allRecords = opt_records || [];
var params = {app: appId, query: query + ’ limit ’ + limit + ’ offset ’ + offset };
if (opt_fields) params.fields = opt_fields;
//console.log('opt_queryの値 ', JSON.stringify(opt_query));
//console.log(‘queryの値 ‘, JSON.stringify(params));
return kintone.api(kintone.api.url(’/k/v1/records’, true), ‘GET’, params).then(function(resp) {
allRecords = allRecords.concat(resp.records);
if (resp.records.length === limit) {
return fetchRecords(appId, query, opt_fields, offset + limit, limit, allRecords);
}
return allRecords;
});
}

 

遠藤 さん

records、obj.m_rs とも配列ですので、サブテーブルを参照する場合は、配列の添え字指定が必要です。

var hansoku = records.T_Hansoku;
var hansoku2 = obj.m_rs.T_Hansoku;

 

rex0220様

お恥ずかしい限りです。ありがとうございました。