Crystal Reports - моя формула работает, но при повторении в более чем 1 подотчете все записи исчезают - PullRequest
1 голос
/ 12 августа 2011

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

У меня есть работа, состоящая из 3 разных работ (3 из 5, что является максимальной работой, которую я могу иметь для работы).В моей базе данных SQL табличное поле, соответствующее этим работам, - job.phase, поэтому, когда я добавляю в подробности своего отчета поле "job.phase", я получаю 3 строки для этого задания.

Дело в том, что в моей распечатке отчета всегда должны отображаться 5 различных текстовых объектов (один под другим), соответствующих описаниям всех 5 возможных таблиц table.field-records, и рядом с текстовыми объектами должен появляться символ «X», когда каждыйодна из перечисленных работ является частью моей работы (иначе ничего не должно появиться).

Я сделал следующее: - создал подотчет, содержащий поле «job.phase» - поместил его рядом с моим первым текстовым объектом - указал в моем подотчете следующую формулу «show string»: если job.phase = 'working1', тогда 'X' else '' , и он работает: X появляется, если working1 является частью моей работы, ничего не появляется, если working1 не является частью моей работы.Затем я создал еще 4 подотчета, равных первому, и указал их для job.phase = working2, working3, working4 и working5, НО , после этого X не отображается (хотяработа 1, 2 и 3 - часть моей работы) ...

Кто-нибудь может мне помочь, пожалуйста?Это так расстраивает ...

1 Ответ

1 голос
/ 13 августа 2011

Использование вложенных отчетов для чего-то подобного является излишним для того, что вы пытаетесь сделать, и может привести к тому, что любое количество вещей будет вести себя плохо.Я бы порекомендовал вам отказаться от этой идеи.Вот как я бы это сделал:

Первое, что вы захотите сделать, - это группировать по заданию (если в вашем отчете появится более одного, что, я полагаю, будет).В разделе «Нижний колонтитул группы» можно отображать метки и X.Вам нужно будет создать 5 формул, как вы делали это до if {job.phase} = "working1" then "X", по одной для каждой фазы / работы.Перетащите все 5 этих формул в раздел «Сведения» отчета, а затем отключите весь этот раздел, чтобы он не отображался.

Чтобы отобразить X, вы можете использовать Максимальный итог в нижнем колонтитуле группы для каждогоиз пяти формул, которые вы создали.Для этого щелкните правой кнопкой мыши каждую из формул по очереди, выберите Вставить -> Сводка.Выберите Максимум в качестве сводки и «Группа 1» (Ваш идентификатор задания или любое другое поле, которое вы используете для группировки задания) в качестве Местоположения.Это вставит поле в нижний колонтитул группы, в котором будет отображаться буква X, когда для работы указана конкретная работа, иначе ничего не будет отображаться.Переместите их, чтобы отобразить рядом с соответствующей меткой / текстовым полем, и все готово.

...