2010-02-22 2 views
2

통합을 위해 Dynamics CRM의 사용자는 다른 환경 (ASP.NET 및 SQL Server 2005에 구축 된 여러 가지 사용자 지정 웹 응용 프로그램)에서와 동일한 GUID를 가져야합니다. 그러나 특정 GUID를 가진 새로운 Dynamics 사용자를 만들려고 할 때 Dynamics는이를 무시하고 UI를 통해 사용자를 만든 것처럼 내부적으로 NEWSEQUENTIALID()를 사용하고 있다고 믿게 만듭니다.). 그러나 다른 유형 (예 : 연락처)의 경우 Dynamics는 아무 문제없이 GUID를 사용합니다.Dynamics CRM : 특정 GUID를 가진 사용자 만들기

내가 잘못했거나 Dynamics가 항상 새로운 사용자 생성시 GUID를 무시합니까?

CrmService service = GetService(); 

systemuser newUser = new systemuser(); 

Key newUserId = new Key(); 
newUserId.Value = new Guid("D630FA8D-A32F-4a37-BFEF-CE36CBA29009"); 
    // The GUID I would like Dynamics to use 
newUser.systemuserid = newUserId; 

Lookup bu = new Lookup(); 
bu.Value = new Guid("16B10365-0E18-DF11-B839-005056B60DD4"); 
    // The correct business unit ID. Nothing to see here. 
newUser.businessunitid = bu; 

newUser.firstname = "John"; 
newUser.lastname = "Doe"; 
newUser.domainname = "DOMAIN\\jdoe"; 
    // Valid AD credentials too. Names changed to protect the innocent. 

Guid userId = service.Create(newUser); 
Console.WriteLine("User created with GUID " + userId.ToString()); 
    // Dynamics creates the user with a completely different GUID. :-(

편집 : 지금뿐만 아니라이 질문에 on Microsoft's CRM forum을 요청했습니다

.

+0

코드가 정확하다는 것을 알 수 있습니다. 나는 내일 몇 명의 동료에게 물을 것이다. –

+0

Crm 토론 포럼을 사용해보십시오. –

+0

@Chris Jones :이 포럼? : http://social.microsoft.com/Forums/en-US/crm/threads –

답변

2

나는 알고는 적합하지 않습니다 만, 해결 방법으로 당신은 systemuser 엔티티에 사용자 정의 속성을 추가하고 거기 통합 ID를 저장할 수 있습니다.

1

솔루션에 대한 자세한 내용을 모른 채 나는 당신이하려고하는 것처럼 당신이 하드 어디서나 quids가 필요 없을 것이라고 말할 수 있습니다. 현재 고객에게 도착했을 때 그들은 똑같은 일을하려고 애썼고 진지한 PITA였습니다.
다양한 엔티티에 대해 하드 코딩 된 퀴드를 사용하는 모든 코드를 원하는 키 (사용자 이름)로 엔티티를 가져온 다음 엔티티의 ID를 가져 오는 간단한 룩업 절차로 대체하는 데 약 하루가 걸렸습니다. 그. 처음부터해야 할 일을 더 이상하지 않으려 고합니다.

0

그것은 하드 코드를 사용하던 모든 코드 (귀하의 경우 사용자 이름) 어떤 키를 사용하여 엔티티를 얻을 수있는 간단한 검색 절차에 다양한 개체

에 대한 quids을 대체하기 위해 하루 정도 걸렸다

얼마나 재미 있어요. John Doe 사용자가 'John', 'Doe'문자열을 검색했습니다. 내 회사에서 "John Doe"가 두 명이라면 어떻게해야합니까?

+0

을 그렸습니다. 고유 한 사용자 이름을 기반으로 쿼리 할 수 ​​있습니다. – minohimself

관련 문제