Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '##############################
- 'CreditNotes
- '##############################
- <WebMethod()> _
- <ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
- Function CreditNote(ByVal invoiceId As String)
- 'initialize SAP class
- Dim sap As New sap
- Dim lErr As New Hashtable
- Dim lngError As Long
- Dim strError As String
- Try
- sap.connect()
- Dim oCreditNote As SAPbobsCOM.Documents = sap.SBOCompany.GetBusinessObject(BoObjectTypes.oCreditNotes)
- Dim oInvoice As SAPbobsCOM.Documents = sap.SBOCompany.GetBusinessObject(BoObjectTypes.oInvoices)
- 'PARSE JSON
- 'Dim json_arr As Hashtable = JsonDecode(json)
- If Not IsNothing(invoiceId) Then
- oInvoice.GetByKey(invoiceId)
- oCreditNote.CardCode = oInvoice.CardCode
- oCreditNote.Series = 2
- Dim invioceLines As Integer = oInvoice.Lines.Count
- For i As Integer = 0 To invioceLines - 1
- oInvoice.Lines.SetCurrentLine(i)
- oCreditNote.Lines.BaseEntry = invoiceId
- oCreditNote.Lines.BaseLine = i
- oCreditNote.Lines.BaseType = 13
- @oCreditNote.Lines.AccountCode = oInvoice.Lines.AccountCode@
- If i > 1 Then oCreditNote.Lines.Add()
- Next
- Else
- lErr.Clear()
- lErr.Add("false", "JSON string is not valid")
- sap.disconnect()
- Return JsonEncode(lErr)
- End If
- lErr.Clear()
- lErr.Add("false", oCreditNote.Add())
- 'check errors
- If lErr("false") <> 0 Then
- sap.SBOCompany.GetLastError(lngError, strError)
- lErr("false") = strError
- sap.disconnect()
- Return JsonEncode(lErr)
- End If
- Dim return_value As New Hashtable
- Dim tempStr As String = ""
- sap.SBOCompany.GetNewObjectCode(tempStr)
- return_value.Add("true", "true")
- If oCreditNote.GetByKey(tempStr) Then
- return_value.Add("DocNum", oCreditNote.DocNum)
- return_value.Add("paymentId", tempStr)
- End If
- ' diconnect
- sap.disconnect()
- Return JsonEncode(return_value)
- Catch ex As Exception
- lErr.Clear()
- lErr.Add("false", ex.Message.ToString)
- sap.disconnect()
- Return JsonEncode(lErr)
- End Try
- End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement