あるアプリで明細行の各行の金額を合計した結果を設定する項目があります。→合計金額(計算フィールド)
編集保存時には、正しい金額計算結果が合計金額に設定されておりましたが
一覧画面でそのデータに対し、「編集する」ボタンを押下し、まったく金額計算とは関係のないフラグ等を変更し保存しそのデータの詳細画面を開いたところ、計算フィルドの値が「#N/A!」となってしまってました。
(再度編集し、保存すると正しい値が設定されます。)
こういった事象が起こる原因がわかれば教えていただけませんでしょうか。
よろしくお願いします。
※ 全データにこの事象が起こる訳ではないのですが、頻繁に起こるので
困っております。
はじめまして。
一般的に「#N/A!」となる場合には、数値以外を含めた計算がされた時などに
発生するものです。そのうえで、何点か確認です。
1.計算対象のフィールドはスクリプト内で数値を編集していたりしない
でしょうか?数値編集時に処理が失敗し、null等が格納されている場合
計算結果は「#N/A!」となってしまうかと思います。
2.一覧画面で編集を行わなければ、「#N/A!」となることはないのでしょうか?
回答ありがとうございます。
確認事項についてお答えいたします。
1;計算結果はいくつかの項目を複雑に計算させた結果なのですが
その計算対象項目の一部はスクリプト上で値を設定している項目もあります。
2;編集画面で正しい数値を設定した場合は、「#N/A!」になることはありません。保存時には正しい計算結果が設定された状態となります。
スクリプト内で、一覧保存時のイベント(app.record.index.edit.submit)
は利用されていますでしょうか?利用されている場合は、状況的にはこのイベント
内の処理が怪しいようなきがします。
また、スクリプトで設定してる項目に関して、デバック等を行い、必ず正しく定義が
されているか確認をおこなってみるのがいいかもしれないですね。
処理が特定の条件下で失敗し、保存時には値が正しく定義されず、次回
処理時に定義されているといったことが起きていることなどが考えられそうです。