【发布时间】:2016-07-14 12:32:10
【问题描述】:
我想通过当前用户登录和角色用户在 SOOrder 屏幕上设置默认 OrderType。因此,我在屏幕 Order Type:SO201000 上创建了新字段,用于选择角色名称。例如:OrderType: C1 for userRole: 001A and OrderType: C2 for userRole: 001D.
屏幕上的 OrderType:SO201000 和 UsrUserRole(新字段)
[PXDBString(64)]
[PXDefault()]
[PXSelector(typeof(Search2<PX.SM.Roles.rolename>))]
[PXUIField(DisplayName="User Role", Visibility = PXUIVisibility.SelectorVisible)]
屏幕上 SOOrder:OrderType(自定义现有字段)
[PXDefault(typeof(Search2<SOOrderType.orderType,InnerJoin<PX.SM.UsersInRoles, On<PX.SM.UsersInRoles.rolename, Equal<SOOrderType.UsrUserRole>>>,Where<PX.SM.UsersInRoles.username, Equal<Current<AccessInfo.userName>>>>), PersistingCheck = PXPersistingCheck.Nothing)]
默认订单类型(自定义现有字段)
[PXSelector(typeof(Search5<SOOrderType.orderType,InnerJoin<SOOrderTypeOperation, On<SOOrderTypeOperation.orderType, Equal<SOOrderType.orderType>, And<SOOrderTypeOperation.operation, Equal<SOOrderType.defaultOperation>>>,LeftJoin<SOSetupApproval, On<SOOrderType.orderType, Equal<SOSetupApproval.orderType>>>>,Aggregate<GroupBy<SOOrderType.orderType>>>),DescriptionField = typeof(SOOrderTypeT.descr))] [PXRestrictor(typeof(Where<SOOrderTypeOperation.iNDocType,NotEqual<INTranType.transfer>, Or<FeatureInstalled<FeaturesSet.warehouse>>>), ErrorMessages.ElementDoesntExist, typeof(SOOrderType.orderType))]
[PXRestrictor(typeof(Where<SOOrderType.requireAllocation, NotEqual<True>, Or<AllocationAllowed>>), ErrorMessages.ElementDoesntExist, typeof(SOOrderType.orderType))]
[PXRestrictor(typeof(Where<SOOrderType.active,Equal<True>>), null)]
【问题讨论】:
-
还不够清楚吗?