Private Sub OperateStockTransferApproval() 'Prerequisites: You have set ApprovalTemplates and ApprovalStage by DI or SAP Business One Dim i As Integer Dim retcode As Long = 0 Dim msg As String = "" 'Enable the approval procedure in the company level Dim oAdmin As AdminInfo = oCompanyService.GetAdminInfo() oAdmin.EnableApprovalProcedureInDI = BoYesNoEnum.tYES oAdmin.DocConfirmation = BoYesNoEnum.tYES oCompanyService.UpdateAdminInfo(oadmin) 'Create StockTransfer which will trigger the approval procedure Dim retKey As String = 0 Dim retType As String = 0 Dim oStockTransfer As StockTransfer = oCompany.GetBusinessObject(BoObjectTypes.oStockTransfer) oStockTransfer.CardCode = "C001" oStockTransfer.Lines.ItemCode = "I001" oStockTransfer.Lines.Quantity = 10 oStockTransfer.Lines.WarehouseCode = "10" oStockTransfer.DocDate = Today 'Get the approval template retcode = oStockTransfer.GetApprovalTemplates() If retcode = 0 Then If (oStockTransfer.StockTransfer_ApprovalRequests.ApprovalTemplatesID > 0) Then For i = 1 To oStockTransfer.StockTransfer_ApprovalRequests.Count oStockTransfer.StockTransfer_ApprovalRequests.SetCurrentLine(i - 1) 'Add some remarks oStockTransfer.StockTransfer_ApprovalRequests.Remarks = "Remark of Inv" & i & " AddedfromDI" Next i End If End If Try 'Add StockTransfer retcode = oStockTransfer.Add() Catch ex As Exception 'Error processing MsgBox(ex.Message) End Try If retcode <> 0 Then oCompany.GetLastError(retcode, msg) MsgBox("Failed to add. Error: " & msg & " (" & Str(retcode) & ")") Exit Sub Else 'Get the last added object key and type retKey = oCompany.GetNewObjectKey retType = oCompany.GetNewObjectType End If 'Get the approval request decision report Dim oApprovalRequestsService As ApprovalRequestsService = oCompany.GetCompanyService().GetBusinessService(ServiceTypes.ApprovalRequestsService) Dim oApprovalRequest As ApprovalRequest = oApprovalRequestsService.GetDataInterface(ApprovalRequestsServiceDataInterfaces.arsApprovalRequest) Dim oApproalRequestParams As ApprovalRequestParams = oApprovalRequestsService.GetDataInterface(ApprovalRequestsServiceDataInterfaces.arsApprovalRequestParams) Dim oApproalRequestsParams As ApprovalRequestsParams = oApprovalRequestsService.GetDataInterface(ApprovalRequestsServiceDataInterfaces.arsApprovalRequestsParams) Dim oDraft As Documents = oCompany.GetBusinessObject(BoObjectTypes.oDrafts) Dim oApprovalRequestDecision As ApprovalRequestDecision oApproalRequestsParams = oApprovalRequestsService.GetAllApprovalRequestsList For i = 0 To (oApproalRequestsParams.Count - 1) oApprovalRequest = oApprovalRequestsService.GetApprovalRequest(oApproalRequestsParams.Item(i)) 'Get the request you want If (oApprovalRequest.ObjectEntry <> retKey) Then Continue For ElseIf (oApprovalRequest.ObjectType = retType) Then oApprovalRequestDecision = oApprovalRequest.ApprovalRequestDecisions.Add() oApprovalRequestDecision.Status = BoApprovalRequestDecisionEnum.ardApproved '0-pending, 1-approved, 2-rejected. oApprovalRequestDecision.ApproverUserName = "manager1" oApprovalRequestDecision.ApproverPassword = "1234" oApprovalRequestDecision.Remarks = "manager1approve" oApprovalRequestsService.UpdateRequest(oApprovalRequest) Exit For End If Next 'After the approval, trun draft to document Try oDraft.GetByKey(oApprovalRequest.ObjectEntry) oDraft.SaveDraftToDocument() Catch ex As Exception MsgBox(ex.Message) End Try End Sub
|