SalesForce CRM 데이터를 FlexReport에 바인딩 하는 방법
페이지 정보
작성자 GrapeCity 작성일 2021-05-27 14:57 조회 3,735회 댓글 0건본문
관련링크
가 추가되었습니다.
같은 해 두 번째 릴리스에서는 각 유형에 맞는 ADO.NET 공급자를 사용하여 Salesforce와 Kintone 데이터에 연결하기 위해 지원되는 데이터 소스 수를 늘렸습니다.
여기서는 Salesforce 데이터에 실제 보고서를 바인딩하는 방법을 설명합니다. 를 사용하여 환자 세부 정보, 건강 검진을 위해 선정된 의사와 처방된 약이 포함된 의료 처방 보고서를 만들 것입니다.
보고서 만들기부터 Salesforce 데이터와 바인딩 및 FlexViewer에서 미리 보기까지 전체 단계는 다음과 같습니다.
C1FlexReportDesigner를 사용하여 보고서 디자인
먼저, 요구 사항에 따라 합니다. 여기서는 Salesforce 데이터베이스에서 값을 가져올 보고서 필드의 Text 속성을 설정하면 됩니다.
이 보고서에서 값인 PatientDoctor, PatientID, PatientNo 등은 데이터베이스에서 가져옵니다. 따라서 데이터베이스에 있는 필드 이름을 반영하도록 Text 속성의 보고서 필드를 =PatientDoctor, =PatientID, =PatientNo 등으로 설정합니다.
응용 프로그램을 설정하는 방법
Windows Form 응용 프로그램 만들기
새 Windows Form 응용 프로그램을 만든 다음 양식 디자이너를 열고 양식에서 FlexReport와 FlexViewer 컨트롤을 끌어 놓습니다.
c1FlexReport1에서 디자이너를 사용하거나 아래 코드를 사용하여 1단계에서 만든 보고서를 로드합니다.
c1FlexReport1.Load(@"..\..\Prescription.flxr", "Medical Prescription");
NuGet 패키지 추가
프로젝트 메뉴에서 NuGet 패키지 관리를 선택합니다. NuGet 패키지 관리자가 나타납니다.
패키지 소스 드롭다운에서 를 선택합니다.
찾아보기 탭을 클릭하고 왼쪽 창에서 AdoNet.Salesforce를 선택합니다.
오른쪽 창에서 설치를 클릭합니다. 이렇게 하면 위 패키지에 대한 참조가 추가됩니다.
인증을 사용한 보안 연결로 Salesforce 데이터 액세스
보고서를 데이터에 바인딩하는 초기 단계는 데이터베이스와의 보안 연결을 설정하는 것입니다.
DataConnector 서비스 라이브러리에 있는 을 사용하여 연결 개체를 만들어 데이터에 연결합니다. 그런 다음 연결 문자열을 클래스 생성자에 매개 변수로 전달합니다.
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);
자세한 내용은 이라는 상세 문서 주제를 참조하십시오.
C1SalesforceDataAdapter를 사용하여 데이터 가져오기 및 FlexReport와 바인딩
Salesforce용 ADO. NET 공급자를 통해 표준 SQL 구문을 사용하여 데이터 소스에 대해 쿼리할 수 있습니다. 공급자는 조인 쿼리, 함수, 요약 등 대부분의 SQL 기능을 지원합니다. 삽입, 업데이트, 데이터 삭제와 같은 기본적인 CRUD 작업은 C1SalesforceCommand 및 C1SalesforceDataAdapter 개체를 사용하여 온라인 또는 오프라인 상태에서 수행할 수 있습니다.
아래 샘플 코드는 C1SalesforceDataAdapter 개체의 Fill 메서드를 사용하여 소스에서 데이터를 가져와 FlexReport의 개체의 및 속성을 사용하여 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에서 보고서를 렌더링하려면 보고서의 속성을 보고서 인스턴스로 설정합니다.
c1FlexViewer1.DocumentSource = c1FlexReport1;
이 보고서는 Excel, Pdf, HTML, Docx, Rtf, Png, Jpeg, Bmp, Tiff 등 다양한 형식으로 내보내 인쇄할 수 있습니다.
댓글목록
등록된 댓글이 없습니다.