Как подавить заголовки страниц на пустой странице, добавленной между группами? - PullRequest
0 голосов
/ 10 января 2019

Я пытался найти ответ, но не смог. Любая помощь приветствуется.

Может кто-нибудь сказать мне, как получить пустую страницу для печати между каждой группой 1: «Сотрудник». ПОЛНОСТЬЮ ПУСТОЙ ... НИКАКИХ ЗАГОЛОВОК ИЛИ КОЛЛЕКТОРОВ?

У меня есть очень подробный отчет Crystal с несколькими группами, с верхними и нижними колонтитулами, а также верхними и нижними колонтитулами страниц. Конечным результатом является отчет, который разбивается на основе группы 1 «Сотрудник». У некоторых сотрудников будет по 1 странице, а у некоторых по 5 или 6 страниц. Мне нужна полностью пустая страница между каждой группой.

В Section Expert я установил нижний колонтитул группы 1 на «Новая страница после». Это дает мне новую страницу после каждой группы 1 «Сотрудник». Но он содержит заголовки отчета.

Я нашел здесь один ответ на аналогичный вопрос, который сказал использовать формулу ниже в Подавление заголовка отчета ...

WhilePrintingRecords;
Global BooleanVar finished;
finished := OnLastRecord AND NOT OnFirstRecord

Это не позволило печатать заголовок отчета на последней пустой странице и все равно печатать заголовок отчета на первой странице ... НО он по-прежнему печатается на каждой «пустой» странице между группами.

Я нашел другой ответ, в котором сказано попробовать следующую формулу: OnLastRecord или {ИМЯ ПОЛЯ ГРУППЫ} <> Далее ({ИМЯ ПОЛЯ ГРУППЫ})

Вот моя формула в формуле подавления заголовка отчета:

WhilePrintingRecords; Глобальный BooleanVar завершен; закончено: = OnLastRecord И НЕ OnFirstRecord или GroupName (ИМЯ}) <> Далее (GroupName ({ИМЯ})))

Я тоже пробовал:

WhilePrintingRecords;
Global BooleanVar finished;
finished := GroupName ({NAME}) <> Next(GroupName ({NAME})) 

Это дает мне сообщение об ошибке "Это поле не имеет предыдущего или следующего значения.

К вашему сведению: причина пустой страницы в том, что после обработки отчета мы импортируем его в базу данных документов. Если между каждым Сотрудником у меня есть абсолютно пустая страница, База данных автоматически разделит документ и отдельно проиндексирует документ каждого Сотрудника. Я пытаюсь устранить ручное разделение и индексацию документов.

Спасибо!

1 Ответ

0 голосов
/ 11 января 2019

Если я понял, чего вы хотите достичь, то вот оно:

  1. Создайте сводку для подсчета деталей для каждой группы.
  2. Создайте поле промежуточного итога, чтобы подсчитать детали для каждой группы.
  3. Создайте формулу, которая возвращает истину, когда оба счетчика равны.
  4. Используйте эту формулу для подавления верхних и нижних колонтитулов.
  5. Оставьте пустой раздел, чтобы быть на пустой странице.
  6. Отметьте два параметра нижнего колонтитула группы: «новая страница после» и «новая страница до».

Объяснение:

В сводке (1) всегда указывается, сколько деталей у группы (фиксировано). Поле промежуточного итога (2) сообщит, сколько деталей было «напечатано» до определенного момента. Итак, когда они оба равны, это означает, что все они напечатаны, но вы все еще в группе. Это момент, чтобы подавить заголовок.

Хорошо, это сбивало с толку. Итак, вот файл rpt . Откройте его и измените источник данных для любой базы данных и таблицы, к которым у вас есть доступ.

EDIT:

  1. Измените код подавления заголовка (с шага 4) на:
global booleanvar hidepagefooter;
hidepagefooter := {@Suppress};
{@Suppress};
  1. Используйте следующий код для подавления нижнего колонтитула страницы:
global booleanvar hidepagefooter;
hidepagefooter;
  1. Не говорите никому, что я сказал вам использовать глобальную переменную. Но ведь это Crystal Reports!

Я сделал reup файл на случай, если вам нужно взглянуть.

...