Распечатайте несколько копий на одном листе.Crystal Reports..СЕТЬ - PullRequest
0 голосов
/ 24 октября 2011

Использование Crystal Reports и .NET У меня есть требование, где мне нужно напечатать 2 копии одного и того же отчета на каждом листе. Я могу сделать это, используя два подотчета, установив для CanGrow значение false, но это не работает, поскольку мой отчет может содержать более одной страницы, а CanGrow просто обрезает остальную часть отчета. Если для параметра CanGrow установлено значение false, два отчета будут перекрываться или печататься один за другим. Я также попытался сделать двойной отчет: верхний колонтитул - подробности - нижний колонтитул и верхний колонтитул - подробности - нижний колонтитул снова (повторяя ту же информацию), но кристаллические отчеты не позволяют мне иметь несколько разделов подробностей (с нижними колонтитулами между ними).

Я могу воспроизвести то, что хочу, используя MsWord, в настройках печати изменив настройку принтера «печать нескольких копий» на 2, а затем набрав и установив диапазон страницы на «Страница: 1,1,2,2, 3,3,4,4 ... ", но API печати из Crystal Reports не позволит мне изменить эти параметры, даже не API печати из .NET, поэтому я использую Native Win32 API, но даже если я в состоянии сделать это с Win32, я не знаю, как заставить Crystal Reports использовать мои функции печати. ​​

Я довольно новичок в Crystal Reports, так что, возможно, есть простое решение для этого. Если кто-то может помочь.

Ответы [ 2 ]

1 голос
/ 26 октября 2011

Я думаю, что вроде как решил. Я создал два отчета: «Оригнал» и «Копировать» и исключил все разделы, кроме раздела «Детали», и добавил группу, используя упомянутый здесь обходной путь:

http://www.c -sharpcorner.com / UploadFile / Махеш / SubReportPH10062006160749PM / SubReportPH.aspx

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

Я поместил всю информацию заголовка в заголовок группы, а информацию нижнего колонтитула отчета - в нижний колонтитул группы (другие разделы использовать нельзя, поскольку они не соответствуют требуемому интервалу, что является основным недостатком этого обходного пути) и ограничить раздел сведений количеством записей, которые будут занимать только половину страницы. В копии версии я добавил пробел в заголовке, равный половине страницы. Затем я создал отчет, в котором будут храниться оба вложенных отчета со всеми подавленными разделами и только одним подробным разделом, и добавил оба вложенных отчета один над другим. Это напечатает второй подотчет в нижней части страницы, оставляя место от его заголовка для печати первого подотчета наверху, я до сих пор не знаю, как повторить раздел основы на каждой странице, но я думаю, что не нужно это.

1 голос
/ 24 октября 2011

Я думаю, вам нужно будет сохранить свой подотчет таким, каким он есть, с подробностями отчета, которые вы хотите скопировать, но вы не можете поместить два экземпляра подотчета в один и тот же раздел и ожидать, что они будут правильно размещены,Вам нужно будет использовать второй подробный раздел в своем основном отчете для второго подотчета, тогда они не должны перезаписывать друг друга.Обе подробные секции должны содержать cangrow = true set.


ОК, все, что вам нужно, это 2 отчета, один из которых отформатирован так, как клиент хочет (верхние и нижние колонтитулы и т. Д.) Использовать в качестве подотчета,и один без каких-либо верхних и нижних колонтитулов, но 2 подробных раздела с cangrow = true и экземпляр подотчета в каждом подробном разделе.Я не уверен, почему вы хотите новую страницу после 5 записей, но попробуйте убрать ее и посмотреть, сможете ли вы напечатать один и тот же вложенный отчет дважды в основном отчете.

...