ブラウザで使用することを目的とした、いくつかのビューを含むInfopath2007フォームがあります。指定された値から始めて、数式から派生したデフォルト値を使用して、繰り返しテーブルのフィールドに事前入力するのに問題があります。
その観点から、プロジェクトと今年度の予想支出額()Summary
をお願いします。TotalCost
CurrentFYSpend
+ ------------------------------ + | プロジェクトの概要| + ------------------------------ + | 総費用:$ 100,000 | - 総費用 | 現在の会計支出:25,000ドル| --CurrentFYSpend + ------------------------------ +次の( )ビューでは、ユーザーが任意の会計年度にわたってプロジェクトを分割する必要が
Detail
ある繰り返しテーブルがあります。テーブルには、その年の推定支出を保持するフィールドがあります。繰り返しテーブルの下に、フィールドがあります。デフォルト値は;です。デフォルト値は;です。一緒にそれらは、合計のどれだけがすでに説明されているか、そして彼らがまだ会計年度の行に分割する必要がある量をユーザーに示します。FYSpending
TotalCost
FYSpending
YearlyCost
RunningTotal
Remaining
RunningTotal
sum(YearlyCost)
Remaining
TotalCost - sum(YearlyCost)
Detail
最初にビューに入るとき、繰り返しテーブルYearlyCost
の最初の行のフィールドに次の値が入力されている必要があります。FYSpending
CurrentFYSpend
+ -------------------------------- + | プロジェクトの詳細| + -------------------------------- + | 総費用:$ 100,000 | <-TotalCost | | | 会計年度の支出:| | + --------------------------- + | <-FYSpending繰り返し表 | | 年度| 年間費用| | + --------------------------- + | <-FYSpending繰り返し表 | | 2009年| $ 25,000 | | <-YearlyCost [1]、SummaryCurrentFYSpendから | + --------------------------- + | | | 会計年度を追加| | | + ----------------- + | | | | 累計:$ 25,000 | | 残り:$ 75,000 | <-TotalCost-sum(YearlyCost) + -------------------------------- +
ユーザーが新しい会計年度の行を追加するときに、新しい行のYearlyCost
フィールドのデフォルト値を残りの金額として計算する必要がありますYearlyCost[n] = TotalCost - sum(YearlyCost)
::
+ -------------------------------- + | プロジェクトの詳細| + -------------------------------- + | 総費用:$ 100,000 | | | | 会計年度の支出:| | + --------------------------- + | | | 年度| 年間費用| | | + --------------------------- + | | | 2009年| $ 25,000 | | | | 2010 | $ 50,000 | | --YearlyCost [2]、行の追加のルールによって計算 | + --------------------------- + | | | 会計年度を追加| | | + ----------------- + | | | | 累計:75,000ドル| | 残り:$ 25,000 | + -------------------------------- +
2つの事前入力アクションが互いに競合し、競合状態を引き起こしているように見えるため、問題が発生しています。Summary
'sCurrentFYSpend
フィールドにルールを設定して'sの値を設定してから、フィールドにデフォルト値を設定して設定しようとFYSpending
しましYearlyCost
た。フォームを保存すると、次のエラーが発生します。YearlyCost
Value: TotalCost - sum(YearlyCost)
フォームのコードでエラーが発生しました。データの1回の更新に対するChangedイベントの呼び出し数が、最大制限を超えました。
(InfoPath、このような特定のエラーメッセージをありがとう!イベントを発生させたオブジェクト、または更新しようとしたオブジェクトの名前を取得するには、いくら支払う必要がありますか?)
とにかく、誰かがこれを達成するためのテクニックを説明できますか?要約すれば、
YearlyCost
前のビューの最初の行にデータを入力しますCurrentFYSpend
- 最初の行のオーバーライドを許可し、
YearlyCost
その後に追加される行のYearlyCost
デフォルト値をTotalCost - sum(YearlyCost)