2009-11-24 9 views

Répondre

2

J'ai un code qui crée des utilisateurs pour nous en fonction des utilisateurs d'un autre système, donc je ne peux pas tout coller ici - la plupart n'auraient pas de sens pour vous - mais c'est le noyau:

[En VB désolé :-) - également lors de la publication VB ici, je trouve que je dois utiliser « // » pour indiquer un commentaire à faire le bon formatage]

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

Hey Brendon bon travail très clair et la solution parfaite je me demande pourquoi personne ne se souciait même de dire qu'il est utile ... Qui jamais posé cette question devrait vraiment cliquer pour répondre à la question ... –