前提・実現したいこと
ご覧いただきありがとうございます。
現在ラズパイとICカードリーダーを利用しICカードをかざすと(年月日)(時刻)(IDm)がkintoneのアプリ「入場記録」にレコードとして記録されます。
それを踏まえて、現在kintoneで3つのアプリを連携させようとしています。
※アプリ名は「」、フィールド名は()表記
①「名簿」アプリ:利用する人の情報
・利用するフィールド:(氏名)(IDm)
②「入退室記録」アプリ:(年月日)(時刻)(IDm)が記録されている
・利用するフィールド:(年月日)(時刻)(IDm)
③「勤怠管理」アプリ:入室記録と退室記録を各個人の正規の記録として登録しておく
・利用するフィールド(入室時刻)(退室時刻)(氏名)(年月日)(IDm)
やりたいこと
「勤怠管理」アプリ内に作成したボタンを操作すれば以下の動作が行われる
・前日に「入退出記録」に記録されたレコードを対象とする
・「入退出記録」記録されたレコードの(IDm)の種類数だけ「登降園記録」にレコードを作成する各フィールドには、
※矢印は各アプリか参照してくるフィールド元とフィールド先になります
「入退室記録」(一番早い入室時刻)→「勤怠管理」(入室時刻)
「入退室記録」(一番遅い退室時刻)→「勤怠管理」(退室時刻)
※同一人物が一日のうちに複数回記録されていた場合一番早い記録と遅い記録を取り扱う
「名簿」(氏名)→「勤怠管理」(氏名)
「入退室記録」(年月日)→「勤怠管理」(年月日)
「名簿」(IDm)→「勤怠管理」(IDm)
となるように各アプリからレコードを取得しようと考えています。
###発生している問題
プログラミングを触ったことがない初心者で、なんとか下記の「入退場記録」にボタンを設置するプログラムまではcybozu developer networkを見ながら作成できたのですが、それ以外のアプリ同士の連携をいかにして行うかが未だに理解できていない状態です。
該当のソースコード
javascript
1(function() { 2 "use strict"; 3 kintone.events.on('app.record.index.show', function(event) { 4 if (document.getElementById('my_index_button') !== null) { 5 return; 6 } 7 8 var myIndexButton = document.createElement('button'); 9 myIndexButton.id = 'my_index_button'; 10 myIndexButton.innerHTML = '入退室記録作成'; 11 12 13 // ボタンクリック時の処理 14 myIndexButton.onclick = function() { 15 var result = window.confirm('入退室記録を作成します'); 16 17 if ( result ) { 18 window.alert('入退室記録を作成されました'); 19 20 location.reload(); 21 22 } 23 else { 24 window.alert('入退室記録を作成をキャンセルします'); 25 26 } 27 }; 28 29 kintone.app.getHeaderMenuSpaceElement().appendChild(myIndexButton); 30 }); 31})();
試したこと
cybozu developer networkでチュートリアルを読みながら作成してきましたが、事前知識がないので作業が全く進まず理解も追いつかない状態です。
よろしければ若輩者の私にアドバイスの方をして頂ければ幸いです。
補足情報(FW/ツールのバージョンなど)
kintoneのプラグイン、JSEdit for kintoneでプログラムを作成しています
あなたの回答
tips
プレビュー