2011-12-07 4 views
0

인보이스를 실행하는 SQL Server Reporting Services 보고서가 있습니다. 각 인보이스에는 머리글, 본문 및 바닥 글이 있습니다. 보고서는 인보이스 번호별로 그룹화되어 각 인보이스가 별도의 페이지에 인쇄됩니다.SSRS 각 그룹 끝에있는 바닥 글 표시

내 문제는 인보이스의 본문이 한 페이지 위로 확장되면 각 페이지에서 바닥 글이 반복된다는 것입니다. 인보이스 (그룹)의 마지막 페이지에만 표시하고 싶습니다.

"페이지 바닥 글 : 첫 페이지에 표시"옵션을 선택 취소 해 보았습니다.하지만 그룹이 아닌 전체 일괄 처리의 첫 페이지에서만 바닥 글이 제거됩니다.

나는 또한 본문에 꼬리말 정보를 넣으려고했지만 이러한 인보이스는 미리 인쇄 된 종이에 인쇄되므로 바닥 글이 페이지 맨 아래에 있어야합니다.

답변

0

나는 내가 원한 것을 성취 할 수 있었지만, 그 이상으로는 해결할 수 없었다. 지금까지 SSRS 2005에서이 작업을 수행 할 방법이 없다는 것을 알 수있었습니다.

해결 방법은 그룹당 행 수를 계산하고 각 페이지의 행을 제한하는 것입니다. 이를 통해 저장 프로 시저에서 페이지 번호를 추측하고 행당 그룹 페이지 번호와 최대 그룹 페이지 번호를 반환 할 수있었습니다.

SELECT CEILING((sum(1) over (Partition by sClientInvoiceNo))/ @MaxRowsPerPage) as GroupMaxPage,CEILING((row_number() over (Partition by sClientInvoiceNo order by iSortOrder,apportionmentID desc))/ @MaxRowsPerPage) as GroupPage 

나는

=IIF(fields!GroupPage.Value <> fields!GroupMaxPage.Value, "", Fields!iBalanceDue.Value 
0

난 단지 그룹의 종료 후 Page Footer 볼을 얻을 수 있었다 다음 보고서에서 그룹 페이지 번호로 내 데이터를 그룹화 특히 마지막 페이지의 바닥 글 데이터를 확인 .

  1. Group Footer 끝에 필드를 추가해야합니다.
  2. 해당 필드에 이름과 값을 지정하십시오 (예 : Name = txtShowFooter, Value = False)
    값은 중요하지 않습니다. 값은 필요합니다.
  3. Page Footer 표시하거나 숨길 항목 (일반적으로 사각형의 전체 내용)에서 숨겨진 속성 인 다음 식을 =iif(IsNothing(ReportItems!txtShowFooter.Value), true, false)으로 설정합니다.

설명은 :txtShowFooter가 존재하는 페이지에있는 경우
, 당신은 Page Footer을 보여줍니다.
세부 정보 페이지에서 텍스트 상자가 존재하지 않아 바닥 글이 숨겨집니다.

다른 사람들에게 도움이되기를 바랍니다.