たま様
さっそく試してみたのですが、どうしても表示されません。以下長くなってしまいますが、全文SRC記載しますので、何かおわかりになるがご指摘頂けますと幸いです。
尚、フォーム変更でフィールドiID名こそ違いますが、作成自体はご指示通りです。
実績の方の合計を出す為のテーブルに関してもサンプルのコピペの様に作成しました。
※合計の達成率などが質問時に抜けていたので、サンプル+PCでテストしています。
(function() {
"use strict";
kintone.events.on(['app.record.index.show'], function(event){
if (document.getElementById( "view" ) != null){
var appId = kintone.app.getId(); //実績管理アプリID
var app_yosan = kintone.app.getLookupTargetAppId("月度"); //予算管理アプリID
//列の設定
var colModelSettings= [
{name:"segment",index:"segment",width:100,align:"center",classes:"segment_class"},
{name:"budget",index:"budget",width:100,align:"right",classes:"budget_class",formatter:'currency',sorttype:"float"},
{name:"results",index:"results",width:100,align:"right",classes:"results_class",formatter:'currency',sorttype:"float"},
{name:"Difference",index:"Difference",width:100,align:"right",classes:"Difference_class",formatter:'currency',sorttype:"float"},
{name:"AchievementRate",index:"AchievementRate",width:150,align:"center",classes:"AchievementRate_class",sorttype:"float"}
{name:"PC_budget",index:"PC_budget",width:100,align:"right",classes:"PC_budget_class",formatter:'currency',sorttype:"float"},
{name:"PC_results",index:"PC_results",width:100,align:"right",classes:"PC_results_class",formatter:'currency',sorttype:"float"},
{name:"PC_Difference",index:"PC_Difference",width:100,align:"right",classes:"PC_Difference_class",formatter:'currency',sorttype:"float"},
{name:"PC_AchievementRate",index:"PC_AchievementRate",width:150,align:"center",classes:"PC_AchievementRate_class",sorttype:"float"}
];
//列の表示名
var colNames = ["月度","売上予算","売上実績","差異","達成率","PC予算","PC実績","PC差異","PC達成率"];
//テーブルの作成
var data = [];
kintone.api('/k/v1/records', 'GET', {app: app_yosan}, function(resp) {
var records = resp['records'];
var key1,key2,key3,key4,key5,key6,key7,key8,key9;
var nn = 0;
var reqUri;
var xmlHttp;
for(var i = 0; i < records.length; i++){
key1 = records[i]['月度']['value'];
key1 = key1.replace(/</g, "<").replace(/>/g, ">");
key2 = records[i]['売上予算合計']['value'];
key6 = records[i]['売上予算_PC']['value'];
// 同期リクエストを行う
reqUri = kintone.api.url('/k/v1/records') + '?app='+ appId + '&query=' + encodeURI("月度 = \"" + key1 + "\"");
xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", reqUri, false);
xmlHttp.setRequestHeader('X-Requested-With','XMLHttpRequest');
xmlHttp.send(null);
if (xmlHttp.status == 200){
if(window.JSON){
key3 = 0;
var obj = JSON.parse(xmlHttp.responseText);
for(var j = 0; j < obj['records'].length; j++){
key3 += parseInt(obj['records'][j]['実績合計']['value']);
}
key4 = parseInt(key3,10) - parseInt(key2,10);
key5 = parseInt(key3,10) / parseInt(key2,10) * 100;
key5 = key5.toFixed(2);
key5 += "%";
//↓修正:上記同様の処理で、PC実績の合計値、差異、達成率を算出する。
key7 = 0;
var obj = JSON.parse(xmlHttp.responseText);
for(var j = 0; j < obj['records'].length; j++){
key7 += parseInt(obj['records'][j]['PC合計']['value']);
}
key8 = parseInt(key7,10) - parseInt(key6,10);
key9 = parseInt(key7,10) / parseInt(key6,10) * 100;
key9 = key9.toFixed(2);
key9 += "%";
//↓修正:表示を行う値を設定する。
data.push({segment:key1,
budget:key2,results:key3,Difference:key4,AchievementRate:key5,
PC_budget:key6,PC_results:key7,PC_Difference:key8,PC_AchievementRate:key9
});
}
}
}
$("#view").jqGrid({
data:data,
datatype : "local",
colNames : colNames,
colModel : colModelSettings,
rowNum : 10,
rowList : [1, 12, 24 ,36],
caption : "売上予実一覧",
height : "auto",
width : "auto",
pager : 'pager',
shrinkToFit : true,
viewrecords: true,
gridComplete:function(){
cellDesign();
}
});
//マイナス値を赤色に変更
function cellDesign(){
var elTable = document.getElementById("view");
var elCell = elTable.getElementsByTagName("td");
var title;
for(var i = 0; i <elCell.length; i++){
if(elCell[i].className == "Difference_class"){
title = elCell[i].title;
if(title.indexOf("-")>-1){
elCell[i].style.color = "#ff0000";
}
}
}
}
});
}
return event;
});
})();