【发布时间】:2018-07-29 03:18:17
【问题描述】:
我在 SDK 中的 SAP B1 的 UDT 中添加记录时遇到问题。
我的所有代码
Public Class SystemForm
Private oCompany As SAPbobsCOM.Company
Private WithEvents SBO_Application As SAPbouiCOM.Application
Private Sub SetApplication()
Dim SboGuiApi As SAPbouiCOM.SboGuiApi
Dim sConnectionString As String
SboGuiApi = New SAPbouiCOM.SboGuiApi()
sConnectionString = Command()
SboGuiApi.Connect(sConnectionString)
SBO_Application = SboGuiApi.GetApplication()
End Sub
Public Sub New()
MyBase.New()
SetApplication()
End Sub
Private Sub SBO_Application_ItemEvent(ByVal FormUID As String, ByRef pVal As SAPbouiCOM.ItemEvent, ByRef BubbleEvent As Boolean) Handles SBO_Application.ItemEvent
If pVal.FormTypeEx = "UDO_FT_RPRL" AndAlso pVal.ActionSuccess = False AndAlso pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED AndAlso pVal.ItemUID = "2" AndAlso pVal.FormMode = 3 Then
Dim oUsrTbl As SAPbobsCOM.UserTable
Dim Res As Integer
oCompany = New SAPbobsCOM.Company
oUsrTbl = oCompany.UserTables.Item("@TODD")
oUsrTbl.Code = "1"
oUsrTbl.Name = "189"
oUsrTbl.UserFields.Fields.Item("U_Amount").Value = 4000
Res = oUsrTbl.Add()
If Res = 0 Then
SBO_Application.MessageBox("Added")
Else
SBO_Application.MessageBox("Error, failed to add Record")
End If
End If
End Sub
End Class
我试图做研究但没有帮助
实际上我想要做的是,如果我点击 UDO 的添加按钮,那么它会更新我的名为 @TODD 的 UDT,但是如果我点击上面代码的添加按钮,则会出现以下错误消息“Addon 9000058 failed with exception; 事件类型: 1"。
任何人都可以帮助我
【问题讨论】:
-
Res0 时 oCompany.GetLastErrorCode 和 GetLastErrorDescription 的值是多少?
-
我试图检查 oCompany.GetLastErrorCode 但没有显示任何内容,因为如果编译到达这一行 oUsrTbl = oCompany.UserTables.Item("@TODD") 它会在状态栏上显示错误消息时失败SAP B1 插件 9000020 异常失败;事件类型:1。@TODD 是我创建的用户定义表,我知道它为什么会失败。我在 Public 类中将 Private oCompany 声明为 SAPbobsCOM.Company
-
我认为问题出在保存过程中,但事实并非如此。请看我的回答。
标签: visual-studio sdk sapb1 sap-business-one-di-api