Vb.net 使用QBFC在QuickBooks中添加组项
这里需要一点帮助 我只是想用QBFC12添加一个带有项目列表的组项目,但是我遇到了一个问题。我曾经尝试过用Inventory Assembly创建类似的方法,效果很好。但是这个让我感觉很糟糕。处理请求时,它返回错误,告知请求中缺少字段。希望有人能帮我解决这个问题 谢谢 下面是我的代码:Vb.net 使用QBFC在QuickBooks中添加组项,vb.net,qbfc,Vb.net,Qbfc,这里需要一点帮助 我只是想用QBFC12添加一个带有项目列表的组项目,但是我遇到了一个问题。我曾经尝试过用Inventory Assembly创建类似的方法,效果很好。但是这个让我感觉很糟糕。处理请求时,它返回错误,告知请求中缺少字段。希望有人能帮我解决这个问题 谢谢 下面是我的代码: Dim msgSetRequest As IMsgSetRequest Dim QBSM As New QBSessionManager Try With QBSM .OpenCo
Dim msgSetRequest As IMsgSetRequest
Dim QBSM As New QBSessionManager
Try
With QBSM
.OpenConnection("", "QB Test")
.BeginSession("", ENOpenMode.omDontCare)
End With
Catch ex As Exception
Throw New Exception(ex.Message)
Return False
End Try
msgSetRequest = QBSM.CreateMsgSetRequest("US", 8, 0)
msgSetRequest.Attributes.OnError = ENRqOnError.roeStop
msgSetRequest.ClearRequests()
Dim gAdd As IItemGroupAdd = msgSetRequest.AppendItemGroupAddRq
gAdd.IsActive.SetValue(True)
gAdd.Name.SetValue("Group Name")
gAdd.ItemDesc.SetValue("Group Description")
For Each gListItem As clsInventoryGroupItem In gItem.InventoryGroupItemList
Dim gItemAdd As IItemGroupLine = msgSetRequest.AppendItemGroupAddRq.ItemGroupLineList.Append
gItemAdd.ItemRef.FullName.SetValue(gListItem.ItemRef)
gItemAdd.Quantity.SetValue(gListItem.Quantity)
Next
Dim response As IMsgSetResponse = QBSM.DoRequests(msgSetRequest)
If response.ResponseList.GetAt(0).StatusCode = 0 Then
MessageBox.Show("Success")
else
MessageBox.Show("An Error occurred while inserting Group")
endif
我认为问题在于你是如何添加你的组线的,但还没有测试它。您应该从IItemGroupAdd对象gAdd调用它,而不是从msgSetRequest中使用ItemGroupLineList.Append。这是我想到的,但没有测试
Dim msgSetRequest As IMsgSetRequest
Dim QBSM As New QBSessionManager
Try
With QBSM
.OpenConnection("", "QB Test")
.BeginSession("", ENOpenMode.omDontCare)
End With
Catch ex As Exception
Throw New Exception(ex.Message)
Return False
End Try
msgSetRequest = QBSM.CreateMsgSetRequest("US", 8, 0)
msgSetRequest.Attributes.OnError = ENRqOnError.roeStop
msgSetRequest.ClearRequests()
Dim gAdd As IItemGroupAdd = msgSetRequest.AppendItemGroupAddRq
gAdd.IsActive.SetValue(True)
gAdd.Name.SetValue("Group Name")
gAdd.ItemDesc.SetValue("Group Description")
For Each gListItem As clsInventoryGroupItem In gItem.InventoryGroupItemList
Dim gItemAdd As IItemGroupLine = gAdd.ItemGroupLineList.Append
gItemAdd.ItemRef.FullName.SetValue(gListItem.ItemRef)
gItemAdd.Quantity.SetValue(gListItem.Quantity)
Next
Dim response As IMsgSetResponse = QBSM.DoRequests(msgSetRequest)
If response.ResponseList.GetAt(0).StatusCode = 0 Then
MessageBox.Show("Success")
else
MessageBox.Show("An Error occurred while inserting Group")
endif