! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

SalesForce CRM 데이터를 FlexReport에 바인딩 하는 방법 > 블로그 & Tips

본문 바로가기

ComponentOne

블로그 & Tips

SalesForce CRM 데이터를 FlexReport에 바인딩 하는 방법

페이지 정보

작성자 GrapeCity 작성일 2021-05-27 14:57 조회 3,735회 댓글 0건

본문

2020년 첫 번째 ComponentOne 릴리스에서는 Microsoft Dynamics 365, OData 등과 같은 비즈니스 솔루션에 연결할 수 있도록 새로운 .NET Standard 서비스 라이브러리인 DataConnectors가 추가되었습니다.


같은 해 두 번째 릴리스에서는 각 유형에 맞는 ADO.NET 공급자를 사용하여 Salesforce와 Kintone 데이터에 연결하기 위해 지원되는 데이터 소스 수를 늘렸습니다.


이 블로그에서는 Salesforce용 ADO.NET 공급자를 사용하여 Salesforce(클라우드 기반 고객 관계 관리 플랫폼) 데이터에 ComponentOne WinForms 컨트롤을 바인딩하는 방법을 이해하도록 설명합니다.


여기서는 Salesforce 데이터에 실제 보고서를 바인딩하는 방법을 설명합니다. FlexReport를 사용하여 환자 세부 정보, 건강 검진을 위해 선정된 의사와 처방된 약이 포함된 의료 처방 보고서를 만들 것입니다.


보고서 만들기부터 Salesforce 데이터와 바인딩 및 FlexViewer에서 미리 보기까지 전체 단계는 다음과 같습니다.



C1FlexReportDesigner를 사용하여 보고서 디자인


먼저, 요구 사항에 따라 보고서 레이아웃을 디자인합니다. 여기서는 Salesforce 데이터베이스에서 값을 가져올 보고서 필드의 Text 속성을 설정하면 됩니다.


이 보고서에서 엔터티 값인 PatientDoctor, PatientID, PatientNo 등은 데이터베이스에서 가져옵니다. 따라서 데이터베이스에 있는 필드 이름을 반영하도록 Text 속성의 보고서 필드를 =PatientDoctor, =PatientID, =PatientNo 등으로 설정합니다.

Salesforce CRM 데이터에 FlexReport를 바인딩하는 방법


응용 프로그램을 설정하는 방법


Windows Form 응용 프로그램 만들기

새 Windows Form 응용 프로그램을 만든 다음 양식 디자이너를 열고 양식에서 FlexReport와 FlexViewer 컨트롤을 끌어 놓습니다.

Salesforce CRM 데이터에 FlexReport를 바인딩하는 방법


c1FlexReport1에서 디자이너를 사용하거나 아래 코드를 사용하여 1단계에서 만든 보고서를 로드합니다.

c1FlexReport1.Load(@"..\..\Prescription.flxr", "Medical Prescription");



NuGet 패키지 추가

  1. 프로젝트 메뉴에서 NuGet 패키지 관리를 선택합니다. NuGet 패키지 관리자가 나타납니다.

  2. 패키지 소스 드롭다운에서 nuget.org를 선택합니다.

  3. 찾아보기 탭을 클릭하고 왼쪽 창에서 AdoNet.Salesforce를 선택합니다.

  4. 오른쪽 창에서 설치를 클릭합니다. 이렇게 하면 위 패키지에 대한 참조가 추가됩니다.

Salesforce CRM 데이터에 FlexReport를 바인딩하는 방법



인증을 사용한 보안 연결로 Salesforce 데이터 액세스


보고서를 데이터에 바인딩하는 초기 단계는 데이터베이스와의 보안 연결을 설정하는 것입니다.


DataConnector 서비스 라이브러리에 있는 C1SalesforceConnection을 사용하여 연결 개체를 만들어 데이터에 연결합니다. 그런 다음 연결 문자열을 클래스 생성자에 매개 변수로 전달합니다.


