【发布时间】:2016-12-01 07:38:30
【问题描述】:
在 Notes 中,我有一个表单(订单),其中有一个按钮“创建新订单行”,它创建了一个新表单(订单行)。 Order 文档在设计上有一个嵌入式视图,用于获取 orderlines 文档。每个订单行文档都包含一个带有订单文档 ID 的隐藏字段,以便您知道哪个订单行与哪个订单相关联。 Orderline 也是如此,它有一个带有价格的嵌入式视图。
在订单表单中,我有 2 个可编辑的文本字段:AdministrationNumber 和 DebtorNumber。
在 OrderlineForm 中我只得到了 deborNumber
在价格中,我有一个名为“费用”的可编辑数字字段。
所以我以各种方式做到了这一点:
在表单价格的 postOpen 中,我放了这个 LotusScript 代码:
If( (Source.FieldGetText( "AdministrationNumber" ) = "1" ) And (Source.FieldGetText( "DebtorNumber" ) = "2") ) Then
Call Source.FieldSetText("FeePercentage", "4.235")
Call Source.Refresh()
End If
但是没有用。
在费用的默认值中我也尝试了这个公式代码:
@If((AdministrationNumber="1") & (DebtorNumber= "2");
"4,235";
"0"
)
但也没有用..
是否可以根据条件语句打开子表单时设置可编辑字段,其中包含父表单中的数据?
编辑
2种解决方法:
1.
当单击订单表单上的“添加新订单行”按钮时,我将调用脚本库中的一个函数,在该函数中我获取 debnr 和 admnr 的值,然后执行条件语句。如果为 true,则设置 FeePercentage
2.
在名为 admnr 的 orderlline 上添加了新的隐藏字段,当单击 New Orderline 按钮时,它会获取 administratorNr 字段数据。该字段是通过脚本库中的函数设置的。
最终在价格子窗体的 postOpen 中起作用:
Dim doc As NotesDocument
Set doc = Source.Document
If doc.admnra(0) = "1" And doc.debnr(0) = "2" Then
doc.FeePercentage = 4.235
End If
【问题讨论】:
标签: formula lotus-domino lotusscript