Personas Slipstream-如何为Enter键添加功能?

2020-09-13 03:25发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们正在运行Personas 3.0 SP7。

在传统的渲染引擎下,我能够将如下示例的脚本添加到onEnter屏幕事件中,以处理按下Enter键时的事件。

//如果Enter键未触发该事件,则忽略该事件。
 如果(triggerType!== source.EVENT_ENTER)返回;


//如果在文本框中按下了Enter键,则单击一个按钮。
 如果(focused && focus.id === session.findById(" wnd [0]/usr/boxPersonas_149010509512345/txtPersonas_149434590467890")。id){
     session.findById(" wnd [0]/usr/btnPersonas_149019811223344")。press();
   }
 

在Slipstream下,此代码显示一条错误消息,指出" ReferenceError:未定义triggerType"。

如果我删除脚本的triggerType行,代码将显示一条错误消息,指出" ReferenceError:未定义焦点"。

我尝试在triggerType前面添加session.utils并集中精力。 该代码不再显示错误,但是session.utils.triggerType和session.utils.focused都返回为"未定义",因此这不是解决方案。

有人知道如何在Slipstream中检查是否按下Enter键,并确定哪个对象在焦点时聚焦吗?

非常感谢您的帮助!

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们正在运行Personas 3.0 SP7。

在传统的渲染引擎下,我能够将如下示例的脚本添加到onEnter屏幕事件中,以处理按下Enter键时的事件。

//如果Enter键未触发该事件,则忽略该事件。
 如果(triggerType!== source.EVENT_ENTER)返回;


//如果在文本框中按下了Enter键,则单击一个按钮。
 如果(focused && focus.id === session.findById(" wnd [0]/usr/boxPersonas_149010509512345/txtPersonas_149434590467890")。id){
     session.findById(" wnd [0]/usr/btnPersonas_149019811223344")。press();
   }
 

在Slipstream下,此代码显示一条错误消息,指出" ReferenceError:未定义triggerType"。

如果我删除脚本的triggerType行,代码将显示一条错误消息,指出" ReferenceError:未定义焦点"。

我尝试在triggerType前面添加session.utils并集中精力。 该代码不再显示错误,但是session.utils.triggerType和session.utils.focused都返回为"未定义",因此这不是解决方案。

有人知道如何在Slipstream中检查是否按下Enter键,并确定哪个对象在焦点时聚焦吗?

非常感谢您的帮助!

付费偷看设置
发送
3条回答
四川大学会员
1楼 · 2020-09-13 03:34.采纳回答

你好杰夫,

" triggerType"不是onEnter事件的已定义参数。 这是一个与onBeforeRefresh事件相关联的参数,我不知道为什么WebGui也将为onEnter提供该参数(它绝对不是官方参数)。

"焦点"参数是为onEnter定义的,但是只有在按下Enter键时确实存在焦点控件时,才必须提供该参数。 因此,您想以安全的方式检查参数是否存在:

if(typeof selected ==='object')...

此外,最近还报告了SE中onEnter的缺陷。 确保您已安装最新的客户说明。

最好的问候

克莱门斯

hengyuye
2楼-- · 2020-09-13 03:58

你好杰夫,

你说的完全正确。 我的错。 聚焦参数的类型为布尔值。 因此脚本必须是:

如果(typeof focus!=='boolean')返回;

干杯,

Clemens

CPLASF-自律
3楼-- · 2020-09-13 03:51

Clemens嗨,

我不确定是否做错了什么,但是在onEnter事件中使用if(typeof selected ==='object')似乎永远不会导致真实情况; 至少在输入字段控件中按下Enter时不会。

我能够在onEnter事件中使用以下代码。

如果(typeoffocused!=="对象")返回; //如果对象没有焦点,则忽略该事件。

//如果在"更改通知"文本框中按下了Enter键,则单击图块以触发脚本。
 如果(focused.id ===" wnd [0]/usr/txtPersonas_123456"){
   session.findById(" wnd [0]/usr/subPersonas_654321/btnPersonas_112233")。press();
 }
 

感谢您的帮助!

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答