Open Gucchiy opened 2 years ago
まずは、Kintone API をどのように使って Kintone をカスタマイズするのか理解させてください。 @miura894 現在どうやってテストしているか、手順を書いていただくことは可能ですか?(複雑なようでしたら、私の方で調べますので、本業に影響しない、ご無理のない範囲で・・)
横から失礼します。
@miura894 現在どうやってテストしているか、手順を書いていただくことは可能ですか?(複雑なようでしたら、私の方で調べますので、本業に影響しない、ご無理のない範囲で・・)
miura894にJavaScriptの練習がてらお願いしています。 GH日誌で登録ボタンをフックして、APIを使ってkintone-swellにも登録をするようにします。 手順はGH日誌でjseditを使って実際にコードをtry&errorで書いてくれてます。
発注者なので。 参考 URL: を見るのが良いと思います。 https://developer.cybozu.io/hc/ja/articles/201941984#step2 https://developer.cybozu.io/hc/ja/articles/360028177472 Kintoneアプリ DBのレコードと自作の入力フォームの集合体 それに独自のjs/cssを読み込む機能がついている という理解です。
@Gucchiy すみません。Github慣れておらず、遅くなりました💦
テストは、山下さんが言ってくれた通りです。 kintoneホーム日誌アプリのフライグインJSEditにコードを保存、別ウィンドウで開いているkintoneホーム日誌のconsoleで動いたかなと確認してます。
1 ホーム日誌のレコード追加が新規なのか更新なのかを判定 2 新規の場合 kintone-swellへ各フィールドを指定し新規登録 レコード番号をホーム日誌のフィールド「swell_id」へコピー 3 更新の場合 kintone-swellから、「ホーム日誌のswell_id=kintone-swellのレコード番号」のレコードをピックアップして修正
したいことは上記のような感じです。 今1の段階で、”ただ判定できたかも”というような状態です。
@genepine ありがとうございます。
@Gucchiy GH日誌のメニューフィールド「テスト用」のレコードを作っていて、そのレコードで反映されるのか試しています。
@Gucchiy 先程はありがとうございました。 早速ですが、↓ テスト用(STO/GH日誌) https://nponeo.cybozu.com/k/251/ を作成しました。 |テスト用(GH日誌) |https://nponeo.cybozu.com/k/251/ |三浦はこっちを使っています。
テスト用に投げている先の↓案件管理アプリです。 https://nponeo.cybozu.com/k/234/
1 ホーム日誌のレコード追加が新規なのか更新なのかを判定 2 新規の場合 kintone-swellへ各フィールドを指定し新規登録 レコード番号をホーム日誌のフィールド「swell_id」へコピー 3 更新の場合 kintone-swellから、「ホーム日誌のswell_id=kintone-swellのレコード番号」のレコードをピックアップして修正
1→済です。 2のテストで、テスト用アプリ「GH日誌(テスト用)」「案件管理」を使用。 新規レコード追加→済 「案件管理」新規レコード・フィールド内にGH日誌の値をコピー→済
次に案件管理アプリに新規追加されたレコードのフィールド「wordpress_id」に、レコード番号をコピーしたいです。 これは案件管理で追加されたレコード側のレコード番号をコピーしたいのですが・・・。
すみません、URL間違えました。 テスト用に投げている先の↓案件管理アプリです。 https://nponeo.cybozu.com/k/233/
kintone 値(resp.id)がフィールド(wordpress_id)に反映されず、困っております。 以下、反映されないコードです、、、。 問題個所など、ご教示頂けますと幸いです。
(function($) { "use strict";
//・GH日誌の登録と更新時にこのコードを実行する
//・Kintone-WordPress-日記-SWELLに書き込んだことがあれば、そのレコード番号がGH日誌のwordpress_id項目に入る
kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], function(e) {
// 登録と更新時に実行する
//まず、wordpress_idをチェック 数字が入っていなければ新規、入っていれば更新とする
var record = e.record;
var wordpress = record.wordpress_id;
if(!wordpress.value){
//↑↑空白だったら
console.log('新規'); //新規の場合
var body = {
'app': 233,
'record': {
'会社名': {
'value': record.menu.value//成功
},
'単価':{
'value': '100'//成功(GH日誌内のデータを入れるには・・・・?)
},
}
};
kintone.api(kintone.api.url('/k/v1/record.json', true), 'POST', body, function(resp) {
var resp2 = kintone.app.record.get(); //呼び出す。
resp2.record.wordpress_id.value = resp.id;
kintone.app.record.set(resp2); //セットする。
console.log(resp2.record);
alert(resp.id);
},function(error) {
error,
console.log(error);
}); //新規ここまで
}else{
console.log('更新');
//更新の場合
}
}); })();
↓GH日誌 console.log は以下の結果です。
$id: {type: 'ID', value: '90'} $revision: {type: 'REVISION', value: '54'} date: {type: 'DATE', value: '2022-05-06'} disp_date: {type: 'SINGLE_LINE_TEXT', value: '2022年5月6日'} eat_other: {type: 'SINGLE_LINE_TEXT', value: ''} eat_peple: {type: 'CHECK_BOX', value: Array(0)} eat_staff: {type: 'USER_SELECT', value: Array(0)} make_staff: {type: 'USER_SELECT', value: Array(0)} menu: {type: 'MULTI_LINE_TEXT', value: ''} pic: {type: 'FILE', value: Array(0)} pic2: {type: 'FILE', value: Array(0)} wordpress_id: {type: 'SINGLE_LINE_TEXT', value: '207'} チェックボックス: {type: 'CHECK_BOX', value: Array(0)} チェックボックス_0: {type: 'CHECK_BOX', value: Array(0)} ラジオボタン: {type: 'RADIO_BUTTON', value: '配食'} レコード番号: {type: 'RECORD_NUMBER', value: '90'} 作成日時: {type: 'CREATED_TIME', value: '2022-04-09T04:55:00Z'} 作成者: {type: 'CREATOR', value: {…}} 文字列_複数行: {type: 'MULTI_LINE_TEXT', value: ''} 曜日: {type: 'SINGLE_LINE_TEXT', value: '(金)'} 更新日時: {type: 'UPDATED_TIME', value: '2022-04-11T04:03:00Z'} 更新者: {type: 'MODIFIER', value: {…}}
長々とすみません。 consoleでは「207」と数字が反映されているのですが、レコードを開くとフィールドは空白のままです。
★kintone デペロッパーのこのページを参考にしてみました。反映されませんでした。 https://developer.cybozu.io/hc/ja/community/posts/900001439586-%E7%94%BB%E9%9D%A2%E3%81%AB%E5%80%A4%E3%81%8C%E5%8F%8D%E6%98%A0%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E4%BB%B6
上記内容(Kintone 上の GH日記 への Post/編集を Kintone-WordPress-日記-SWELL と同期)を Kintone API で実現します。 参考 URL: https://developer.cybozu.io/hc/ja/articles/201941984#step2 https://developer.cybozu.io/hc/ja/articles/360028177472
コードは Kintone プラグインの JSEdit for kintone を利用して作成するとのこと。