2009-11-24 21 views

回答

2

我有一個創建基於另一個系統的用戶,所以我不能確切地這一切粘貼在這裏爲我們的用戶碼 - 其中大部分是不會讓你們感受到 - 但是這是它的核心:

[在VB對不起:-) - 也是在這裏張貼VB當我發現我需要使用「//」表示註釋,使格式正確]

Public Sub CreateNewUser() 
    Dim s as mscrm.CrmService = GetMyService() 
    Dim newUser as New mscrm.systemuser() 
    With newUser 
    .domainname = "domain\user" 
    .firstname = "Stan" 
    .lastname = "Molda" 
    //set anything else you want here 
    End With 
    Dim userGuid as guid = s.Create(newUser) 

    //Next we need to assign the user a role 
    AssignRole(userGuid) 

    //Finally we need to assign them to the correct Time Zone 
    SetUserTimeZone(userGuid) 
End Sub 

Public Sub AssignRole(g as Guid) 
    Dim s as mscrm.CrmService = GetMyService() 
    Dim req As New mscrm.AssignUserRolesRoleRequest() 
    req.UserId = g 
    req.RoleIds = New Guid() {GetTheGuidForMyPrimaryRole()} 
    s.Execute(req) 
End Sub 

Public Sub SetUserTimeZone(g as Guid) 
    Dim s as mscrm.CrmService = GetMyService() 
    Dim r As New mscrm4.RetrieveUserSettingsSystemUserRequest() 
    r.ColumnSet = New mscrm3.AllColumns() 
    r.EntityId = New Guid(g) 
    Dim resp As mscrm.RetrieveUserSettingsSystemUserResponse = CType(s.Execute(r), mscrm.RetrieveUserSettingsSystemUserResponse) 
    Dim settings As mscrm.usersettings = CType(resp.BusinessEntity, mscrm.usersettings) 
    settings.timezonecode = New mscrm.CrmNumber 
    settings.timezonecode.Value = OUR_TIME_ZONE_CONSTANT 
    Dim update As New mscrm.UpdateUserSettingsSystemUserRequest() 
    update.Settings = settings 
    update.UserId = g 
    s.Execute(update) 
End Sub 
+0

嘿Brendon做得很好很好,完美的解決方案,我想知道爲什麼沒有人更關心它是否有用...誰曾問過這個問題應該真的點擊回答問題... –

相關問題