2016-07-07 94 views
0

我刚刚在SOOrder屏幕上创建了新字段,并希望将当前用户登录的默认值userRole放入该文本框,但上面出现错误。这是我的编码:找不到(您是否缺少使用指令或程序集引用?)

//Layout Editor: SO301000 (Sales Orders) 
[PXDBString(64)] 
[PXDefault(typeof(Coalesce<Search<UsersInRoles.userName, Where<UsersInRoles.userName, Equal<Current<AccessInfo.userName>>>>, 
     Search<BAccount.ownerID, Where<BAccount.bAccountID, Equal<Current<SOOrder.customerID>>>>>), 
     PersistingCheck = PXPersistingCheck.Nothing)] 
[PXUIField(DisplayName="Current User" , Enabled = false)] 

error: Cannot implicitly convert type 'PX.Data.PXResultset' to 'PX.SM.UsersInRoles' in file: Code#SOOrderEntry(80) 
error: 'PX.Data.PXRowSelectingEventArgs' does not contain a definition for 'NewValue' and no extension method 'NewValue' accepting a first argument of type 'PX.Data.PXRowSelectingEventArgs' could be found (are you missing a using directive or an assembly reference?) in file: Code#SOOrderEntry(83) 

请帮忙!!!

回答

0

UsersUsersInRoles DAC位于PX.SM命名空间。 您应该使用using PX.SM;或每次指定这些类的名称空间,如PX.SM.UsersInRoles.username

P.S.有些字母在你的例子不正确的情况:

UsersInRoles.userName - >UsersInRoles.username

Users.userName - >Users.username

Users.PKID - >Users.pKID

+0

我已经添加**使用PX.SM; **在定制业务逻辑但仍然有同样的错误。 – YSP

+0

你可以添加一个完整的文件内容的问题?这将有所帮助。你也可以尝试第二种方式。它工作吗? –

+0

在屏幕上SOOrder我想添加一个新的字段,它存储当前用户登录的userRole,但SOOrder只有ownerID,所以我需要加入其他用户,比如UsersInRole来取用户名。我会在上面编辑我的问题,所以请检查一下。 – YSP

相关问题