僅顯示帶有數量的箱/位置。可用大於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產品中正常工作。 –