Quickbooks SDK存款不会在主存款上填写收款人

时间:2014-05-23 16:43:13

标签: quickbooks qbfc

我正在使用QBFC13创建一个程序,该程序应该从其他当前资产类型的帐户创建存款到银行帐户。但是,当执行depositadd方法时,收款人不会被填入银行账户。如何填写收款人信息? 我没有足够的声誉来发布图片,所以这是我需要填写的字段图片的链接:http://i.stack.imgur.com/nqWOh.jpg

这是我目前的代码:

    Public Sub CreateDeposit()
    On Error GoTo Errs
    Dim depositadd As IDepositAdd
    depositadd = msgSetRequest.AppendDepositAddRq()
    depositadd.DepositToAccountRef.FullName.SetValue("checking")

    depositadd.Memo.SetValue("newdeposit test")
    depositadd.TxnDate.SetValue(Date.Today)



    Dim depositLineAdd As IDepositLineAdd
    depositLineAdd = depositadd.DepositLineAddList.Append()
    depositLineAdd.ORDepositLineAdd.DepositInfo.AccountRef.ListID.SetValue("1EE0000-943382783")
    depositLineAdd.ORDepositLineAdd.DepositInfo.EntityRef.ListID.SetValue("80002534-1335362979")
    depositLineAdd.ORDepositLineAdd.DepositInfo.Amount.SetValue(150.0)
    depositLineAdd.ORDepositLineAdd.DepositInfo.Memo.SetValue("test memo lineitem")


    ' send the request to QB
    Dim msgSetResponse As IMsgSetResponse
    msgSetResponse = qbSessionManager.DoRequests(msgSetRequest)

    ' check to make sure we have objects to access first
    ' and that there are responses in the list
    If (msgSetResponse Is Nothing) Or _
        (msgSetResponse.ResponseList Is Nothing) Or _
        (msgSetResponse.ResponseList.Count <= 0) Then
        Exit Sub
    End If

    ' Start parsing the response list
    Dim responseList As IResponseList
    responseList = msgSetResponse.ResponseList
    MsgBox(msgSetRequest.ToXMLString())
    ' go thru each response and process the response.
    ' this example will only have one response in the list
    ' so we will look at index=0
    Dim response As IResponse
    response = responseList.GetAt(1)
    If (Not response Is Nothing) Then
        If response.StatusCode <> "0" Then
            MsgBox("DepositFunds unexpexcted Error - " & vbCrLf & "StatusCode = " & response.StatusCode & vbCrLf & vbCrLf & response.StatusMessage)
        Else
            MsgBox("The funds were successfully deposited in Checking")
            MsgBox(msgSetResponse.ToXMLString())
        End If
    End If

    Exit Sub

Errs:
        MsgBox("HRESULT = " & Err.Number & " (" & Hex(Err.Number) & ") " & vbCrLf & vbCrLf & Err.Description, _
                MsgBoxStyle.Critical, _
                "Error in DepositFunds")



End Sub

1 个答案:

答案 0 :(得分:0)

这实际上不是SDK问题,因为它是QuickBooks的设计方式。由于QuickBooks中的存款交易可以包含多行,因此即使只有一行,银行登记也不会显示任何名称。您可以手动转到银行注册并添加名称,但无法通过SDK执行此操作。这是一个两步过程,甚至可以在QuickBooks中创建存款,然后在寄存器中进行编辑。

如果您需要使用SDK从交易中显示此信息,那么您可能必须使用日记帐分录而不是存款交易。