項目変更を利用した加算の場合、削除で減算する方法
お世話になっております。
合計金額の加算タイミングを明細金額計算と同時に表示したく
下記のようにロジックに記述しました。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
項目 変更 明細金額
項目 P=パラメータ CHG_REASON_金額
項目 P=パラメータ CHG_PRV_明細金額
項目 更新 合計金額 値 合計金額ーCHG_PRV_明細金額+明細金額(実データ)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
すると加算タイミングは想定している通りになったのですがF3行削除したとき、合計金額の減算がされません。
加算モードはYesになっていますがどのようにすれば正しい計算がされるでしょうか。
ご教示願います。
-
yamamoto様の方式は
明細金額が書き換わった時点で合計金額の把握が出来るという点が
嫌味では無く本当に良い事だと思います。
(私の場合、合計金額の更新はレコード後処理でやっているので
行移動させないと生じないのでそれと比べて素晴らしいと思います。)
yamamoto様の方法であればレコード後処理で
STAT(0,'D'MODE)の際は、
合計金額から明細金額を減算する必要はありそうな気がします。 -
項目 変更 明細金額
は手動で打ち換えた、
計算で書き換わった
といった時に動くと思いますので、
レコード削除の時は機能してくれないから、削除時は別の対応が必要という事だと思います。 -
nkmtさん、ありがとうございます。
加算モードではなく別でロジックを記述する必要があるということですね、、、。
時間がかかりそうですが一度試行錯誤してみます!
-
nkmtさん、ちなみに伺いたいのですが
レコード後にしているのは理由があるんでしょうか。
同時更新だと後々不具合が起きやすい等あれば伺いたいです。
-
大昔のMagicは 項目 変更 も有りませんでした。
私が習ったMagicがそうだったので、今もその明細レコードが確定させる時にしか合計金額が計算されない動きで作っております。
でもそれは私のノーマルであり、それが正しい作りという訳でもなくベストという事でもありません。
伝票入力系は、明細金額がそのレコードの最終項目であることも多いので、今の作りで合計の把握が素早く出来なくて困るという事もそこまでないので、そのようにしているだけです。 -
でもあれですね、yamamoto様の作りが絶対良いと思いました。
単価打ち換え、数量打ち換えで明細金額が変わると同時に
(行移動することなく)合計金額も表示が変わるし、
見積書入力画面など、長時間、複数回呼び出して使う処理など
絶対その方がいいと思います。
次から真似たいと思います。(今の作りはそっちの方が普通なのかもしれません。) -
nkmtさん、ありがとうございます。勉強になります。
作りやすさや不具合のなさ、といったことでレコード後をあえて選択されているのかと思っていたので、、、
そういったことがないのであれば安心しました。ありがとうございます!
-
nkmtさん、お褒め頂きありがとうございます。
まだまだ、分からないことが多くなかなか作成が進まない現状ですが励みになります!
サインインしてコメントを残してください。
コメント
8件のコメント