1

コンボ ボックスに基づいて更新される複数のフィールドを持つフォームがあります。最初のコンボ ボックスは、@DbColumn を使用してビューの最初の列をプルします。2 番目のコンボ ボックスは、最初のコンボ ボックスの選択に基づいて、同じビューの 2 番目の列をプルします。それはうまくいきます。問題は次のとおりです。2 番目のコンボ ボックスからの選択を使用して、同じビューの後続の列からプルする後続の計算フィールドがいくつかあります。これらの計算フィールドは機能していません。Javascript で @DbLookup コマンドを使用してビューから値を呼び出すことができると思っていましたが、機能していません。
最初のコンボ ボックスの JavaScript コードは次のとおりです (非常に単純です)。

@DbColumn(@DbName(), "PLBV", 1)

2 番目のコンボ ボックス コードは次のとおりです。

var vendor = getComponent("POVendor").getValue();
var items = @DbLookup(@DbName(), "PLBV", vendor, 2);
if (@IsError(items))
return "Please select a Vendor first";
else
return items;

これらのルーチンは両方とも、私が望むとおりに機能します。これが問題です。2 番目のコンボボックスの値に基づいて入力する必要がある 3 つのフィールドがあります。うまくいきません。コードを示しますが、これは本当に基本的なものです。

var item = document1.getItemValue("Item_1");
var cost = @DbLookup(@DbName(), "PLBV", item, 3);

return cost;

このコードは空白の値を返します (フィールドには何も表示されません)。私は何を間違っていますか?

4

2 に答える 2

0

この問題は、2 番目のコンボ ボックスに入力した同じビューから列の値を呼び出そうとしたことが原因でした。そのビューには、ベンダー名で分類された最初の列があります。2 番目の列 (2 番目のコンボ ボックスに入力するために使用した列) は、そのベンダーが提供する製品のリストです。その部分はうまくいきました。でも; 2 番目のコンボ ボックス (製品) の値に基づいて、同じビューから 3 番目の列の値を呼び出そうとしましたが、何も得られませんでした。
製品を提供するベンダーによって分類されていない製品の完全なリストである別のビューがあります。2 番目のコンボ ボックスの製品名に基づいて、そのビューから列を呼び出しました。すべての計算フィールドが機能しました。私の唯一の問題は、2 つの異なるベンダーが 2 つの異なる製品に同じ製品名を使用するとどうなるかということです。その橋に来たら渡ります。みんなからのすべての助けに感謝します。サーフェイスの問題は解決していないかもしれませんが、舞台裏で何が起こっているのかをより深く理解することができました.

于 2013-05-31T15:02:17.730 に答える