Salesforce 데이터를 위해 ADO.NET 공급자가 지원하는 OpenAuth 기반 인증은 보안 연결을 사용하여 데이터에 액세스하도록 도울 수 있습니다. OpenAuth는 개방형 표준 인증 프로토콜 또는 프레임워크로, 서로 무관한 서버와 서비스가 초기의 관련 있는 단일 로그인 자격 증명을 공유하지 않고도 자산에 대한 인증된 액세스를 안전하게 허용하는 방법에 대해 기술합니다.


Salesforce용 ADO. NET 공급자는 보안 연결을 설정하기 위해 암호 자격 증명 또는 클라이언트 자격 증명 부여 유형을 지원합니다.


인증을 구현하려면 OAuthTokenEndPoint, OAuthAccessToken, OAuthRefreshToken, OAuthClientSecret, OAuthClientId, SecurityToken, Username, Password 속성에 적절한 값을 설정해야 합니다.


제공된 값 세트에 따라 라이브러리는 AccessToken/RefereshToken을 자동으로 생성 및 사용하여 보안 연결을 유지합니다.

const string url = "https://ap16.salesforce.com/services/data/v42.0";
const string username = "*****";
const string password = "*****";
const string securityToken = "*****";
const string clientId = "*****";
const string clientSecret = "*****";
const string OAuthTokenEndpoint =
"https://ap16.salesforce.com/services/oauth2/token";
​
//Configure Connection string
C1SalesforceConnectionStringBuilder builder = new C1SalesforceConnectionStringBuilder();
builder.Url = url;
builder.Username = username;
builder.Password = password;
builder.SecurityToken = securityToken;
builder.OAuthClientId = clientId;
builder.OAuthClientSecret = clientSecret;
builder.OAuthTokenEndpoint = OAuthTokenEndpoint;
​
//Setup Connection
C1SalesforceConnection conn = new C1SalesforceConnection(builder.ConnectionString);


자세한 내용은 OAuth 인증이라는 상세 문서 주제를 참조하십시오.



C1SalesforceDataAdapter를 사용하여 데이터 가져오기 및 FlexReport와 바인딩


Salesforce용 ADO. NET 공급자를 통해 표준 SQL 구문을 사용하여 데이터 소스에 대해 쿼리할 수 있습니다. 공급자는 조인 쿼리, 함수, 요약 등 대부분의 SQL 기능을 지원합니다. 삽입, 업데이트, 데이터 삭제와 같은 기본적인 CRUD 작업은 C1SalesforceCommandC1SalesforceDataAdapter 개체를 사용하여 온라인 또는 오프라인 상태에서 수행할 수 있습니다.


아래 샘플 코드는 C1SalesforceDataAdapter 개체의 Fill 메서드를 사용하여 소스에서 데이터를 가져와 FlexReport의 DataSource 개체의 RecordsetRecordSource 속성을 사용하여 FlexReport와 바인딩하는 방법을 보여 줍니다.

String sql = "SELECT * from [PatientInfo]";
using (C1SalesforceConnection c = new C1SalesforceConnection($@"{GCSalesforceServerConnectionString}"))
{
//Open Connection
c.Open();
using (C1SalesforceDataAdapter a = new C1SalesforceDataAdapter(c, sql))
{
//Filling Data Table with the help of adapter
DataTable t = new DataTable();
a.Fill(t);
c1FlexReport1.DataSource.Recordset = t;
c1FlexReport1.DataSource.RecordSource = "PatientInfo";
}
}



FlexViewer에서 FlexReport 렌더링


FlexViewer에서 보고서를 렌더링하려면 보고서의 DocumentSource 속성을 보고서 인스턴스로 설정합니다.

c1FlexViewer1.DocumentSource = c1FlexReport1;


Salesforce CRM 데이터에 FlexReport를 바인딩하는 방법


이 보고서는 Excel, Pdf, HTML, Docx, Rtf, Png, Jpeg, Bmp, Tiff 등 다양한 형식으로 내보내 인쇄할 수 있습니다.

Salesforce CRM 데이터에 FlexReport를 바인딩하는 방법


CompoenentOne의 2021 v1 릴리스부터는 FlexReportDesigner를 사용하여 FlexReport를 Salesforce 데이터에 직접 연결할 수 있습니다.



  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.