お世話になります。
主題の通り、レコードの新規作成時に添付ファイルのファイル名称を取得し、
貼り付けたいと考えております。
添付、保存後に貼り付けできることがわかっているため、レコード追加時
には、REST API等非同期処理が必要だということがわかっており、
下記コードを試しましたが、なぜかedit.jsのみでエラーが出ます。
どうしたらいいかご教授いただけないでしょうか。
よろしくお願いいたします。
コード
(() => {
'use strict';
kintone.events.on('app.record.create.submit', async (event) => {
var record = event.record;
var appId = kintone.app.getId();
var id = event.record.$id.value;
var res = await kintone.api(kintone.api.url('/k/v1/record', true), 'GET', {app:appId, id: id});
var attach = await res['record']['AF_attachedFile']['value'];
for (var i = 0; attach.length > i; i++) {
event.record.S1_fileName.value = files[i]["name"];
}
return event;
});
})();
エラーコード
5件のコメント
どうもできなそうなのでアプローチを変えましたが、
保持されないようです。
お分かりになる方、アドバイスいただければ幸いです。
Tofu様
submitでは,レコード番号が取得できません.
おそらく,ここでエラーになると思います.
ただ,ここででるエラーが提示されているものとはちょっと違うかもしれないので,
他にエラーにつながる箇所があるかもしれません.
同様に添付ファイルも同様にsubmitではAPIを使っても空だと思います.
なので,上記を実行するのであればsubmit.successになると思います.
途中の値の格納状態についてはconsole.logなどで確認してみてください.
追記:
<2番目の投稿に対して>
詳細画面で実行していますが,イベントハンドラー内なのでrecord.get/setでエラーになりませんか?
もしrecord.setまでできるようでしたら,return eventすればsetした値が画面にでてくるかもしれません.
TO様
アドバイスありがとうございます。
とりあえずは2番目で進めておりますが、ご指摘の件、
https://developer.cybozu.io/hc/ja/community/posts/202656630-%E8%A9%B3%E7%B4%B0%E7%94%BB%E9%9D%A2%E8%A1%A8%E7%A4%BA%E6%99%82%E3%81%AB%E5%80%A4%E3%81%AE%E8%A1%A8%E7%A4%BA%E3%82%92%E6%9B%B4%E6%96%B0%E3%81%97%E3%81%9F%E3%81%84
を参考にしたのですが、間違っているのでしょうか?
return eventを差し込むところがよくわかりません。
Tofu様
https://developer.cybozu.io/hc/ja/articles/201942014-レコード詳細情報取得#step4
ここにあるとおり、record.setは追加/編集画面でしか使えない、とあるのでその旨コメントした次第です。
return eventは1番最後で良いのですが、record.setが反映されるかはちょっと自信がなくて、
location.reloadかな?と思っていたりします。
TO様
お世話になっております。
DOM操作となりますが、非常に単純な形でできました。
とりあえずとなってしまいますが一応ということで。