お世話になっております。 超初心者なのですが、初心者なりに掲題のカスタマイズビューを試しましたが、何も変わりませんでした。 【やりたいこと】 営業担当者の目標及び会社全体の収益目標に対する進捗状況を確認したいです。 また、案件管理アプリを使用しており、そこから集計した数字をリアルタイム反映して、管理したいです。 【状況】 私自身は共有管理者です。 JSEdit for kintoneを入れ、上記の指示通り、一覧のカスタマイズ画面で、コードを入力し、上記の指示通りにjqGrid-4.7.0をDL後解凍し、指定のファイルをアップロード、URLの入力はしています。(サンプルコードをテキストに入力し、保存してアップロードしました。) 根本的になにかが足りていないのだと思うのですが、そこすらわからない状況です。 大変恐縮ではございますが、ご教示いただけますと幸いです。 何卒宜しくお願い申し上げます。
こちらのページにあるカスタマイズですね。
正しく表示されないということは何かが足りていないのは間違いないようですが、その情報だけでは分からないのでこちらを参照してエラー情報等を見ると手がかりが見つかるかもしれません。
お世話になっております。ご指摘頂きありがとうございます。
ご教示頂いたページにも飛びましたが、
ご指摘前に一度みたページでしたが、当時は???となって
踵を返しておりました。
改めてデバッグしたところ、下記のようなエラーがあることがわかりました。
google検索しましたが、次の手がわからなくなりました。
もしよろしければご教示いただけますと幸いです。
何卒よろしくお願い申し上げます。
笹 史明 さま
発生しているエラーは「『拠点』が見付からない」というものです。
またエラー内容の末尾に「33:22」とあります。これはコードのどこでエラーが発生しているかの場所を表しているもので、クリックすると具体的にどの部分かを表示してくれます。サンプルコードに当てはめると1行違いますが
key1 = records[i]['拠点'].value;
この部分ですね。同様のエラーが出た場合、慣れない内は「『見付からない』となっている手前の部分が存在していない」という認識で問題ありません。この場合だと
records[i]
が存在していないことになります。records[i]とは、records(配列)のi番目のデータという意味なんですが、コードの構造を遡ると
kintone.events.on(['app.record.index.show'], (event) => {
const app_yosan = kintone.app.getLookupTargetAppId('拠点'); // 予算管理アプリID
fetchRecords(app_yosan).then((records) => {
この部分まで遡ることになり、fetchRecordsの結果が空の配列ということになっているようです。
fetchRecordsという関数は「レコードを取得し、その結果の配列を返す」というもので、空の配列が返っているということは「取得したレコードが0件」という意味になります。それに対して「取得したレコードのi番目のデータ」を取得しようとしているため最終的にエラーになっている状態です。考えられる原因として、予算管理アプリにレコードが1件も登録されていないのではないかと思います。
ありがとうございます。
ご指摘の通りでございました。予算管理にレコードを作成すると、実績管理にも反映されてきました。
これを基にアプリを開発してみたところ、またしても壁にぶつかってしまいました。
想定している表としては、基本的には「各担当者の収益実績」を管理するものです。
そのため、「拠点」を「担当者」という表記にして運用していきたいと思っています。
予算管理において、フォームを「拠点」→「担当者」にし、
実績管理においても、ルックアップフィールドのフォームを予算管理に関連付けたにもかかわらず、
サンプルの再現でうまく表示できたようなが表示がされなくなり、最初の状態の状況です。
何卒よろしくお願い申し上げます。
笹 史明 さま
APIのリクエストボディに問題があるのは間違いないようですが、画像からではどの部分かまでは判断できかねます。
とはいえリクエストボディのクエリはレコードの取得数と並び順しか指定していないものなので、おそらくアプリIDの指定に問題があるのではないかと思います。
以下を追加して何が表示されるか教えて下さい。仮にnullが表示されるのであれば、フィールドが存在しないか、フィールドコードの指定が間違っているか、閲覧権限がないかのいずれかです。
kintone.events.on(['app.record.index.show'],(event) =\>{
const app_yosan = kintone.app.getLookupTargetAppId('拠点');//予算管理アプリID
fetchRecords(app_yosan).then((records) =\>{
↓
kintone.events.on(['app.record.index.show'], (event) => {
const app_yosan = kintone.app.getLookupTargetAppId('担当者'); // 予算管理アプリID
alert(`取得するアプリのIDは「${app_yosan}」`);
fetchRecords(app_yosan).then((records) => {
また、別件ですが投稿されている画像にサブドメインが掲載されているので、削除か修正をおすすめします。
お世話になっております。
色々触って変わってしまったのかもしれませんが、昨日とやや違う状況のような気がします。
ひとまず、現時点ではこのような状況ですが、ご指示に合致しておりますでしょうか。
また、サブドメインの件ご指摘ありがとうございます。以後気を付けて参ります。
笹 史明 さま
サンプルコードにalert部分を追加する形でお使い下さい。
とはいえ投稿された画像から対象のアプリID(57)が分かったので
fetchRecords(app_yosan).then((records) => {
を
fetchRecords(57).then((records) => {
に変えても問題ないですね。その前に実行している
const app_yosan = kintone.app.getLookupTargetAppId('担当者'); // 予算管理アプリID
はルックアップ対象のアプリIDを取得し、そのアプリIDをfetchRecordsに渡しているだけなので、結果は同じになります。
笹 史明 さま
コンソール画面にそのまま入力されているようです。
サンプルコードはJSEdit for kintone等を使って入力していますか?その編集画面で
kintone.events.on(['app.record.index.show'], (event) => {
const app_yosan = kintone.app.getLookupTargetAppId('拠点'); // 予算管理アプリID
fetchRecords(app_yosan).then((records) => {
となっている部分を、まるごと
kintone.events.on(['app.record.index.show'], (event) => {
const app_yosan = kintone.app.getLookupTargetAppId('担当者');//予算管理アプリID
alert(`取得するアプリのIDは「${app\_yosan}」`);
fetchRecords(57).then((records) => {
と書き換えて下さい。
書き換えた結果こうなりました。
笹 史明 さま
サンプルコードに当てはめると
key1 = records[i]['拠点'].value;
おそらくこの部分ですね。最初にも申し上げましたが、「properties of undefined」となった場合は、その「reading 〇〇」となっているものの手前が存在していないことになります。
「reading value」となっている今回だと
records[i]['拠点']
ここですね。i番目のデータの「拠点」が存在していないようです(逆を言えばrecordsのi番目のデータ、までは取得できているのでレコードの取得には成功しているようです)。こちらは「担当者」に変えているかと思いますが、その場合は担当者というフィールドが存在していないことになっています。
画面には「null」「57」どちらが表示されましたか?おそらくですが、「担当者」というフィールドコードのフィールドが存在していないのではないかと思います(フィールド「名」ではなくフィールド「コード」)。
笹 史明 さま
設定は問題なさそうです。
次にレコードの中身が取れているかを確認するため、サンプルコードの
key1 = records[i]['担当者'].value;
となっている部分に
console.log(JSON.stringify(records[i]));
key1 = records[i]['担当者'].value;
と追加してみて下さい。コンソールに取得したレコードが表示されるはずです。
上記のご指示に従い、このようになりました。
笹 史明 さま
フィールドは問題ないように見えますね。そもそもサンプルで動作していたものが動作しなくなるということは、書き換えた部分に問題がありそうです。
コードの全文は公開できますか?
このようになっております。
* カスタマイズビューのサンプルプログラム
* Copyright (c) 2016 Cybozu
*
* Licensed under the MIT License
* https://opensource.org/licenses/mit-license.php
*/
jQuery.noConflict();
(($) => {
'use strict';
// 予算管理アプリを全レコード取得
const fetchRecords = (app_yosan, opt_offset, opt_limit, opt_records) => {
const offset = opt_offset || 0;
const limit = opt_limit || 100;
let allRecords = opt_records || [];
const params = {app: app_yosan, query: 'order by レコード番号 asc limit ' + limit + ' offset ' + offset};
return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params).then((resp) => {
allRecords = allRecords.concat(resp.records);
if (resp.records.length === limit) {
return fetchRecords(app_yosan, offset + limit, limit, allRecords);
}
return allRecords;
});
};
// 予実管理データのカスタマイズビュー用データの作成
const makeYojitsuData = (records, opt_data, opt_i) => {
let i = opt_i || 0; // レコードのカウント
const allData = opt_data || []; // 予実の集計結果
const appId = kintone.app.getId(); // 実績管理アプリID
let key1, key3, key4, key5;
console.log(JSON.stringify(records[i]));
key1 = records[i]['担当者'].value;
key1 = key1.replace(/</g, '<').replace(/>/g, '>');
const key2 = records[i]['予算'].value;
const params = {'app': appId, 'query': '拠点 = "' + key1 + '"'};
return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params).then((resp) => {
if (resp.records) {
key3 = 0;
const obj = resp.records;
for (let j = 0; j < obj.length; j++) {
key3 += parseInt(obj[j]['実績合計'].value, 10);
}
key4 = parseInt(key3, 10) - parseInt(key2, 10);
key5 = parseInt(key3, 10) / parseInt(key2, 10) * 100;
key5 = key5.toFixed(2);
key5 += '%';
allData.push({segment: key1, budget: key2, results: key3, Difference: key4, AchievementRate: key5});
} else {
event.error = '実績管理情報が取得できません。';
}
i += 1;
if (records.length !== i) {
return makeYojitsuData(records, allData, i);
}
return allData;
});
};
// 差異のマイナス値を赤色に変更
const cellDesign = () => {
$('#view tr td').each((index, elm) => {
if ($(this).hasClass('Difference_class')) {
if ($(this).text().indexOf('-') > -1) {
$(this).css('color', '#ff0000');
}
}
});
};
// 予実管理のカスタマイズビューを取得
const dispYojitsuCustomizeView = (records) => {
makeYojitsuData(records).then((data) => {
// 列の設定
const colModelSettings = [
{name: 'segment',
index: 'segment',
width: 300,
align: 'center',
classes: 'segment_class'},
{name: 'budget',
index: 'budget',
width: 200,
align: 'right',
classes: 'budget_class',
formatter: 'currency',
sorttype: 'float'},
{name: 'results',
index: 'results',
width: 200,
align: 'right',
classes: 'results_class',
formatter: 'currency',
sorttype: 'float'},
{name: 'Difference',
index: 'Difference',
width: 200,
align: 'right',
classes: 'Difference_class',
formatter: 'currency',
sorttype: 'float'},
{name: 'AchievementRate',
index: 'AchievementRate',
width: 150,
align: 'center',
classes: 'AchievementRate_class',
sorttype: 'float'}
];
// 列の表示名
const colNames = ['担当者', '予算', '実績', '差異', '達成率'];
$('#view').jqGrid({
data: data,
datatype: 'local',
colNames: colNames,
colModel: colModelSettings,
rowNum: 10,
rowList: [1, 10, 20],
caption: '売上',
height: 'auto',
width: 1100,
pager: 'pager',
shrinkToFit: true,
viewrecords: true,
gridComplete: () => {
cellDesign();
}
});
});
};
// イベント処理
kintone.events.on(['app.record.index.show'], (event) => {
const app_yosan = kintone.app.getLookupTargetAppId('担当者'); // 予算管理アプリID
alert(`取得するアプリのIDは「${app_yosan}」`);
fetchRecords(57).then((records) => {
dispYojitsuCustomizeView(records);
});
});
})(jQuery);
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8"/>
<link rel="apple-touch-icon" href="https://static.cybozu.com/k/kintone_23.2.5_124247/image/gaia/mobile/appicon_60_60@3x.png" />
<title>レコードの一覧</title>
<link rel="shortcut icon" href='https://static.cybozu.com/contents/k/image/icon/app/soroban.ico'>
<link rel="stylesheet" type="text/css" href='https://static.cybozu.com/k/kintone_23.2.5_124247/css/compiled/argo.css'/>
<link rel="stylesheet" type="text/css" href="https://js.cybozu.com/jqueryui/1.11.4/themes/redmond/jquery-ui.css" />
<link rel="stylesheet" type="text/css" href="https://xxxxxxxxxxxx.cybozu.com/k/api/js/download.do?app=56&contentId=8671&jsType=DESKTOP_CSS&hash=d43330213a1ec3da78b1563690c697595d078098" />
</head>
<body class="">
<script>
if (window.parent !== window.self) {
document.body.className += ' body-iframe';
if (window.parent.document.getElementById("notification-iframe-gaia")) {
document.body.className += ' notification-iframe-body-gaia'
}
var base = document.createElement('base');
base.target = '_parent';
document.getElementsByTagName('head')[0].appendChild(base);
} else {
document.body.className += ' body-top';
}
</script>
<noscript>
<div id="browser-warning-jsdisabled-cybozu">
<div class="browser-warning-jsdisabled-container-cybozu">
<div class="browser-warning-jsdisabled-logo-cybozu"></div>
<div class="browser-warning-jsdisabled-main-cybozu">
<div class="browser-warning-jsdisabled-caution-cybozu"></div>
<div class="browser-warning-jsdisabled-description-cybozu">
<h3 class="browser-warning-jsdisabled-title-cybozu">WebブラウザーがJavaScriptに対応していません。または、Webブラウザーの設定でJavaScriptが無効に設定されています。</h3>
</div>
</div>
<div class="browser-warning-jsdisabled-bottom-cybozu"></div>
</div>
</div>
</noscript>
<div id="browser-warning-notsupported-cybozu" style="display:none;"></div>
<div id="browser-warning-compatibility-cybozu" style="display:none;"></div>
<div class="gaia-header"></div>
<div class="gaia-header-spacer"></div>
<div class="gaia-sidemenu"></div>
<div class="menu-gaia"></div>
<!-- container -->
<div class='container-gaia app-index-container-gaia no-navimenu-gaia no-actionmenu-gaia'>
<div class="app-info-content-gaia insert-row-gaia insert-row-hidden-gaia" style="display: none"></div>
<div class="app-csvimportmessage-gaia insert-row-gaia insert-row-hidden-gaia"></div>
<div class="app-offsetlimitexceedancemessage-gaia insert-row-gaia"></div>
<div class="app-calendar-alert-gaia insert-row-gaia" style="display:none">
<div>カレンダーに表示できるレコードの上限(500件)を超えています。先頭の500件のみ表示されています。</div>
</div>
<div class="contents-actionmenu-gaia"></div>
<div class="kintone-app-header-space"></div>
<div class="contents-gaia app-index-contents-gaia">
<div class="box-gaia">
<div class="box-inner-gaia">
<div id="view-list-top-gaia"></div>
<div id="view-list-data-gaia"></div>
<div id="view-list-bottom-gaia"></div>
</div>
</div>
</div>
<div class="contents-bottommenu-gaia"></div>
</div><!-- container -->
<script src='https://static.cybozu.com/k/kintone_23.2.5_124247/js/resources/message-JP_ja.js'></script>
<script src='https://static.cybozu.com/k/kintone_23.2.5_124247/js/compiled/third_party/kintone-react.bundle.min.js'></script>
<script src="https://static.cybozu.com/k/kintone_23.2.5_124247/js/compiled/app/index.js"></script>
<script>
cybozu.data.uri['STATIC_URL'] = 'https:\/\/static.cybozu.com\/k\/kintone_23.2.5_124247';
cybozu.data.uri['STATIC_ROOT'] = 'https:\/\/static.cybozu.com\/';
cybozu.data.uri['BASE_PATH'] = '\/k\/';
cybozu.data.uri['SLASH_PATH'] = '/';
cybozu.data.uri['PAGE_PREFIX'] = '';
cybozu.data.uri['API_PREFIX'] = '\/api';
cybozu.data.uri['API_PREFIX_RELEASE'] = '\/api';
cybozu.data.uri['API_PREFIX_DEV'] = '\/api\/dev';
cybozu.data.uri['MARKET_PREFIX'] = 'https:\/\/static.cybozu.com\/k\/market\/39';
cybozu.data.uri['EMOJI_PREFIX'] = 'https:\/\/static.cybozu.com\/contents\/k\/emoji';
cybozu.data.uri['STATIC_IMAGE_PREFIX'] = 'https:\/\/static.cybozu.com\/contents\/k\/image';
cybozu.data.uri['GUEST_PREFIX'] = '\/guest';
cybozu.data.uri['CURRENT_CONTEXT'] = '';
cybozu.data.uri['STORE_ORDER_URL'] = 'https:\/\/store.cybozu.com\/transfer\/order?aud=c499636&code=kintone';
cybozu.data.uri['CLARA_BASE_URL'] = 'https:\/\/get.kintone.com';
cybozu.data.uri['CLARA_SSO_V2_URL'] = 'https:\/\/get.kintone.com\/v2\/sso\/login?subdomain=xxxxxxxxxxxx';
cybozu.data.uri.init();
</script>
<script src='https://static.cybozu.com/k/kintone_23.2.5_124247/js/compiled/third_party/focus-options-polyfill.bundle.min.js'></script>
<script>
// common
cybozu.data['REQUEST_TOKEN'] = '32a0e11c-8048-44f4-8d00-1f0684e37126';
cybozu.data['LOGIN_USER'] = {"birthDate":null,"callto":"","code":"sasa","ctime":"2021-06-04T05:04:48.000Z","dateTimeLocale":null,"description":"","email":"sasa@kbestate.co.jp","employeeNumber":"","employeeType":null,"entityType":"USER","extendedData":null,"extensionNumber":"","formattedDescription":"","givenName":"史明","givenNameReading":"ふみあき","id":"8","initials":null,"isBuiltIn":false,"joinDate":null,"langLocale":null,"localName":"","localNameLocale":"ja","locale":"","middleName":null,"mobilePhone":"","mtime":"2023-01-23T02:36:23.000Z","name":"笹 史明","numberLocale":null,"office":null,"phone":"","photo":{"small":"https://static.cybozu.com/contents/k/image/icon/user/user_16.svg","size_56":"https://static.cybozu.com/contents/k/image/icon/user/user_56.svg","normal":"https://static.cybozu.com/contents/k/image/icon/user/user_36.svg","size_32":"https://static.cybozu.com/contents/k/image/icon/user/user_32.svg","original":"https://static.cybozu.com/contents/k/image/icon/user/user.svg","original_r":"https://static.cybozu.com/contents/k/image/icon/user/user.svg","size_40":"https://static.cybozu.com/contents/k/image/icon/user/user_40.svg","size_48_r":"https://static.cybozu.com/contents/k/image/icon/user/user_48.svg","size_48":"https://static.cybozu.com/contents/k/image/icon/user/user_48.svg","size_96_r":"https://static.cybozu.com/contents/k/image/icon/user/user_96.svg","size_24":"https://static.cybozu.com/contents/k/image/icon/user/user_24.svg"},"photoMd5":null,"photoMime":null,"primaryOrganization":null,"removed":false,"serviceFlags":null,"sortOrder":null,"surName":"笹","surNameReading":"ささ","timezone":"Asia/Tokyo","url":"","valid":true};
cybozu.data['isDevelop'] = false;
cybozu.data['PERSONALSETTINGS_DATA'] = {"hasAccessedKintone":true,"mailNotificationCondition":"MENTION","mailNotificationMailFormat":"HTML","mailNotificationWillSend":true,"readAddRecordHint":false,"readCreateAppMessage":false,"readEditRecordHint":false,"readInviteGuestMessage":false,"readShowRecordDetailHint":false,"recordListSize":100,"showSpaceCreatedMessage":null,"shownWelcomeDialog":null,"timeNotation":"TWENTY_FOUR"};
cybozu.data['PERSONALSETTINGS_DATA']['locale'] = 'ja';
cybozu.data['PERSONALSETTINGS_DATA']['language'] = 'ja';
cybozu.data['PERSONALSETTINGS_DATA']['timezone'] = 'Asia\/Tokyo';
cybozu.data['TIMEZONE_DATA'] = {"id":"Asia/Tokyo","names":[],"std_offset":540,"transitions":[]};
cybozu.data['SYSTEM_TIMEZONE_DATA'] = {"id":"Asia/Tokyo","names":[],"std_offset":540,"transitions":[]}
cybozu.data['SYSTEM_SETTINGS'] = {"guestAvailable":true,"peopleAvailable":true,"pollingInterval":300,"spaceAvailable":true};
cybozu.data['IS_MOBILE_DEVICE'] = false;
cybozu.data['MOBILE_VIEW_TYPE'] = "MOBILE";
cybozu.data['MOBILE_VIEW_SELECTABLE_BY_USER'] = true;
cybozu.data['IS_PORTLET'] = false;
// for kintone
cybozu.data['TIMEZONE_UTC'] = {"id":"UTC","names":[],"std_offset":0,"transitions":[]};
cybozu.data['TIMEZONE_DATA_DISPLAY_NAME'] = '(UTC+09:00) 大阪、札幌、東京';
cybozu.data['TIMEZONE_UTC_DISPLAY_NAME'] = '(UTC+00:00) GMT';
cybozu.data['EVERYONE_GROUP_ID'] = '7532782697181632513';
cybozu.data['BROWSER_WARNING_NOTSUPPORTED_TEXT'] = '非対応のWebブラウザーです。一部の機能が正常に動作しない場合があります。';
cybozu.data['OUT_OF_SPACE_APPS_CREATABLE'] = true;
cybozu.data['SPACE_CREATABLE'] = true;
cybozu.data['APP_WIDTH_RESIZABLE_FIELDS'] = {"LABEL":true,"SINGLE_LINE_TEXT":true,"MULTIPLE_LINE_TEXT":true,"EDITOR":true,"DECIMAL":true,"CALC":true,"SINGLE_CHECK":true,"MULTIPLE_CHECK":true,"SINGLE_SELECT":true,"MULTIPLE_SELECT":true,"DATE":true,"TIME":true,"DATETIME":true,"FILE":true,"LINK":true,"USER_SELECT":true,"ORGANIZATION_SELECT":true,"GROUP_SELECT":true,"LOOKUP":true,"SPACER":true,"HR":true,"RECORD_ID":true,"CREATOR":true,"CREATED_AT":true,"MODIFIER":true,"MODIFIED_AT":true};
cybozu.data['APP_HEIGHT_RESIZABLE_FIELDS'] = {"EDITOR":true,"MULTIPLE_LINE_TEXT":true,"SPACER":true};
cybozu.data['GUEST_SPACE_CREATABLE'] = true;
cybozu.data['SYSTEM_MANAGEMENT_ACCESSIBLE'] = true;
cybozu.data['HAS_OTHER_DOMAIN_SPACE'] = false;
cybozu.data['IS_COMMONALIZED_GUEST_USER'] = false;
cybozu.data['LICENSE_DATA'] = {"guestSpaceCreateEnable":true,"jsCustomizeEnable":true,"recordLimitExceededApps":[],"spaceCreateEnable":true};
cybozu.data['API_TOKEN_CONFIGURABLE'] = true;
cybozu.data['WEBHOOK_EDITABLE'] = true;
cybozu.data['HOME_DOMAIN_FQDN'] = '';
cybozu.data['REGION'] = 'JP';
cybozu.data['DOMAIN_MAP'] = {"JP":"cybozu.com","CN":"cybozu.cn","US":"kintone.com"};
cybozu.data['ACCESS_FROM'] = 'jp';
cybozu.data['NEW_DESIGN_ENABLED'] = true;
cybozu.data['HEADER_BACKGROUND_COLOR'] = "";
cybozu.data['IS_TRIAL'] = false;
cybozu.data['IS_TUTORIAL_FORCE_ENABLED'] = false;
cybozu.data['executeOnce'] = {
'SYSTEM_WIDE_EXECUTED': true
};
cybozu.data['IS_SYSTEM_WIDE_FIRST_ACCESS_USER'] = false;
</script>
<script>
cybozu.data['AVAILABLE_SERVICES'] = {
'displayGaroon': false,
'displayOffice': false,
'displayMailwise': false
};
cybozu.data['HEADER_LOGO'] = {
'linkUrl': "\/k\/",
'sourceUrl': "https:\/\/static.cybozu.com\/k\/kintone_23.2.5_124247\/image\/cybozu\/header\/slash-logo.png",
'useDefault': true
};
cybozu.data['FOR_SLASH_ADMINISTRATOR'] = true;
cybozu.data['DISPLAY_COMMONIZE'] = false;
cybozu.data['DISPLAY_PURCHACE_MENU'] = false;
cybozu.data['USE_CLARA'] = false;
cybozu.data['FOR_SSO_GUEST_USER'] = false;
</script>
<script>
cybozu.data.page['APP_ID'] = '56';
cybozu.data.page['APP_NAME'] = "実績管理";
cybozu.data.page['APP_DEPLOYED'] = true;
cybozu.data.page['APP_DATA'] = {"code":null,"createdAt":"2023-03-01T05:57:35.000Z","creator":{"birthDate":null,"callto":"","code":"sasa","ctime":"2021-06-04T05:04:48.000Z","dateTimeLocale":null,"description":"","email":"sasa@kbestate.co.jp","employeeNumber":"","employeeType":null,"entityType":"USER","extendedData":null,"extensionNumber":"","formattedDescription":"","givenName":"史明","givenNameReading":"ふみあき","id":"8","initials":null,"isBuiltIn":false,"joinDate":null,"langLocale":null,"localName":"","localNameLocale":"ja","locale":"","middleName":null,"mobilePhone":"","mtime":"2023-01-23T02:36:23.000Z","name":"笹 史明","numberLocale":null,"office":null,"phone":"","photo":{"small":"https://static.cybozu.com/contents/k/image/icon/user/user_16.svg","size_56":"https://static.cybozu.com/contents/k/image/icon/user/user_56.svg","normal":"https://static.cybozu.com/contents/k/image/icon/user/user_36.svg","size_32":"https://static.cybozu.com/contents/k/image/icon/user/user_32.svg","original":"https://static.cybozu.com/contents/k/image/icon/user/user.svg","original_r":"https://static.cybozu.com/contents/k/image/icon/user/user.svg","size_40":"https://static.cybozu.com/contents/k/image/icon/user/user_40.svg","size_48_r":"https://static.cybozu.com/contents/k/image/icon/user/user_48.svg","size_48":"https://static.cybozu.com/contents/k/image/icon/user/user_48.svg","size_96_r":"https://static.cybozu.com/contents/k/image/icon/user/user_96.svg","size_24":"https://static.cybozu.com/contents/k/image/icon/user/user_24.svg"},"photoMd5":null,"photoMime":null,"primaryOrganization":null,"removed":false,"serviceFlags":null,"sortOrder":null,"surName":"笹","surNameReading":"ささ","timezone":"Asia/Tokyo","url":"","valid":true},"decimalPrecision":16,"decimalScale":4,"deployed":true,"description":"別アプリに登録した予算に紐づけて、実績を入力していくアプリです。※開発者向けコミュニティ「cybozu developer network」で公開している JavaScript サンプルコードを読み込むことで、 予算と実績の差異と達成率の集計表を作るカスタマイズが可能です。→サンプルはこちら なお、JavaScript カスタマイズはスタンダードコースでのみ利用できます。 →価格詳細はこちら","fiscalYearStartMonth":4,"formattedDescription":"別アプリに登録した予算に紐づけて、実績を入力していくアプリです。 ※開発者向けコミュニティ「cybozu developer network」で公開している JavaScript サンプルコードを読み込むことで、 予算と実績の差異と達成率の集計表を作るカスタマイズが可能です。→サンプルはこちら なお、JavaScript カスタマイズはスタンダードコースでのみ利用できます。 →価格詳細はこちら","guest":false,"htmlDescription":"\u003Cdiv\u003E別アプリに登録した予算に紐づけて、実績を入力していくアプリです。\u003C/div\u003E\u003Cdiv\u003E※開発者向けコミュニティ「cybozu developer network」で公開している JavaScript サンプルコードを読み込むことで、\u003C/div\u003E\u003Cdiv\u003E 予算と実績の差異と達成率の集計表を作るカスタマイズが可能です。→サンプルは\u003Cb\u003E\u003Ca href=\"https://cybozudev.zendesk.com/hc/ja/articles/202640870\" rel=\"nofollow\"\u003Eこちら\u003C/a\u003E\u003C/b\u003E\u003C/div\u003E\u003Cdiv\u003E なお、JavaScript カスタマイズはスタンダードコースでのみ利用できます。 →価格詳細は\u003Cb\u003E\u003Ca href=\"https://kintone.cybozu.com/jp/price/\" rel=\"nofollow\"\u003Eこちら\u003C/a\u003E\u003C/b\u003E\u003C/div\u003E","icons":{"SMALL":"https://static.cybozu.com/contents/k/image/icon/app/soroban-small.png","FAVICON":"https://static.cybozu.com/contents/k/image/icon/app/soroban.ico","ORIGINAL":"https://static.cybozu.com/contents/k/image/icon/app/soroban.png","NORMAL":"https://static.cybozu.com/contents/k/image/icon/app/soroban.png"},"id":"56","modified":false,"modifiedAt":"2023-03-03T10:08:23.000Z","modifier":{"birthDate":null,"callto":"","code":"sasa","ctime":"2021-06-04T05:04:48.000Z","dateTimeLocale":null,"description":"","email":"sasa@kbestate.co.jp","employeeNumber":"","employeeType":null,"entityType":"USER","extendedData":null,"extensionNumber":"","formattedDescription":"","givenName":"史明","givenNameReading":"ふみあき","id":"8","initials":null,"isBuiltIn":false,"joinDate":null,"langLocale":null,"localName":"","localNameLocale":"ja","locale":"","middleName":null,"mobilePhone":"","mtime":"2023-01-23T02:36:23.000Z","name":"笹 史明","numberLocale":null,"office":null,"phone":"","photo":{"small":"https://static.cybozu.com/contents/k/image/icon/user/user_16.svg","size_56":"https://static.cybozu.com/contents/k/image/icon/user/user_56.svg","normal":"https://static.cybozu.com/contents/k/image/icon/user/user_36.svg","size_32":"https://static.cybozu.com/contents/k/image/icon/user/user_32.svg","original":"https://static.cybozu.com/contents/k/image/icon/user/user.svg","original_r":"https://static.cybozu.com/contents/k/image/icon/user/user.svg","size_40":"https://static.cybozu.com/contents/k/image/icon/user/user_40.svg","size_48_r":"https://static.cybozu.com/contents/k/image/icon/user/user_48.svg","size_48":"https://static.cybozu.com/contents/k/image/icon/user/user_48.svg","size_96_r":"https://static.cybozu.com/contents/k/image/icon/user/user_96.svg","size_24":"https://static.cybozu.com/contents/k/image/icon/user/user_24.svg"},"photoMd5":null,"photoMime":null,"primaryOrganization":null,"removed":false,"serviceFlags":null,"sortOrder":null,"surName":"笹","surNameReading":"ささ","timezone":"Asia/Tokyo","url":"","valid":true},"name":"実績管理","revision":"15","roundingMode":"HALF_EVEN","settings":{"appFacadeId":"5741366","automaticallyChooseTitleComponent":false,"automaticallyChooseTitleComponentId":null,"enableBulkDeletion":false,"enableRecordReuse":true,"jsScope":"ALL","reminderTimezone":null,"settingsNotesWillBeInherited":false,"theme":"PLAIN","titleComponentLocalId":"5093175","useCategory":false,"useComment":true,"useCommentNotification":true,"useHistory":true,"useReminder":false,"useStatus":false,"useThumbnail":true,"vtRowRevisionId":"0"},"spaceId":null};
cybozu.data.page['APP_PLUGIN_CONFIGS'] = {"fdeplpmkengkldpdlaiegpokgmaabkkb":{}};
cybozu.data.page['OAUTH_TOKEN_AVAILABLE'] = {"availables":{}}.availables;
cybozu.data.page['CSV_APP_CREATE'] = false;
cybozu.data.page['ALLOWED_APP_MOVE'] = {"reason":null,"type":"TO_SPACE_ONLY"};
cybozu.data.page['SHOULD_CONVERT_FULLWIDTH_CHARS_AND_COMMA_IN_DECIMAL_FIELD'] = false;
// User selector setting
cybozu.data['USER_SELECT_SETTING'] = {
'container_width': '200px',
'multiple': false,
'search': gaia.uri.api('/directory/search'),
'menu': {
'org': {
'name': cybozu.i18n.getMsg('js.cybozu.ui.forms.UserSelect.organization'),
'url': {
"list": '\/api/org/descendent',
"users": '\/api/org/users'
}
},
'group': {
'name': cybozu.i18n.getMsg('js.cybozu.ui.forms.UserSelect.group'),
'url': {
"list": '\/api/group/list',
"users": '\/api/group/users'
}
},
'loginuser': {
'name': cybozu.i18n.getMsg('js.cybozu.ui.forms.UserSelect.loginuser'),
'url': {
"list": '\/api/user/get'
}
}
},
'rootOrgId': '7532782697181632512',
'includeDir': true,
'noAction': true,
'myId': cybozu.data['LOGIN_USER']['id'],
'fixedOrder': true
};
</script>
<script>
cybozu.data.page.CUSTOMIZE_EXECUTABLE = true;
cybozu.data.page.QUERY_STRING = '';
cybozu.data.page.QUERY = {"condition":null};
cybozu.data.page.QUERY_ENTITY = null;
cybozu.data.page.FORM_DATA = {"deployedFields":["5741375","5081185","5093153","5081184","5081181","5081180","5081183","5093151","5081182","5093150","5093176","5081179","5081178"],"layout":"[{\"id\":null,\"type\":\"ROW\",\"isSubTable\":false,\"var\":null,\"label\":null,\"controlList\":[{\"isVirtical\":true,\"styleMap\":{\"width\":117},\"type\":\"DATE\",\"var\":\"年月\",\"label\":\"売上年月\"},{\"isVirtical\":true,\"styleMap\":{\"width\":311},\"type\":\"SINGLE_LINE_TEXT\",\"var\":\"担当者\",\"label\":\"担当者\"}]},{\"id\":\"5093152\",\"type\":\"SUBTABLE\",\"isSubTable\":true,\"var\":\"Table\",\"label\":\"Table\",\"controlList\":[{\"isVirtical\":true,\"styleMap\":{\"width\":117},\"type\":\"DATE\",\"var\":\"日付\",\"label\":\"日付\"},{\"isVirtical\":true,\"styleMap\":{\"width\":226},\"type\":\"DECIMAL\",\"var\":\"実績\",\"label\":\"実績\"}]},{\"id\":null,\"type\":\"ROW\",\"isSubTable\":false,\"var\":null,\"label\":null,\"controlList\":[{\"styleMap\":{\"width\":117,\"height\":66},\"elementId\":\"\",\"type\":\"SPACER\"},{\"isVirtical\":true,\"styleMap\":{\"width\":226},\"type\":\"CALC\",\"var\":\"実績合計\",\"label\":\"実績合計\"}]}]","lookups":[{"fieldMappings":[],"id":"5741377","keyMapping":{"fieldId":"5741375","targetFieldId":"5080966"},"keyTargetFieldAccessible":true,"listFields":[],"query":{"condition":null,"limit":null,"offset":null,"orders":[{"name":"f5080958","op":"DESC"}]},"targetApp":{"accessible":true,"icon":"https://static.cybozu.com/contents/k/image/icon/app/calculator-small.png","id":"57","name":"予算管理","schema":{"groups":[],"revision":"4","subTable":{},"table":{"fieldList":{"5080958":{"id":"5080958","label":"レコード番号","properties":{"noLabel":"false","required":"true"},"type":"RECORD_ID","var":"レコード番号"},"5080959":{"id":"5080959","label":"更新者","properties":{"noLabel":"false","required":"true"},"type":"MODIFIER","var":"更新者"},"5080960":{"id":"5080960","label":"作成者","properties":{"noLabel":"false","required":"true"},"type":"CREATOR","var":"作成者"},"5080961":{"id":"5080961","label":"更新日時","properties":{"noLabel":"false","required":"true"},"type":"MODIFIED_AT","var":"更新日時"},"5080962":{"id":"5080962","label":"作成日時","properties":{"noLabel":"false","required":"true"},"type":"CREATED_AT","var":"作成日時"},"5080963":{"id":"5080963","label":"ステータス","properties":{"noLabel":"false","required":"false"},"type":"STATUS","var":"ステータス"},"5080964":{"id":"5080964","label":"作業者","properties":{"noLabel":"false","required":"false"},"type":"STATUS_ASSIGNEE","var":"作業者"},"5080965":{"id":"5080965","label":"カテゴリー","properties":{"noLabel":"false","required":"false"},"type":"CATEGORY","var":"カテゴリー"},"5080966":{"id":"5080966","label":"担当者","properties":{"defaultValue":"","expression":"","hideExpression":"false","max":"64","min":null,"noLabel":"false","required":"true","unique":"true"},"type":"SINGLE_LINE_TEXT","var":"担当者"},"5081153":{"id":"5081153","label":"予算","properties":{"defaultValue":"0","digit":"true","displayScale":null,"max":null,"min":null,"noLabel":"false","required":"true","roundingMode":null,"scale":null,"unique":"false","unit":"","unitPosition":"BEFORE"},"type":"DECIMAL","var":"予算"}},"id":"1","label":" __ROOT__","properties":null,"var":" __ROOT__"}},"spaceId":null,"status":null,"useCategory":false},"unAccessibleFieldIds":[]}],"referenceTables":[],"revision":"6","schema":{"groups":[],"revision":"9","subTable":{"5093152":{"fieldList":{"5093150":{"id":"5093150","label":"日付","properties":{"defaultExpression":"NOW","defaultValue":null,"noLabel":"false","required":"true","unique":"false"},"type":"DATE","var":"日付"},"5093151":{"id":"5093151","label":"実績","properties":{"defaultValue":"0","digit":"true","displayScale":null,"max":null,"min":null,"noLabel":"false","required":"true","roundingMode":null,"scale":null,"unique":"false","unit":"","unitPosition":"BEFORE"},"type":"DECIMAL","var":"実績"}},"id":"5093152","label":"Table","properties":{"noLabel":"true"},"var":"Table"}},"table":{"fieldList":{"5081178":{"id":"5081178","label":"レコード番号","properties":{"noLabel":"false","required":"true"},"type":"RECORD_ID","var":"レコード番号"},"5081179":{"id":"5081179","label":"更新者","properties":{"noLabel":"false","required":"true"},"type":"MODIFIER","var":"更新者"},"5081180":{"id":"5081180","label":"作成者","properties":{"noLabel":"false","required":"true"},"type":"CREATOR","var":"作成者"},"5081181":{"id":"5081181","label":"更新日時","properties":{"noLabel":"false","required":"true"},"type":"MODIFIED_AT","var":"更新日時"},"5081182":{"id":"5081182","label":"作成日時","properties":{"noLabel":"false","required":"true"},"type":"CREATED_AT","var":"作成日時"},"5081183":{"id":"5081183","label":"ステータス","properties":{"noLabel":"false","required":"false"},"type":"STATUS","var":"ステータス"},"5081184":{"id":"5081184","label":"作業者","properties":{"noLabel":"false","required":"false"},"type":"STATUS_ASSIGNEE","var":"作業者"},"5081185":{"id":"5081185","label":"カテゴリー","properties":{"noLabel":"false","required":"false"},"type":"CATEGORY","var":"カテゴリー"},"5093153":{"id":"5093153","label":"実績合計","properties":{"displayScale":null,"expression":"SUM(実績)","format":"NUMBER_DIGIT","hideExpression":"false","noLabel":"false","required":"false","roundingMode":null,"scale":null,"unit":"","unitPosition":"BEFORE"},"type":"CALC","var":"実績合計"},"5093176":{"id":"5093176","label":"売上年月","properties":{"defaultExpression":null,"defaultValue":null,"noLabel":"false","required":"true","unique":"false"},"type":"DATE","var":"年月"},"5741375":{"id":"5741375","label":"担当者","properties":{"defaultValue":"","expression":"","hideExpression":"false","max":null,"min":null,"noLabel":"false","required":"true","unique":"false"},"type":"SINGLE_LINE_TEXT","var":"担当者"}},"id":"1","label":" __ROOT__","properties":null,"var":" __ROOT__"}}};
cybozu.data.page.SCHEMA_DATA = {"groups":[],"revision":"9","subTable":{"5093152":{"fieldList":{"5093150":{"id":"5093150","label":"日付","properties":{"defaultExpression":"NOW","defaultValue":null,"noLabel":"false","required":"true","unique":"false"},"type":"DATE","var":"日付"},"5093151":{"id":"5093151","label":"実績","properties":{"defaultValue":"0","digit":"true","displayScale":null,"max":null,"min":null,"noLabel":"false","required":"true","roundingMode":null,"scale":null,"unique":"false","unit":"","unitPosition":"BEFORE"},"type":"DECIMAL","var":"実績"}},"id":"5093152","label":"Table","properties":{"noLabel":"true"},"var":"Table"}},"table":{"fieldList":{"5081178":{"id":"5081178","label":"レコード番号","properties":{"noLabel":"false","required":"true"},"type":"RECORD_ID","var":"レコード番号"},"5081179":{"id":"5081179","label":"更新者","properties":{"noLabel":"false","required":"true"},"type":"MODIFIER","var":"更新者"},"5081180":{"id":"5081180","label":"作成者","properties":{"noLabel":"false","required":"true"},"type":"CREATOR","var":"作成者"},"5081181":{"id":"5081181","label":"更新日時","properties":{"noLabel":"false","required":"true"},"type":"MODIFIED_AT","var":"更新日時"},"5081182":{"id":"5081182","label":"作成日時","properties":{"noLabel":"false","required":"true"},"type":"CREATED_AT","var":"作成日時"},"5081183":{"id":"5081183","label":"ステータス","properties":{"noLabel":"false","required":"false"},"type":"STATUS","var":"ステータス"},"5081184":{"id":"5081184","label":"作業者","properties":{"noLabel":"false","required":"false"},"type":"STATUS_ASSIGNEE","var":"作業者"},"5081185":{"id":"5081185","label":"カテゴリー","properties":{"noLabel":"false","required":"false"},"type":"CATEGORY","var":"カテゴリー"},"5093153":{"id":"5093153","label":"実績合計","properties":{"displayScale":null,"expression":"SUM(実績)","format":"NUMBER_DIGIT","hideExpression":"false","noLabel":"false","required":"false","roundingMode":null,"scale":null,"unit":"","unitPosition":"BEFORE"},"type":"CALC","var":"実績合計"},"5093176":{"id":"5093176","label":"売上年月","properties":{"defaultExpression":null,"defaultValue":null,"noLabel":"false","required":"true","unique":"false"},"type":"DATE","var":"年月"},"5741375":{"id":"5741375","label":"担当者","properties":{"defaultValue":"","expression":"","hideExpression":"false","max":null,"min":null,"noLabel":"false","required":"true","unique":"false"},"type":"SINGLE_LINE_TEXT","var":"担当者"}},"id":"1","label":" __ROOT__","properties":null,"var":" __ROOT__"}};
cybozu.data.page.STATUS_DATA = {"actions":[],"filters":[],"initialStateId":null,"states":[],"useStatus":"false"};
cybozu.data.page.CATEGORY_DATA = {"categories":[],"useCategory":"false"};
cybozu.data.page.VIEWS = {"views":[{"builtinType":null,"device":"DESKTOP","id":"5081214","name":"予実管理一覧","type":"CUSTOM"},{"builtinType":null,"device":null,"id":"5081202","name":"実績一覧(拠点別)","type":"LIST"},{"builtinType":null,"device":null,"id":"5093149","name":"実績一覧(年度別)","type":"LIST"},{"builtinType":"ALL","device":null,"id":"20","name":"(すべて)","type":"LIST"}]};
cybozu.data.page.USERAPPSETTINGS_DATA = {"isRecordListHeaderFixed":true};
cybozu.data.page.VIEW_ID = '5081214';
cybozu.data.page.VIEW_DATA = {"advancedMode":false,"appId":"56","builtinType":null,"device":"DESKTOP","fields":[{"row":[{"columnWidth":null,"id":"5081178"}]}],"html":"\u003Ctable id=\"view\"\u003E\u003C/table\u003E\u003Cdiv id = \"pager\"\u003E\u003C/div\u003E","keyFieldId":null,"name":"予実管理一覧","pager":false,"query":{"condition":null,"limit":null,"offset":null,"orders":[{"name":"f5081182","op":"DESC"}]},"revision":"1","titleFieldId":null,"viewId":"5081214","viewType":"CUSTOM"};
cybozu.data.page.APP_RIGHT = {"appAccessible":true,"appEditable":true,"appId":"56","recordAddable":true,"recordDeletable":true,"recordEditable":true,"recordExportable":true,"recordImportable":true,"recordViewable":true};
cybozu.data.page.FIELD_ACCESSIBILITY = {"5081181":"READ","5081180":"READ","5093151":"WRITE","5081182":"READ","5093150":"WRITE","5093176":"WRITE","5081179":"READ","5081178":"READ","5741375":"WRITE","5093153":"WRITE","5081184":"READ"};
cybozu.data.page.REPORTS = {"reports":[{"chartType":"crosstable","id":"5099362","name":"拠点別の売上金額","reportType":"SUBTOTAL"},{"chartType":"crosstable","id":"5099364","name":"担当者別の売上金額","reportType":"SUBTOTAL"}]};
cybozu.data.page.SPOOF_USER = null;
cybozu.data.page.IS_USER_FAVORITE = false;
cybozu.data.page.ALLOW_COLUMN_WIDTH_FOR_RECORD_LISTS = false;
</script>
<script src="https://js.cybozu.com/jquery/2.2.4/jquery.min.js"></script>
<script src="https://js.cybozu.com/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script src="https://xxxxxxx.cybozu.com/k/api/js/download.do?app=56&contentId=8672&jsType=DESKTOP&hash=1fbe1e2e7af9b374839cbbe66f56da96f00868cf"></script>
<script src="https://xxxxxxx.cybozu.com/k/api/js/download.do?app=56&contentId=8673&jsType=DESKTOP&hash=0ade6c1b7244728f2d65a0bff437b57e48154117"></script>
<script src="https://xxxxxxx.cybozu.com/k/api/js/download.do?app=56&contentId=8674&jsType=DESKTOP&hash=ba3d82e55871c5b919ecdcf6991f1b975ba07cd7"></script>
<script>kintone.$PLUGIN_ID = 'fdeplpmkengkldpdlaiegpokgmaabkkb';</script>
<script>delete kintone.$PLUGIN_ID;</script>
<script>
cybozu.eventTarget.dispatchEvent({ type: 'load' });
</script>
</body>
</html>
笹 史明 さま
当方でもアプリパックを入れてコードを適用してみました。
const params = {'app': appId, 'query': '拠点 = "' + key1 + '"'};
↓
const params = {'app': appId, 'query': '担当者 = "' + key1 + '"'};
フィールドコードの指定が違う上の箇所の修正のみで動作しました。520エラー(リクエストボディのバリデーションエラーの可能性)が出ているので恐らく間違いないでしょう。
ただし、最初に出ていた「properties of undefined (reading ‘value’)」のエラーは確認できていません。
お世話になっております。おかげ様で、おっしゃる通り、ビューは改善しました。
また、properties of undefined (reading ‘value’)エラーはこちらでも確認できなくなりました。
ちなみに、アプリを開いた瞬間「取得するアプリのIDは「57」」という表示がブラウザタブからぶら下がる形ででてしまいます。
これは消しても問題ないのでしょうか。