2017-10-20 59 views
0

我們目前已將倉庫/ Bin傳輸添加到Acumatica Mobile,以允許用戶通過Mobile與使用Acumatica進行bin傳輸。將濾鏡添加到Acumatica Mobile中的選擇器

我們已將QtyAvailable添加到SelectorContainer語句中的From和To Bin選擇器中。但是,有沒有辦法只過濾這些項目的記錄,而不是顯示所有的箱子/位置。此過濾器只會位於自己的位置。到位置仍然會顯示所有位置。

回答

0

僅顯示帶有數量的箱/位置。可用大於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: enter image description here

+0

我明白這可以如何在Acumatica中實現。我的問題是如何在Acumatica Mobile產品中完成這項工作。通過在Acumatica中進行更改,邏輯在某種程度上也可以在移動產品中工作。只是想確定你的帖子。我非常清楚如何在Acumatica Code中執行此操作。只是想知道在Acumatica Mobile中做同樣的事情。 –

+0

由於Acumatica移動應用程序作爲一個播放器,每次您需要更改業務邏輯內的某些內容(這是其中一種情況)時,您必須通過擴展類進行更改。這些更改將應用​​於Web瀏覽器和移動應用程序。 – RuslanDev

+0

感謝您的信息。我已經做了一些改變。我將驗證他們在Mobile產品中正常工作。 –

相關問題