簡體   English   中英

如何通過當前用戶登錄過濾SOOrder屏幕上的OrderNbr?

[英]How to filter OrderNbr on SOOrder Screen by current user login?

作為我的問題的標題,我想過濾用戶已經使用CS類型創建的orderNbr。

在此處輸入圖片說明

例如:

  1. 用戶Sophak,創建了OrderNbr:ARI16-000001
  2. 用戶zzz,創建的OrderNbr:ARI16-000003
  3. 當用戶Sophak登錄時,orderNbr應該僅顯示她創建的CS。 但是,當用戶管理員登錄時,我想查看所有orderNbr。

我想我應該使用BQL對其進行自定義:

 public class administrator : Constant<String>
 {
     public administrator(): base("Administrator")
     { }
 }

 [PXDBString(15, IsKey = true, IsUnicode = true, InputMask = ">CCCCCCCCCCCCCCC")]
 [PXDefault()]
 [PXUIField(DisplayName = "Order Nbr.", Visibility = PXUIVisibility.SelectorVisible)]
 [SO.RefNbr(typeof(Search2<SOOrder.orderNbr, LeftJoinSingleTable<Customer, On<SOOrder.customerID, Equal<Customer.bAccountID>, And<Where<Match<Customer, Current<AccessInfo.userName>>>>>,
 LeftJoin<PX.SM.Users, On<SOOrder.createdByID, Equal<PX.SM.Users.pKID>>,
 LeftJoin<PX.SM.UsersInRoles, On<PX.SM.Users.username, Equal<PX.SM.UsersInRoles.username>,Or<PX.SM.UsersInRoles.rolename, Equal<administrator>>>>>>,
 Where<SOOrder.orderType, Equal<Optional<SOOrder.orderType>>, And<Where<SOOrder.orderType, Equal<SOOrderTypeConstants.transferOrder>,Or<Customer.bAccountID, IsNotNull>>>>,
 OrderBy<Desc<SOOrder.orderNbr>>>), Filterable = true)]
 [SO.Numbering()]
 [PX.Data.EP.PXFieldDescription]

您首先應該使用SOOrderEntry BLC擴展內的CacheAttached處理程序為SO.RefNbr屬性自定義BQL查詢,以過濾OrderNbr選擇器的下拉網格中的記錄。

之后,請確保另外為“文檔數據”視圖自定義BQL查詢-這是導航按鈕(首先,上一個,下一個,最后一個)正確操作所必需的步驟

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM