アプリアクションの転送先のレコード番号を転送元に登録したい

Teru様

おはようございます。お世話になっております。

遅い時間にご対応いただいてすみません。早速試してみました!

 

障害番号(数値のみ)取得のコードを「障害番号(数値のみ)取得.js」に分割してみても結果は変わらずでしたので、

いっそ、プラグインのファイルを「障害番号(数値のみ)取得.js」のみにして試してみたのですが変わらずでした。

上記(競合?)エラーは、詳細画面を開いた時に表示されます(画面を開いただけで)。

この「障害番号(数値のみ)取得.js」を削除して、元の「連携元お問い合わせ管理番号取得.js」だけに戻したところ、正常に動作しました。

 

なんですか、探偵になったようで少し楽しくなってしまいました。が、犯人の目星どころか、犯行現場させ、さっぱりわかりません。

本当に何度も恐れ入りますが、捜査方針をご指示いただけないでしょうか?

(それにしても、サスペンス劇場のサブタイトルみたいに長いファイル名ですみません)

 

 

yui様

お世話になっております。返信が遅くなり失礼しました。

一度、コードをすべてお見せいただけますでしょうか。

(サブドメイン等は伏字にしてください)

 

最初は楽しいのですがね…原因がずっとわからないとイライラしてきます笑

Teru様

おはようございます。

貴重な睡眠時間まで潰させて本当に本当に恐縮です。

コードとConsoleのエラー画面をお送りします。

どうか、差しさわりのない範囲でフォローをお願いします。

↓こんな感じです。

 

Teru様

たびたび失礼します。

teru様からいただきましたコードを元に以下の方法も試してみました。

>①問い合わせ管理簿が新規作成、編集、保存 時
>②問い合わせ管理簿のレコード番号にアプリコード(shogai-)を付けて、文字列フィールドにコピー
>③問い合わせ管理簿の関連レコードで②の文字列フィールドとインシデント管理簿の障害番号(文字列)を関連させる

結果、

新規画面→保存では②に何も入りません。

これを編集画面で開くと②③とも成功します。

あれもこれもで恐縮ですがまずは取り急ぎご報告まで。


(function() {
“use strict”;
kintone.events.on([“app.record.edit.submit”,
“app.record.edit.submit.success”,
“app.record.create.submimt”,
“app.record.create.submit.success”,
“app.record.edit.show”,
“app.record.index.edit.submit”], function(event) {
console.log(‘!!!!!!!!障害番号GET!!!!’);
var record = event.record;
var shogaiNo = “shogai-” + record.$id.value;

record.レコード番号_文字列.value = shogaiNo;
// var shogaiOnlyNo = parseInt(shogaiNo.slice(7));

//related = shogaiNo;
console.log(record);

return event;
});

})();

 

 

 

yui様

お世話になります。いえ、仕事上夜型の生活なので昼扱いです笑

お気になさらず!

(function() {
"use strict";
kintone.events.on(["app.record.edit.submit",
"app.record.edit.submit.success",
"app.record.create.submimt",
"app.record.create.submit.success",
"app.record.edit.show",
"app.record.index.edit.submit"], function(event) {
console.log('!!!!!!!!障害番号GET!!!!');
var record = event.record;
var shogaiNo = "shogai-" + record.$id.value;

record.レコード番号_文字列.value = shogaiNo;
// var shogaiOnlyNo = parseInt(shogaiNo.slice(7));

//related = shogaiNo;
console.log(record);

return event;
});

})();

こちらのコードの実装ですが、レコード番号はsubmit.success(保存実行後)時に発番されるためエラーが発生します。

防ぐためには新規作成時と編集時でイベントを分けます。下記コードに書き換えてください。

(function() {
“use strict”;
//レコード編集保存時にshogaiNoをレコード番号_文字列に保存
kintone.events.on([“app.record.edit.submit”], function(event) {
console.log(‘!!!!!!!!障害番号GET!!!!’);
var record = event.record;
var shogaiNo = “shogai-” + record.$id.value;

record.レコード番号_文字列.value = shogaiNo;
console.log(record);

return event;
});

//レコード新規作成保存時にshogaiNoをレコード番号_文字列に保存
kintone.events.on([“app.record.create.submit.success”], function(event) {
var record = event.record;
var shogaiNo = “shogai-” + record.$id.value;
var recordId = record.$id.value;
//登録用API
var body = {
“app”: 51, //アプリIDをセットしてください
“id”: recordId,
“record”: {
“レコード番号_文字列”: {
“value”: shogaiNo
}
}
};

kintone.api(kintone.api.url(‘/k/v1/record’, true), ‘PUT’, body, function(resp) {
// success
console.log(resp);
}, function(error) {
// error
console.log(error);
});
return event;
});

})();

Teru様

ありがとうございました!!!

いただいたコードで試してみたところ、やりたい事がもうそのまんま実現しました。

本日、本番環境に移行の日でしたが間に合いました!

(サポートデスクの業務が終わってから作業に入ったのでこの時間になってしまいました)

kintoneは敷居が低くって、「自分にもできるかも!?」と大きな夢と錯覚をくれます。

わたしの大きな錯覚にTeru様を巻き込んでしまい本当に申し訳ありませんでした。

思い知りました。。。

でも、大変勉強になりました。

今後は「ねばまい」の方でも勉強させていただきます(ブックマークに追加しました。まだわたしにはずいぶん敷居が高いですが・・)

本当にありがとうございました。

取り急ぎお礼まで。

 

yui様

おおお!そんな大事な日だったとは…。よかったです!

いえ、私は自分の勉強にもなるので非常に助かりました。

ブックマークもありがとうございます。もし何か困ったことがあればTwitterや問い合わせフォームの方でご連絡いただければ対応できますので。

最初は躓くことが多いと思いますが、決して気落ちせずに頑張ってください。サポートできるところはさせていただければと思います。

こちらこそありがとうございました。

Teru

ご返信ありがとうございます。

teru様にご協力いただいたアプリ達の本番でのテストとドキュメントの作成に追われていましたが、ひとつひとつ見直していくと、直したいところばかりです。

完了報告作業が終わったら、少し余裕ができるのでまたコツコツJavaScriptの勉強をします。

もう少しまともなご質問ができるように頑張ります!!

よろしくお願いします。