2016-04-06 10 views
0

私は、受注に展開されたクライアントスクリプトの1つに関数recalcを持っています。定義によって、recalcクライアントイベントは、「サブリストの変更後にのみ、サブリストの変更によって合計が変更される場合にのみ」発生する必要があります。しかし、私はこれが当てはまらないことを発見しました。単に広告申込情報をクリックし、青い「OK」ボタンをクリックするだけで、私の再計算機能が起動します。単に項目を選択して「OK」をクリックしても、合計が変更されることはありません。したがって、再計算機能が起動していてはなりません。なぜこれが起こっているのですか?それをどうやって修正しますか?recalc関数が記載されているとおりに起動しない

+2

あなたは未確認の「機能」を見つけたと思います。 NetSuite APIではあまりにも一般的なことがあります。これに対処するために、これらの「OK」ケースでの発砲を避けるために、機能で手動で事前チェ​​ックを行うことがあります。 – TonyH

+0

私は同じことを見つけました。私はほとんど彼らが '...を読む文を意味したと思うが、サブリストの変更が原因で合計が変更された場合に限る。' @TonyHが示唆するように変更を検証する方法を探したり、実行を別のイベントタイプに移動するのが最適なオプションです。 –

答えて

1

あなたが記述している動作は、NetSuiteが意図したものであり、 "変更"と "変更"は必ずしも同じものを意味するものではありません。あなたは必ずしも何かを変更する必要はありませんでしたが、NSのUIは愚かであり、を持つ可能性があることを知っています。

残念ながら、私はあなたがこれを回避する方法はないと思います。

recalcで実行されるスクリプトが長すぎると思っていて、処理速度を上げたいと思うので、代わりにそのスクリプトを見直してより良いパフォーマンスを得る方法がありますか?

+0

私は実際にカスタム配送計算機を持っていますので、広告申込情報が変更された場合は送料計算をクリアするために再計算機能を作成しました。代わりに、私はユーザーが広告申込情報(たとえば)としてメモを見るときに送料を清算します。私は船積みのコストをクリアする他の機能も持っています(配送方法のようなものですが、広告申込情報が変更されたときに再発呼が正しく発生するようになっていました)。 – John

1

広告申込情報が変更されているかどうかを確認している場合のみです。既存のラインアイテムIDをグローバル変数に格納するライン初期化関数を使用することができます。次に、ラインを検証し、ライン項目を取得し、グローバル変数に対してチェックします。

関連する問題