我想创建一些通用查询,列出当前登录Acumatica的用户的潜在客户或其他项目。
问题的答案[当前登录的用户对于4.2中的GI /报告](Current logged in user for GI / Reports in 4.2)在通用查询中对我不起作用。它的工作原理与报告相同。 我们正在使用Acumatica 5.20.1757。
在通用查询中仅使用PX.Data.AccessInfo导致错误:Sequence不包含任何元素。在与另一个表的交叉连接中使用它会给出:“无效的对象名称:AccessInfo。我不理解/不知道什么?
答案 0 :(得分:3)
虽然上面的答案工作得很好,但这样就无需选择名称和配置访问权限。以下示例使用了潜在客户。
提供网站地图标题和网站地图位置的值,位于查询标题字段/
下方在表标签上,选择PX.Data.AccessInfo,PX.Objects.CR.Contact,PX.Object.EP.EPEmployee,PX.SM.LoginTrace和PX。 SM.Users。接受别名的默认值,一旦离开该行,将填充该列表。
在关系标签上:
a)设置,有效选中,父表联系加入类型**左**子表 EPEmployee,父字段 ownerID 条件等于子字段 pKID
b)设置有效选中,父表用户加入类型**内部**子表 EPEmployee,父字段< / strong> contactID 条件等于子字段 defContactID
c)设置有效选中,父表用户加入类型**内部**子表 LoginTrace,父字段< / strong>用户名条件等于子字段用户名
在参数标签上,将名称**设置为用户名,**架构字段设置为AccessInfo.UserName,**显示名称**设置为用户名。除非您想检查字段的值,否则不应检查活动。
设置了9条线以满足我的具体条件。他们在这里。
a)有效是,启动括号(数据字段 Users.IsOnline 条件等于,来自架构 True,值1 True, End Brackets ,运算符和
b)有效是,启动括号,数据字段 LoginTrace.ScreenID 条件等于,来自架构错误,值1 GI000009(您的可能不同),结束括号,运营商和
c)有效错误,启动括号,数据字段 LoginTrace.Date 条件等于,来自架构错误,值1 现在(),结束括号),运算符和
d)有效是,启动括号,数据字段 Users.UserName 条件等于,来自架构错误,值1 = [LoginTrace.Username],结束括号,运算符和
e)有效错误,启动括号,数据字段 LoginTrace.Username 条件等于,来自架构错误,值1 = [EPEmployee.UserID],结束括号,运营商和
f)有效是,启动括号((数据字段 Contact.ContactType 条件等于,< strong>来自架构 FALSE,值1 LD,结束括号,运营商或
g)有效是,启动括号,数据字段 Contact.ContactType 条件等于,来自架构 FALSE,值1 PN,结束括号),运算符和
g)有效是,启动括号,数据字段 Contact.Status 条件等于,来自架构 True,值1 已转换,结束括号,运算符或
h)有效是,启动括号,数据字段 Contact.Status 条件等于,来自架构 True,值1 打开,结束括号),操作员或
排序顺序,结果网格和输入点取决于您。
注意:我发现此GI在另一个不考虑LoginTrace.ScreenID条件的查询中失败。没有尝试使用左连接进行内连接,但应该有效。
答案 1 :(得分:2)
我刚设计了一个通用查询,其中列出了当前登录的用户使用4.2的Acumatica创建的所有销售订单。以下是步骤。
在Generic Inquiry屏幕的 Tables 标签中,除了其他所需的表(在此示例中为SO.SOOrder)之外,还需要添加2个表:Data.AccessInfo和SM.Users。
在关系标签中,应在所需的表和SM.Users之间创建表关系。连接类型必须为左。例如:SOOrder左加入用户。
必须使用Users表的pKID字段建立关系。例如:SOOrder.CreatedByID等于Users.pKID。
在参数标签中,添加一行,并为其命名,如UserName。然后,Schema Field将成为AccessInfo.UserName。必须激活From Schema选项。
在条件标签中,数据字段Users.UserName将#4中添加的参数等于值。
如果您不希望用户更改定义为参数的默认用户名,请务必查看不同角色中该字段的访问权限。