我有一个Infopath 2007表单,其中包含几个视图,用于浏览器。我无法预先填充重复表中的字段,从给定值开始,然后使用公式派生的默认值。如何预先填充Infopath重复表中的求和字段
在Summary
观点,我问一个项目的TotalCost
和当前财年的预计支出(CurrentFYSpend
):
+------------------------------+ | Project Summary | +------------------------------+ | Total Cost: $100,000 | -- TotalCost | Current FY Spend: $ 25,000 | -- CurrentFYSpend +------------------------------+在下一个(
Detail
)来看,我有一个重复表
FYSpending
当用户需要打出来的项目的
TotalCost
超过任意数量的会计年度。
FYSpending
表有一个
YearlyCost
字段,该字段包含当年的估计支出。在重复表下我有
RunningTotal
和
Remaining
字段。
RunningTotal
的默认值为
sum(YearlyCost)
;
Remaining
的默认值为
TotalCost - sum(YearlyCost)
;它们一起向用户显示已经占用了多少,还有多少还需要进入财政年度。
+--------------------------------+ | Project Detail | +--------------------------------+ | Total Cost: $100,000 | <- TotalCost | | | Fiscal Year Spending: | | +---------------------------+ | <- FYSpending repeating table | | FY | Yearly Cost | | +---------------------------+ | <- FYSpending repeating table | | 2009 | $ 25,000 | | <- YearlyCost[1], from Summary CurrentFYSpend | +---------------------------+ | | | Add Fiscal Year | | | +-----------------+ | | | | Running Total: $ 25,000 | | Remaining: $ 75,000 | <- TotalCost - sum(YearlyCost) +--------------------------------+
当用户添加了一个新的财政年度行,我想:
当我们第一次进入Detail
来看,FYSpending
重复表格的第一行的YearlyCost
领域应与CurrentFYSpend
值填充新行的YearlyCost
场的默认值来计算的剩余量:YearlyCost[n] = TotalCost - sum(YearlyCost)
:
+--------------------------------+ | Project Detail | +--------------------------------+ | Total Cost: $100,000 | | | | Fiscal Year Spending: | | +---------------------------+ | | | FY | Yearly Cost | | | +---------------------------+ | | | 2009 | $ 25,000 | | | | 2010 | $ 50,000 | | -- YearlyCost[2], calc'd by rule on Add Row | +---------------------------+ | | | Add Fiscal Year | | | +-----------------+ | | | | Running Total: $ 75,000 | | Remaining: $ 25,000 | +--------------------------------+
我有麻烦,因为两个预先填充彼此并出现牛逼的动作冲突o创造竞争条件。我试图在Summary
的CurrentFYSpend
字段上设置规则来设置值FYSpending
的YearlyCost
,然后在YearlyCost
字段上设置默认值以设置Value: TotalCost - sum(YearlyCost)
。当我保存表单,我收到以下错误:
An error occurred in the form's code. The number of calls to the Changed event for a single update in the data exceeded the maximum limit.
(感谢,InfoPath中,这种特定的错误消息多少钱,我需要付费才能获取触发事件的对象的名称,或你试图更新?)
无论如何,任何人都可以描述一种技术来完成这个?综上所述,
- 填充第一行的
YearlyCost
从之前的CurrentFYSpend
- 允许覆盖第一排的
YearlyCost
,并填充随后添加的行YearlyCost
默认值TotalCost - sum(YearlyCost)