点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我目前有一个Matrix网格,其...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我目前有一个Matrix网格,其...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我目前有一个Matrix网格,其钻取如下所示。 文档编号用于销售订单。
因为使用文档条目向下钻取文档,所以我有一种方法,当按下文档编号向下钻取时,它将从文档编号ID中找到文档条目ID并加载销售订单。
这是我面临的问题。 如果我是第一次打开该表单,然后单击doc num,它将加载一次销售订单。 如果我关闭"电子邮件回单"表单并重新打开,请单击"文档编号",它将打开两次销售订单。 表单关闭时,似乎触发了doc num的旧事件。 我为您提供了用于文档输入查找功能的代码示例。
Private Sub createDocEntryDrillDown(linkedObjectType As Integer) Dim oLink as SAPbouiCOM.LinkedButton Dim oItem作为SAPbouiCOM.Item Dim oStaticText作为SAPbouiCOM.StaticText 尝试 oItem = oForm.Items.Item(" LinkedText") 异常捕获 oItem = oForm.Items.Add(" LinkedText",SAPbouiCOM.BoFormItemTypes.it_STATIC) oItem.Left = -700 oItem.Width = 148 oItem.Top = -800 oItem.Height = 14 oStaticText = oItem.Specific oStaticText.Caption ="" oItem = oForm.Items.Add(" Lnk1",SAPbouiCOM.BoFormItemTypes.it_LINKED_BUTTON) oItem.Left = -700 oItem.Top = -800 oItem.LinkTo =" LinkedText" oLink = oItem.Specific oLink.LinkedObjectType =链接对象类型 结束尝试 结束子
当单击文档向下钻取时,我将使用以下代码覆盖click事件
如果pVal.EventType = SAPbouiCOM.BoEventTypes.et_MATRIX_LINK_PRESSED并且pVal.ColUID =" DocNum"并且pVal.BeforeAction = True,那么 BubbleEvent = False 尝试 昏暗DocEntry作为整数 昏暗的SQL作为字符串 如果(sqlType =" SQL")然后 sql ="从ORDR WHERE中选择DocEntry"" DocNum"" =" 其他'HANA sql =" SELECT"" DocEntry""从ORDR所在位置"" DocNum"" =" 万一 sql = sql + oForm.Items.Item(pVal.ItemUID).Specific.Columns(pVal.ColUID).Cells.Item(pVal.Row).Specific.Value.ToString oRs = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset) oRs.DoQuery(sql) 尽职尽责 DocEntry = CInt(oRs.Fields.Item(" DocEntry")。Value) oRs.MoveNext() 循环 setDocEntryDrillDown(DocEntry) 返回 异常捕获 MsgBox(例如消息) 结束尝试 万一
当上面的代码调用setDocEntryDrillDown(DocEntry)方法时,它将执行下面的代码。
私有子setDocEntryDrillDown(docEntry作为整数) Dim oItem作为SAPbouiCOM.Item Dim oStaticText作为SAPbouiCOM.StaticText Dim oLink as SAPbouiCOM.LinkedButton oItem = oForm.Items.Item(" LinkedText") oStaticText = oItem.Specific oStaticText.Caption = docEntry.ToString oItem = oForm.Items.Item(" Lnk1") oLink = oItem.Specific oLink.Item.Click() 结束子
基于提供的代码,您是否知道为什么我重新打开表单并单击doc num时,销售订单会出现两次? 单击卡号后,我不会遇到此问题。 提醒您,我没有修改卡代码明细的点击事件。
(9.1 kB)
嗨,约翰,
我从SAP那里得到了答复,并了解了发生了什么。 由于某种原因,当窗体关闭时,它不会删除项目单击事件。 SAP为我提供了一种解决方案,可在表单关闭后强制表单删除项目事件。 以下是他们为我提供的解决方案。
我想再次感谢您分享我所面临问题的SAP注释。
此致
威廉
一周热门 更多>