いつもお世話になります。
タイトルのエラーメッセージが出力されるのですが、どこでresetRowNo を
定義すればよろしいのでしょうか?
いつもお世話になります。
タイトルのエラーメッセージが出力されるのですが、どこでresetRowNo を
定義すればよろしいのでしょうか?
こんにちは。
カスタマイズされたJavaScript内でのエラーかと思いますので、現状のソースを貼って頂くのが良いかと思います。
あさが様
お世話になります。
早速のコメントありがとうございます。
質問の件は解決したのですが、改めて質問させてください。
サブテーブルにルックアップのフィールドが含まれていて
数量が”ゼロ”の行は削除されております。
アプリで保存を実行すると、1行目は
「参照先からデータが取得されました。」
2行目以降の行について
「[取得]を押し、参照先からデータを取得してください。」のメッセージが
ルックアップのフィールドで出力されてしまいます。
対処方法をアドバイスいただけますでしょうか
よろしくお願いいたします。
(function() {
“use strict”;
kintone.events.on([“app.record.create.show”, “app.record.edit.show”], function(e) {
// 受注確定ボタンを設置
const deleteSpace = kintone.app.record.getHeaderMenuSpaceElement(‘deleteSpace’);
const deleteButton = document.createElement(‘button’);
deleteButton.innerHTML = ‘受注確定’;
deleteButton.onclick = deleteRow;
deleteSpace.appendChild(deleteButton);
});
// 行削除関数
function deleteRow() {
const record = kintone.app.record.get().record;
const subtablevalue = record.Table_1.value
console.log(subtablevalue)
for (let i = 0; i < subtablevalue.length; i++){
record.Table_1.value.forEach(function(row, i) {
if (row.value.数量.value === ‘0’) {
record.Table_1.value.splice(i, 1);
}
});
}
resetRowNo(record);
kintone.app.record.set({record: record});
}
// 行番号更新関数
function resetRowNo(record) {
record.Table_1.value.forEach(function(row, i) {
row.value.行番号.value = i + 1;
});
}
})();
村井様
お世話になります。
現象発生時の状況が分からないのですが、どのような操作をした時にメッセージが表示されるのでしょうか?
あさが様
お世話になります。
背景説明が不足しており申し訳ありません。
受注入力をするために、メーカコードをキーにして取扱い製品一覧を下図のように
サブテーブルを表示します。
次に注文があった製品だけ数量に入力を行います。
次に先ほどお送りしたスクリプトで表示した「受注確定」ボタンをクリックし、数量がゼロの行を削除した
サブテーブルを表示させると下図のようになりますが
保存ボタンをクリックすると、下図のようになります。
ちなみに、1~5行の商品リストがあり、1、2行目を残し、3~5行目を削除した場合はエラーとなりませんが、1、3行目を残し、2、4~5行目を削除した場合に不具合が発生します。
このような説明でよろしいでしょうか?よろしくお願いいたします。
こんにちは。
以前に同じような現象を確認した事があるのですが、いまいち挙動が掴めませんでした。
> ちなみに、1~5行の商品リストがあり、1、2行目を残し、3~5行目を削除した場合はエラーとなりませんが、1、3行目を残し、2、4~5行目を削除した場合に不具合が発生します。
↑このように、何をもって再取得が必要と判断しているのかが不明な感じでした。
解決するか分かりませんが、対処方法として考えられそうなのは、
① deleteRow()で行を消すのでは無く、テーブルの「-」ボタンをJavaScriptからクリックして消すように変える
② deleteRow()で行を消した後に、全明細に対してルックアップを再実行する
あたりでしょうか。(実現できるところまで確認したわけではありません)
あさが様
早速のコメントありがとうございます。
①で対応してみようと思います!もし手順がわからなければ改めて質問させていただきます。
ありがとうございました。