Страница 1 из 1

Новый трабл при склейке отчётов (пакетная печать)

Добавлено: 29 июл 2009, 10:11
Леонид
Простой пример кода:

Код: Выделить всё

    private StiReport GetReport(string name)
    {
      StiReport report = new StiReport();
      report.Load(name);
      return report;
    }

    private void Form1_Shown(object sender, EventArgs e)
    {
      StiReport report1 = GetReport("Накладная торг 12.mrt");
      StiReport report2 = GetReport("Счёт-фактура.mrt");

      stiReport1.SubReports.Add(report1, true, false);
      stiReport1.SubReports.Add(report2, true, false);
      stiReport1.Render(false);
    }

При запуске приложения почему-то страницы накладываются друг на друга.
Причём, если в каждом из двух отчётов только под одной странице, то всё нормально.
Если в одном из отчётов больше одной страницы (в частности в счёте-фактуре получилось 2 страницы), а
в накладной одна.
Накладная при этом выводится нормально, счёт при этом выводится не полностью (см. вложение Пакетная печать.tif).

Два шаблона файлов отчёта в приложении.

Дополнения к посту.

Конкретно, в счёте (в данном случае он приклеивается к накладной) не печатается band с именем ЗаголовокСтраницы1.
Если у этого же счёта у band'а ЗаголовокДанных1 ставим свойство Print on в Only First Page, то он (заголовок данных) не печатается на второй (и последующих) странице (ах), а если Print on == All Pages, то печатается.

Иными словами, создаётся впечатление, что свойство Print on работает как-то неправильно, если отчёт не один, т.е. когда один отчёт добавляем к другому (в данном случае счёт добавляем к накладной), генератор отчётов думает, что это один отчёт и накладывается один на другой без учёта свойства Print on.

:surr:

Новый трабл при склейке отчётов (пакетная печать)

Добавлено: 30 июл 2009, 07:17
Леонид
Дополнения к посту.

Конкретно, в счёте (в данном случае он приклеивается к накладной) не печатается band с именем ЗаголовокСтраницы1.
Если у этого же счёта у band'а ЗаголовокДанных1 ставим свойство Print on в Only First Page, то он (заголовок данных) не печатается на второй (и последующих) странице (ах), а если Print on == All Pages, то печатается.

Иными словами, создаётся впечатление, что свойство Print on работает как-то неправильно, если отчёт не один, т.е. когда один отчёт добавляем к другому (в данном случае счёт добавляем к накладной), генератор отчётов думает, что это один отчёт и накладывается один на другой без учёта свойства Print on.

:surr:

Новый трабл при склейке отчётов (пакетная печать)

Добавлено: 30 июл 2009, 11:35
Edward
Здравствуйте,

Замените, пожалуйста, ЗаголовокСтраницы1(PageHeader, PrintOn = only first page) на ReportTitleBand.

Спасибо.

Новый трабл при склейке отчётов (пакетная печать)

Добавлено: 31 июл 2009, 05:28
Леонид
Заменил PageHeader1 на ReportTitleBand1 (в нём поставил свойство Print on в Only first page) в обоих отчётах - эффект тот же самый, т.е. первый отчёт печатается как надо, а все последующие неправильно. Замечу, что когда оба отчёта одностраничные, то всё печатается, как надо, если многостраничные - начинаются какие-то чудеса.

Переделанные (с заменёнными PageHeader на ReportTitleBand) отчёты в приложении.

Новый трабл при склейке отчётов (пакетная печать)

Добавлено: 07 авг 2009, 09:54
Ivan
Здравствуйте.
leon писал(а):Заменил PageHeader1 на ReportTitleBand1 (в нём поставил свойство Print on в Only first page) в обоих отчётах - эффект тот же самый, т.е. первый отчёт печатается как надо, а все последующие неправильно. Замечу, что когда оба отчёта одностраничные, то всё печатается, как надо, если многостраничные - начинаются какие-то чудеса.
Пожалуйста, отредактируйте ваш отчет "Счёт-фактура_2.mrt" следующим образом:
- у бэнда "ReportTitleBand1" установите свойство PrintOn в AllPages,
- у бэнда "ЗаголовокДанных1" установите свойство PrintOn в AllPages,
- у бэнда "ЗаголовокДанных1" установите свойство PrintOnAllPages в false.

Спасибо.