我正在尝试划分值并在Stock Items屏幕上的新自定义字段(usrQuantity)中显示它。
我想将OpenQty(它是POLine中的一列)和CARTONQTY(它不是列名,而只是CSAnswers表中的AttributeID列中的属性)划分。
enter image description here 我很困惑如何执行这个除法,因为CARTONQTY不是一个字段,我注意到在InventoryItem表中有一个名为CARTONQTY_Attributes的字段,它是由一些Join查询生成的,但实际上并不存在于数据库中(在SQL Management Studio中检查)
我在usrQuantity的DAC中尝试了这个公式
[PXDBInt]
[PXUIField(DisplayName="Quantity")]
[PXFormula(typeof(Div<POLine.orderQty,InventoryItem.CARTONQTY_Attributes>))]
但它给出了以下错误 找不到类型或命名空间名称'POLine'(您是否缺少using指令或程序集引用?)
“PX.Objects.IN.InventoryItem”类型中不存在类型名称“CARTONQTY_Attributes”
答案 0 :(得分:0)
您要将值存储在数据库中吗?通常,建议不要坚持计算值,除非例如在运行中执行计算时存在性能问题。如果您不想存储它,您可能需要PXInt而不是PXDBInt。另外,除非你总是期望你的除法产生整数(这是不可能的),你应该使用PXDecimal类型。
然后将计算出的值输入到新字段中,我可以通过扩展相应的PXGraph类在RowSelecting和RowUpdated事件处理程序中设置它;为了在检索行和更新行值时计算它。