📚 SAP Business One SDK Help

Using Projects with User-Defined Fields
See Also
'**************************************
' Adding a field to the Project object
'**************************************
Private Sub AddUDFToProjectObject()

        Dim oUserFieldsMD As SAPbobsCOM.UserFieldsMD
        oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)

        'Setting the field's properties
        oUserFieldsMD.TableName = "OPRJ"
        oUserFieldsMD.Name = "Field1"
        oUserFieldsMD.Description = "Field1"
        oUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Alpha
        oUserFieldsMD.EditSize = 10

        'Adding the field to the table
        lRetCode = oUserFieldsMD.Add

        'Checking for errors
        If lRetCode <> 0 Then
            oCompany.GetLastError(lRetCode, sErrMsg)
            MsgBox(sErrMsg)
        Else
            MsgBox("Field was added successfuly to " & oUserFieldsMD.TableName & " Table")
        End If

End Sub

'****************************************************
' Adding a project and setting the user-defined field
'****************************************************
Private Sub AddProjectWithUDF()

        Dim oCmpSrv As SAPbobsCOM.CompanyService
        Dim projectService As SAPbobsCOM.IProjectsService

        oCmpSrv = oCompany.GetCompanyService
        projectService = oCmpSrv.GetBusinessService(SAPbobsCOM.ServiceTypes.ProjectsService)

        Dim project As SAPbobsCOM.Project
        Dim projectParams As SAPbobsCOM.IProjectParams

        'Adding project and setting fields
        'To reference the user-defined field, add the prefix "U_" to the name
        ' specified when the field was created (in the subroutine above).
        Try
            project = projectService.GetDataInterface(SAPbobsCOM.ProjectsServiceDataInterfaces.psProject)
            project.Code = "PRJC"
            project.Name = "Project C"
            project.UserFields.Fields.Item("U_Field1").Value = "aaa"
            projectService.AddProject(project)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
End Sub