仅显示带有数量的箱/位置。可用大于0,你应该继承Where条件为LocationAvailAttribute装饰INTran.LocationID领域:
using PX.Data;
using System;
namespace PX.Objects.IN
{
public class INTransferEntryExt : PXGraphExtension<INTransferEntry>
{
[PXRemoveBaseAttribute(typeof(LocationAvailAttribute))]
[PXMergeAttributes(Method = MergeMethod.Append)]
[LocationAvailCst(typeof(INTran.inventoryID), typeof(INTran.subItemID),
typeof(INTran.siteID), typeof(INTran.tranType), typeof(INTran.invtMult))]
public virtual void INTran_LocationID_CacheAttached(PXCache sender)
{
}
public class LocationAvailCstAttribute : LocationAvailAttribute
{
public LocationAvailCstAttribute(Type inventoryType, Type subItemType,
Type siteIDType, Type TranType, Type InvtMultType)
: base(inventoryType, subItemType, siteIDType, TranType, InvtMultType)
{
var attr = _Attributes[_SelAttrIndex] as PXDimensionSelectorAttribute;
var dimAttr = attr.GetAttribute<PXDimensionAttribute>();
var selAttr = attr.GetAttribute<PXSelectorAttribute>();
var select = selAttr.GetSelect();
select = select.WhereAnd<Where<INLocationStatus.qtyAvail, Greater<Zero>>>();
var newAttr = new PXDimensionSelectorAttribute(DimensionName,
select.GetType(), typeof(INLocation.locationCD),
new Type[]
{
typeof(INLocation.locationCD),
typeof(INLocationStatus.qtyOnHand),
typeof(INLocationStatus.qtyAvail),
typeof(INLocationStatus.active),
typeof(INLocation.primaryItemID),
typeof(INLocation.primaryItemClassID),
typeof(INLocation.receiptsValid),
typeof(INLocation.salesValid),
typeof(INLocation.transfersValid),
typeof(INLocation.projectID),
typeof(INLocation.taskID)
});
_Attributes[_SelAttrIndex] = newAttr;
newAttr.ValidComboRequired = attr.ValidComboRequired;
newAttr.CacheGlobal = attr.CacheGlobal;
newAttr.DirtyRead = attr.DirtyRead;
newAttr.DescriptionField = attr.DescriptionField;
}
}
}
}
随着LocationAvailCstAttribute在INTran.LocationID场添加的自定义,地点选择将只显示箱/位置,为此,当前库存项目数量。可用的是大于0: 
我明白这可以如何在Acumatica中实现。我的问题是如何在Acumatica Mobile产品中完成这项工作。通过在Acumatica中进行更改,逻辑在某种程度上也可以在移动产品中工作。只是想确定你的帖子。我非常清楚如何在Acumatica Code中执行此操作。只是想知道在Acumatica Mobile中做同样的事情。 –
由于Acumatica移动应用程序作为一个播放器,每次您需要更改业务逻辑内的某些内容(这是其中一种情况)时,您必须通过扩展类进行更改。这些更改将应用于Web浏览器和移动应用程序。 – RuslanDev
感谢您的信息。我已经做了一些改变。我将验证他们在Mobile产品中正常工作。 –