다음을 통해 공유


XRM 도구를 사용하여 데이터 만들기

 

게시 날짜: 2016년 11월

적용 대상: Dynamics CRM 2015

새 데이터와 연결을 만들기 위해 CrmServiceClient 클래스에서 사용할 수 있는 메서드가 일곱 개 있습니다.XRM 도구 API를 사용하는 만들기 작업에는 데이터 페이로드가 필요합니다. 데이터 페이로드는 Dictionary<string, CrmDataTypeWrapper> 개체 형식을 취합니다.CrmDataTypeWrapper는 귀하가 참조하고 있는 데이터 포인트에 무슨 종류의 취급을 적용할 필요가 있는지를 인터페이스에 알려주는 데 사용됩니다. 데이터를 만드는 메서드 중 일부는 이 항목에 나열되어 있습니다.

CreateNewRecord

이 메서드는 Microsoft Dynamics 365에서 엔터티 데이터의 유형을 만드는 데 사용됩니다. 이 메서드를 사용하려면 레코드를 만들려는 엔터티의 스키마 이름을 알아야 하며 전달할 데이터 페이로드를 구성해야 합니다. 이 예제에서는 거래처 레코드를 만듭니다.

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>",“<Domain>”),"<Server>", "<Port>", "<OrgName>");

// Verify that you are connected
if (crmSvc != null && crmSvc.IsReady)
{
    //Display the CRM version number and org name that you’re connected to.
    Console.WriteLine("Connected to CRM! (Version: {0}; Org: {1}", 
    crmSvc.ConnectedOrgVersion, crmSvc.ConnectedOrgUniqueName);

    // Create an account record
    Dictionary<string, CrmDataTypeWrapper> inData = new Dictionary<string, CrmDataTypeWrapper>();
    inData.Add("name", new CrmDataTypeWrapper("Sample Account Name", CrmFieldType.String));
    inData.Add("address1_city", new CrmDataTypeWrapper("Redmond", CrmFieldType.String));
    inData.Add("telephone1", new CrmDataTypeWrapper("555-0160", CrmFieldType.String));
    accountId = ctrl.CrmConnectionMgr.CrmSvc.CreateNewRecord("account", inData);

    // Verify if the account is created.
    if (accountId != Guid.Empty)
    {
        Console.WriteLine(“Account created.”);
    }
}
else
{
    // Display the last error.
    Console.WriteLine("An error occurred: {0}", crmSvc.LastCrmError);

    // Display the last exception message if any.
    Console.WriteLine(crmSvc.LastCrmException.Message);
    Console.WriteLine(crmSvc.LastCrmException.Source);
    Console.WriteLine(crmSvc.LastCrmException.StackTrace);

    return;
}

이 예제에서 indata라는 데이터 페이로드 개체를 만들었습니다. 그 다음 일반적인 crmFieldName , new CrmDataTypeWrapper(data,CrmFieldType) 구문을 사용하여 채웠습니다. 만들 값을 가져오기 위해 indata 개체를 설정한 후 거래처 및 데이터 페이로드(indata)에 대한 엔터티 논리적 이름을 제공하는 CreateNewRecord 메서드를 호출했습니다.

참고

CreateRequest 메시지를 ExecuteCrmOrganizationRequest 메서드와 함께 실행하여 XRM 도구를 사용하여 엔터티를 만들 수도 있습니다.추가 정보:ExecuteCrmOrganizationRequest 메서드와 함께 메시지(요청 및 응답 클래스) 사용

CreateAnnotation

이 메서드는 엔터티 레코드에 메모 개체를 만들고 첨부하는 데 사용됩니다. 첫 번째 전달에서 메모에 대한 모든 변수를 채울 수 있지만 주제 및 메모 텍스트 필드만 제공하면 됩니다. 실제로 이 메서드는 시스템에서 생성된 메모를 엔터티에 첨부하거나 Dynamics 365에 저장되어 있는 파일을 엔터티에 첨부하는 데 일반적으로 사용됩니다. 또한 사용자에 대한 메모를 만들기 위해 고유한 UI를 제공할 경우 이 방법은 Dynamics 365에서 담당자 엔터티에 메모를 첨부하는 방법입니다. 이 예제는 이전 예제에서 계속하여 새로 만든 거래처에 메모를 만듭니다.

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>", “<Domain>”),"<Server>", "<Port>", "<OrgName>");

// Verify that you are connected.
if (crmSvc != null && crmSvc.IsReady)
{
    //Display the CRM version number and org name that you are connected to.
    Console.WriteLine("Connected to CRM! (Version: {0}; Org: {1}", 
    crmSvc.ConnectedOrgVersion, crmSvc.ConnectedOrgUniqueName);

    // Create and attach a note.
    inData.Clear(); 
    inData.Add("subject", new CrmDataTypeWrapper("This is a NOTE from the API" , CrmFieldType.String)); 
    inData.Add("notetext", new CrmDataTypeWrapper("This is text that will go in the body of the note" , CrmFieldType.String));
    Guid noteID = crmSvc.CreateAnnotation("account", accountId, inData);
}
else
{
    // Display the last error.
    Console.WriteLine("An error occurred: {0}", crmSvc.LastCrmError);

    // Display the last exception message if any.
    Console.WriteLine(crmSvc.LastCrmException.Message);
    Console.WriteLine(crmSvc.LastCrmException.Source);
    Console.WriteLine(crmSvc.LastCrmException.StackTrace);

    return;
}

참고 항목

샘플: XRM 도구 API 빠른 시작
XRM 도구를 사용하여 CRM에서 작업 실행

© 2017 Microsoft. All rights reserved. 저작권 정보