Acumatica PXCheckUnique是Acumatica ERP系统中的一个特性,用于在保存数据时检查唯一性约束。当使用PXCheckUnique特性时,如果存在重复的订单号(Nbr),系统会自动阻止保存,并显示错误消息。
要在错误消息上显示重复订单号(Nbr),可以按照以下步骤进行操作:
以下是一个示例代码片段,演示如何在错误消息上显示重复订单号(Nbr):
public PXAction<SOOrder> Persist;
[PXButton]
[PXUIField(DisplayName = "Save", MapEnableRights = PXCacheRights.Update, MapViewRights = PXCacheRights.Update)]
protected virtual IEnumerable persist(PXAdapter adapter)
{
// 检查订单号是否重复
SOOrder order = Base.Document.Current;
SOOrder duplicateOrder = PXSelect<SOOrder,
Where<SOOrder.orderNbr, Equal<Required<SOOrder.orderNbr>>,
And<SOOrder.orderType, Equal<Required<SOOrder.orderType>>>>>
.Select(Base, order.OrderNbr, order.OrderType);
// 如果存在重复订单记录,设置错误消息
if (duplicateOrder != null && duplicateOrder.OrderNbr != order.OrderNbr)
{
PXUIFieldAttribute.SetError<SOOrder.orderNbr>(Base.Document.Cache, order, "订单号重复,请输入唯一的订单号");
}
return Base.Persist(adapter);
}
在上述示例中,我们使用了PXSelect语句查询数据库,检查是否存在具有相同订单号(Nbr)的订单记录。如果存在重复订单记录,我们使用PXUIFieldAttribute.SetError方法将错误消息设置为订单号字段(SOOrder.orderNbr)。在这种情况下,错误消息为"订单号重复,请输入唯一的订单号"。
请注意,上述示例仅演示了如何在错误消息上显示重复订单号(Nbr),实际应用中可能需要根据具体需求进行调整和扩展。
对于Acumatica ERP系统中的其他特性和功能,您可以参考腾讯云的Acumatica产品介绍页面(https://cloud.tencent.com/product/acumatica)获取更多信息。
领取专属 10元无门槛券
手把手带您无忧上云