在SAP B1 Browser中使用插件时,如果用户出口也在后台运行插件。

2020-09-12 03:28发布

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

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


如果插件在离线环境下运行,则功能正常运行。 如果在浏览器中使用仅存在此问题。 如果在任务管理器插件中也连接了1个用户,则会显示6次。

实际上,我在代码中包含了以下事件,但我仍然遇到问题

私有无效oApplication_AppEvent(SAPbouiCOM.BoAppEventTypes EventType)

{

if(EventType == SAPbouiCOM.BoAppEventTypes.aet_CompanyChanged || EventType == SAPbouiCOM.BoAppEventTypes.aet_LanguageChanged || EventType == SAPbouiCOM.BoAppEventTypes.aet_ServerTerminition || EventType == SAPbouiCOM.BoAppEventTypes.aet_Sh

{

GC.Collect();

System.Windows.Forms.Application.Exit();

}

}

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

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


如果插件在离线环境下运行,则功能正常运行。 如果在浏览器中使用仅存在此问题。 如果在任务管理器插件中也连接了1个用户,则会显示6次。

实际上,我在代码中包含了以下事件,但我仍然遇到问题

私有无效oApplication_AppEvent(SAPbouiCOM.BoAppEventTypes EventType)

{

if(EventType == SAPbouiCOM.BoAppEventTypes.aet_CompanyChanged || EventType == SAPbouiCOM.BoAppEventTypes.aet_LanguageChanged || EventType == SAPbouiCOM.BoAppEventTypes.aet_ServerTerminition || EventType == SAPbouiCOM.BoAppEventTypes.aet_Sh

{

GC.Collect();

System.Windows.Forms.Application.Exit();

}

}

付费偷看设置
发送
3条回答
渐行渐远_HoldOn
1楼-- · 2020-09-12 04:07

您好 Manimekalai S

SAP Business One Client关闭时, 将生成事件,以使附加exe退出。 附件中应使用以下代码以关闭附件exe。

私有子oSBOApplication_AppEvent(ByVal EventType为SAPbouiCOM.BoAppEventTypes)处理SBO_Application.AppEvent
选择案例事件类型
案例SAPbouiCOM.BoAppEventTypes.aet_ShutDown,SAPbouiCOM.BoAppEventTypes.aet_CompanyChanged,SAPbouiCOM.BoAppEventTypes.aet_ServerTerminition

'某些处理逻辑< br> Application.Exit()
End
End Select
End Sub

2。)如果上面已经实现,请检查是否有如下的statusBar代码。请删除statusBar.SetText,然后检查。

SBO_Application.StatusBar .SetText("正在终止附件...",SAPbouiCOM.BoMessageTime.bmt_Short,SAPbouiCOM.BoStatusBarMessageType.smt_None)

如果上述方法不能解决问题,请提供更多信息。

1。 使用SAP Business One版本。

2。 在其上构建附件的SDK DLL版本(SAPbobsCOM和SAPbouiCOM)。

3。 共享 oSBOApplication_AppEvent

4插件中使用的代码。 在SAP Business One客户端上运行加载项时,是否看到相同的行为?

5。 检查在浏览器访问计算机上的Windows事件查看器中是否记录了任何错误消息。

问候,

ANKIT CHAUHAN

SAP Business One支持

95年老男孩
2楼-- · 2020-09-12 04:04

您好ANKIT CHAUHAN

感谢您的答复。

供您参考

1)SAP B1版本:9.2 PL 09

2)DLL:9.0

3)AppEvent中的代码

oApplication_AppEvent(SAPbouiCOM.BoAppEventTypes EventType)

{

如果(EventType == SAPbouiCOM.BoAppEventTypes.aet_CompanyChanged || EventType == SAPbouiCOM.BoAppEventTypes.aet_LanguageChanged || EventType == SAPbouiCOM.BoAppEventTypes.aet_ServerTerminition || EventType == SAPbouiCOM.BoAppEventTypes

{

GC.Collect();

System.Windows.Forms.Application.Exit();

}

}

4)在脱机状态下,当用户单击"退出"或"关闭"按钮时,插件会自动断开连接,SAP也将正确关闭。

但是在浏览器中使用相同的插件,在任务管理器中显示3次。 如果用户在浏览器屏幕中单击"退出"或"关闭按钮",SAP将关闭,但在任务管理器中仍在运行(没有自动断开连接)。仅添加状态消息,并检查从浏览器关闭时是否触发了AppEvent。 活动也正在召唤。 但是插件没有断开连接。

通常,对于Addon断开连接,我们使用Application.Exit()

使用浏览器时,他们还有其他断开插件的方式吗?

jovirus
3楼-- · 2020-09-12 04:08

嗨,

浏览器客户端始终在服务器网关中运行。
如果客户端退出浏览器,则SAP Business One客户端进程为 永远不会关闭。这就是为什么您的附加组件不会关闭的原因。

这是设计使然,客户端进程将等待另一个用户登录并重新使用其进程。

致谢

Edy

一周热门 更多>