背景・実現したいこと
①申込アプリのルックアップ機能で稟議アプリのレコード番号を取得(手動入力)。
②申込アプリ登録修正時に申込アプリの「稟議アプリのレコード番号」の稟議アプリレコードを探す
③②で探したレコード番号のチェックボックを自動更新(「済」にする)
※カスタマイズは申込アプリに適用しています。
上記のことが実現したいですが、稟議アプリのレコードの取得までは確認できましたが、チェックボックスの自動更新がされない状態です。execRestAPI関数でなぜ200が返されないため更新がされていないと想定していますが、原因が分かっていないです。
ご教授お願いできますでしょうか。
お手数おかけしますが、よろしくお願い申し上げます。
利用したソースコード
/**
* データ取得(同期:1件)
* @param appId アプリID
* @param query 抽出条件
*/
function getRecord(appId, query) {
var record;
var appUrl = kintone.api.url(‘/k/v1/records’) + ‘?app=’+ appId + ‘&query=’ + encodeURIComponent(query) + ’ offset 0’;
// alert(appUrl);
// 同期リクエストを行う
var xmlHttp = new XMLHttpRequest();
xmlHttp.open(“GET”, appUrl, false);
xmlHttp.setRequestHeader(‘X-Requested-With’,‘XMLHttpRequest’);
xmlHttp.send(null);
//取得したレコードを格納
var respdata = JSON.parse(xmlHttp.responseText);
if(respdata.records.length > 0){
record = respdata.records[0];
}
return record;
}
/**
* REST API 実行
* @param method POST/PUT/DELETE
* @param url URL
* @param sync 同期 false/非同期 true
* @param param パラメータ
*/
function execRestAPI(method, url, sync, param) {
var xmlHttp = new XMLHttpRequest();
var appUrl = kintone.api.url(url);
//alert(appUrl);
xmlHttp.open(method, appUrl, sync);
xmlHttp.setRequestHeader(‘X-Requested-With’,‘XMLHttpRequest’);
xmlHttp.setRequestHeader(‘Content-Type’,‘application/json’);
xmlHttp.send(JSON.stringify(param));
if (xmlHttp.status != 200) {
// error
console.log(xmlHttp.responseText);
}
return xmlHttp.status;
}
/**
* 稟議アプリの更新
* @param
*/
function updKanri() {
var kanriRecord = getRecord(659, ‘’); //695→申込アプリID
if (!kanriRecord) {
alert(‘a’);
return false;
}
//alert(‘a’);
// 確認メッセージ
if (!confirm(‘b’)) {
return true;
}
//alert(‘b’);
var unyoYmd = kanriRecord[‘関連口座情報’][‘value’][0][‘value’][‘稟議レコード番号’][‘value’];
//alert(unyoYmd);
// alert(kanriRecord[‘レコード番号’][‘value’]);
var RinRecord = getRecord(694, ‘’); //695→申込アプリID
var param = {
app : 694, //695→稟議アプリID
id : RinRecord[‘レコード番号’][‘value’], //稟議アプリのレコード番号
record : {
‘申込書消込区分’: { value : ‘済’ }
},
“__REQUEST_TOKEN__” : kintone.getRequestToken()
}
//alert(kanriRecord[‘申込書消込区分’][‘value’]);
//alert(申込書消込区分);
var status = execRestAPI(‘PUT’, ‘/k/v1/record’, false, param);
if (status != 200) {
alert(‘5’);
return false;
}
//return true;
}
/*========================================================================/
// 表示時のイベント(レコード一覧画面)
/========================================================================*/
kintone.events.on([‘app.record.index.edit.submit’, ‘app.record.create.submit’, ‘app.record.edit.submit’], function(event) {
var record = event.record;
/*-------------------------/
/ 管理マスタの更新
/-------------------------*/
var result;
// statusLabel.innerText = ‘(4/5) 管理マスタの更新中です…’;
result = updKanri();
// if (!result) {
// statusLabel.innerText = ‘’;
alert(‘稼動日報作成が異常終了しました2。’);
// return;
// }
// alert(‘稼動日報作成が異常終了しました。’);
return event;
});