SSRS Повтор определенных групп и страниц

Я борюсь с проблемой в SSRS. Я создал счет клиента, который хорошо выглядит в средстве просмотра отчетов, однако его необходимо настроить для печати определенным образом.

Этот отчет состоит из 4 основных элементов.

  1. Верхний колонтитул, это необходимо повторять на каждой второй странице, если детали счета + нижний колонтитул не помещаются на первой странице.
  2. Детали счета, это необходимо повторять на каждой второй странице, если детали счета и нижний колонтитул не помещаются на первой странице.
  3. Нижний колонтитул, это необходимо повторять на каждой второй странице, если детали счета и нижний колонтитул не помещаются на первой странице.
  4. Оборотная сторона страницы (информация о платеже, например, выписка из банка), это необходимо повторять на каждой второй странице без заголовка, сведений о счете или нижнего колонтитула.

Это вообще возможно? Если нет, то конечный пользователь согласился с тем, что первые 3 части счета-фактуры должны повторяться по мере необходимости, а только последняя страница должна быть платежной информацией.

заранее спасибо


person Easy987us    schedule 13.10.2015    source источник


Ответы (1)


Заставить верхний и нижний колонтитулы отчета повторяться на каждой странице должно быть довольно просто.

Теперь, если у вас есть дополнительная информация помимо содержимого отчета, которую вы хотите повторить на каждой странице, вы можете сделать следующее:
Как вы, вероятно, уже знаете, при использовании табликса можно повторять строки заголовка таблицы на каждой странице. Это можно использовать в наших интересах, добавив Tablix с одним столбцом и заставив его охватывать размер страницы, и в строках заголовка, и в строках данных вы добавляете прямоугольники, чтобы он действовал как тело отчета. В строке заголовка вы можете добавить любые данные/текст, которые хотите повторить на следующих страницах.

Теперь, когда вы хотите, чтобы на обратной стороне страниц был текст, вы, вероятно, не хотите, чтобы это повторялось на каждой странице. Поскольку оборотная сторона страниц всегда представляет собой одни и те же статические данные, вы можете просто сгенерировать свой отчет так, как он настроен прямо сейчас, и вставить статическую страницу между страницами отчета.

Чтобы выполнить последнюю часть, вы можете использовать такой код:

String inputFilePath1 = @""; //back of page
String inputFilePath2 = @""; //report
String outPutFilePath = @""; //final report

PDFDocument doc1 = new PDFDocument(inputFilePath1);
PDFDocument doc2 = new PDFDocument(inputFilePath2);

// Get a page from the first document. -> back of page
PDFPage page = (PDFPage)doc1.GetPage(0);

for(int i = 1; i <= doc2.PageCount; i++)
{
   if (i % 2 == 1)
   {
      // Insert the page to the second document at specified position.
      doc2.InsertPage(page, i);
   }
}

// Output the new document.
doc2.Save(outPutFilePath)
person Oceans    schedule 13.10.2015