这篇文章介绍了如何使用Acumatica中的PXSelector标记动态更改仓库选择器。在Acumatica上,仓库选择器通常用于选择所有货物移动的仓库。然而,某些情况下,我们想要动态地更改默认仓库。以下是解决方法的步骤:
第一步:创建仓库下拉列表 我们首先需要创建一个下拉列表来选择要使用哪个仓库。我们将创建一个状态字段来保存用户选择的仓库,并将其与下拉列表关联起来。在下面的代码示例中,我们将状态字段和下拉列表称为“SelectedWarehouse”。
public class SOOrderExt : PXCacheExtension
{
#region UsrSelectedWarehouseID
[PXDBInt]
[PXUIField(DisplayName = "Selected Warehouse")]
[PXSelector(typeof(Search),
SubstituteKey = typeof(INSite.siteCD),
DescriptionField = typeof(INSite.descr))]
public virtual int? UsrSelectedWarehouseID { get; set; }
public abstract class usrSelectedWarehouseID : IBqlField { }
#endregion
}
第二步:使用PXSelector动态更改选择器 然后,我们将使用PXSelector标记来动态更改仓库选择器。Acumatica在运行时创建页面,并使用相应的参数创建PXSelector。这意味着我们可以传递任何参数到PXSelector,并根据需要动态地更改仓库选择器。下面是使用PXSelector标记来动态更改仓库选择器的代码示例: