ボタンをクリック後、別アプリ➀、別アプリ➁、別アプリ➂の各アプリの情報を取得したいのですが、別アプリ➁、別アプリ➂では別アプリ➀で入手して得られた情報(register_ymd_from)をもとに別アプリ➁、別アプリ➂のレコードを取得したいのです。
しかし、非同期処理の為、register_ymd_fromがundefinedとして怒られます。
いろいろ調べるとPromise もしくは async/awaitを借りて処理ができそうな感じなのですが、初心者の為、そもそも別アプリ➀→別アプリ➁→別アプリ➂での処理自体はアリなのでしょうか。
又、async/await を調べて、幾つか試したのですが
kintone.events.on(‘app.record.create.show’, async function(event){
や
await kintone.api(kintone.api.url(‘/k/v1/records.json’, true), ‘GET’, body, (resp) => {
又は、
kintone.api(await kintone.api.url(‘/k/v1/records.json’, true), ‘GET’, body, (resp) => {
エラー1)Uncaught SyntaxError: await is only valid in async functions and the top level bodies of modules
エラー2)Uncaught SyntaxError: missing ) after argument list
いまいち、書き方や処理など理解しておらず頓挫しております。
ご指導いただければ助かります。
よろしくお願いいたします。
kintone.events.on(‘app.record.create.show’, function(event){
// 任意のスペースフィールドにボタンを設置
const mySpaceFieldButton = document.createElement(‘button’);
mySpaceFieldButton.id = ‘space_field_button’;
mySpaceFieldButton.innerText = ‘レコードを入手’;
// mySpaceFieldButton.style.background = ‘blue’;
//ボタンをクリックしたときの動作
mySpaceFieldButton.onclick = () => {
var record = kintone.app.record.get().record;
var register_id = record.key.value;
var register_ymd = record.simeymd.value;
★ var register_ymd_from;
//納品先データ
var body = {
‘app’: 54, //納品先データ
‘query’: ‘納品先CD = "’ + register_id + ‘" order by 納品先CD asc ’ + ’ limit 500’,
‘fields’: [‘納品先CD’,‘納品先名称’,‘担当者CD’,‘担当者名’,‘USANCE’],
‘totalCount’: ‘true’
};
➀ kintone.api(kintone.api.url(‘/k/v1/records.json’, true), ‘GET’, body, (resp) => {
処理
}, (error) => {
// // error
console.log(error);
}
);
//入金明細データ
var body = {
‘app’: 27, //入金明細データ
‘query’: ‘tokcod = ’ + register_id + ’ and nyuymd >= "’ + register_ymd + ‘" order by tokcod asc ’ + ’ limit 500’,
‘fields’: [‘nyuymd’,‘torihiki’,‘nyukin’,‘denno’,‘biko’],
‘totalCount’: ‘true’
};
➁ kintone.api(kintone.api.url(‘/k/v1/records.json’, true), ‘GET’, body, (resp) => {
処理
}, (error) => {
// // error
console.log(error);
}
);
//入金請求データ
var body = {
‘app’: 20, //入金請求データ
‘query’: ‘tokcod = ’ + register_id +
’ and simeymd > "’ + register_ymd +
‘" and simeymd <= "’ + register_ymd_from +
‘" order by tokcod asc ’ + ’ limit 500’,
‘fields’: [‘tokcod’,‘tokname’,‘zenkin’,‘nyukin’,‘zankin’,‘uriage’,‘tax’,‘seikyu’,‘simeymd’],
‘totalCount’: ‘true’
};
➂ kintone.api(kintone.api.url(‘/k/v1/records.json’, true), ‘GET’, body, (resp) => {
処理
}, (error) => {
// // error
console.log(error);
}
);
};
kintone.app.record.getSpaceElement(‘space_field’).appendChild(mySpaceFieldButton);
return event;
});