다음을 통해 공유


ReportClientDocument 개체 모델(RAS)

ReportClientDocument 개체 모델은 보고서 조작을 위한 가장 강력하고 광범위한 개체 모델을 제공합니다. 이 개체 모델은 관리되지 않는 보고서 응용 프로그램 서버(RAS) 또는 관리되는 보고서 응용 프로그램 서버(BOE)로 사용 가능한 보고서 응용 프로그램 서버(RAS)의 일부로만 사용할 수 있습니다.

ReportClientDocument 개체 모델은 여러 네임스페이스에 걸친 수많은 클래스로 구성되어 있습니다. 각 네임스페이스에는 CrystalDecisions.ReportAppServer라는 접두사가 사용됩니다. 이 개체 모델은 사용자가 런타임에 보고서의 모든 항목을 프로그래밍 방식으로 만들거나 수정하고 변경 사항을 저장할 수 있도록 SDK에 전체 보고서 구조를 제공합니다.

ReportClientDocument의 인스턴스는 해당 클래스 속성을 사용하여 프로그래밍 방식으로 수정할 수 있는 보고서를 구성합니다. 이러한 속성은 SDK에서 컨트롤러, 데이터 정의 모델 및 보고서 정의 모델이 포함된 일련의 다른 라이브러리에 연결됩니다.

  • ReportDefinition은 Crystal Reports Designer에 표시되는 것과 같이 보고서의 레이아웃에 해당합니다.
  • DataDefinition은 Crystal Reports Designer의 필드 탐색기에 해당합니다.
  • RowsetController는 런타임에 보고서를 표시할 때 각 세부 행의 처리된 데이터 값에 해당합니다.

ReportClientDocument 인스턴스는 다음 중 하나에서 인스턴스화될 수 있습니다.

  • 디렉터리에서 로드한 다음 ReportClientDocument SDK의 보고서 정의와 데이터 정의 클래스를 사용하여 수정한 기존의 .rpt 파일
  • ReportClientDocument SDK의 보고서 정의와 데이터 정의 클래스를 사용하여 완전히 새로 만든 빈 보고서

이 ReportClientDocument 클래스 인스턴스는 범위를 벗어나기 전에 인스턴스를 표시하기 위해 뷰어에 전달하는 데 필요한 시간 동안만 로드할 수 있습니다. 그러나 이 클래스 인스턴스를 수정한 다음 컨트롤러 클래스 중 하나를 사용하여 디렉터리에 보고서(.rpt)로 저장할 수도 있습니다.

ReportClientDocument 개체 모델에 대한 자세한 내용은 Business Objects RAS .NET SDK 설명서를 참조하십시오.

Crystal Reports 9의 ReportClientDocument

Crystal Reports 9(고급 버전)에는 ReportClientDocument 개체 모델의 프로그래밍에 필요한 관리되지 않는 RAS 및 RAS .NET 어셈블리가 함께 제공됩니다. 이를 통해 개발자는 ReportClientDocument 개체 모델을 활용하는 .NET 프로젝트를 만들 수 있습니다.

그러나 RAS와 함께 제공되는 ReportClientDocument 개체 모델을 사용하려면 Crystal Reports와 함께 제공된 ReportDocument 개체 모델을 사용하여 이전에 만든 프로젝트를 완전히 새로 코딩해야 함을 의미합니다. 두 개체 모델이 전혀 다른 별개의 모델이기 때문입니다.

Crystal Reports 10 이상의 ReportClientDocument

Crystal Reports 10에서는 개체 모델 간의 기본적인 구분이 사라졌습니다. 이는 ReportClientDocument 개체 모델의 기능 하위 집합에 대한 프록시로 기능하도록 ReportDocument 개체 모델을 다시 작성함으로써 가능해졌습니다. ReportDocument 개체 모델의 클래스는 이전과 동일한 속성 및 메서드 시그니처를 제공하지만, 각 속성 및 메서드를 더욱 강력한 ReportClientDocument 개체 모델의 속성 및 메서드로 리디렉션하도록 기본 기능이 변경되었습니다.

그렇지만 Crystal Reports Developer의 기본 버전이 관리되지 않는 RAS 서버 또는 ReportClientDocument 개체 모델에 대한 완전한 액세스 권한이 있다는 의미는 아닙니다. ReportDocument 개체 모델이 ReportClientDocument 개체 모델의 하위 집합에 대한 프록시로 사용되어도, Crystal Reports의 기본 버전에서는 여전히 ReportDocument 개체 모델에만 액세스할 수 있습니다. 이전 버전의 Crystal Reports에 포함된 원본 보고서 작성 엔진은 제한된 포함 버전의 RAS 보고서 작성 엔진으로 대체되었습니다.

관리되지 않는 RAS 서버에 대한 업그레이드된 라이센스가 있는 경우에만 ReportClientDocument 모델을 설치하고 직접 액세스할 수 있습니다. 이 경우 임의의 지정된 보고서 인스턴스에 두 가지 속성을 설정하여 ReportDocument 개체 모델용으로 작성된 모든 기존 코드를 별도의 RAS 서버로 간편하게 리디렉션할 수 있으며, ReportDocument 클래스의 ReportClientDocument 속성에서 기본 ReportClientDocument 개체 모델을 검색할 때 이 개체 모델에 직접 액세스할 수 있습니다.

자세한 내용은 "ReportDocument.Load() 메서드를 사용하여 관리되지 않는 RAS에 바인딩"을 참조하십시오.

ReportClientDocument 개체 모델 다이어그램

아래 다이어그램은 ReportClientDocument 개체 모델의 관계를 보여 줍니다.

그림4:ReportClientDocument 개체 모델