Всякий раз, когда вы хотите использовать переменные переменные, вероятно, лучше использовать словарь. Поэтому вместо записи
$foo = "bar"
$$foo = "baz"
вы пишете
mydict = {}
foo = "bar"
mydict[foo] = "baz"
Таким образом, вы не будете случайно перезаписывать ранее существовавшие переменные (что является аспектом безопасности), и вы можете иметь разные " Пространства имен». [/ д2]
Проблема заключается в том, что @InitVars находится в заголовке страницы, а не в заголовке отчета. Он переустанавливает переменную на 0 в верхней части каждой страницы.
Перемещение @InitVars в заголовок отчета исправило его, поэтому в подзадаче в Details az появляется правильный номер.
Я по-прежнему вижу некоторое нечетное поведение, когда включаю переменную в основной отчет, но поскольку это было только для отладки, а не для главной цели, мне все равно.
У меня смутная память, что мне сейчас трудно обосновать общие переменные, не переходящие из подрепортажа. Все еще смотрящий; Хорошо, что в пятницу днем.
Редактировать: я не могу найти то, что искал, поэтому общая мысль. Проверьте время оценки и убедитесь, что последующий раздел основного отчета оценивается после подзаголовка (WhilePrintingRecords может быть вашим другом здесь).
Из статьи Добавление вспомогательных отчетов, поиск итоговых сумм и общее количество (в основной отчет) :
Crystal Reports - это приложение для бизнес-аналитики, используемое для проектирования и генерировать отчеты из широкого спектра источников данных. Sub Reports - это дочерние отчеты основного отчета, которые могут быть встроены в основной отчет. Суб-отчеты очень полезны для составления отчетов.
Добавление вспомогательных отчетов находит общую и общую сумму каждого дополнительного отчета в основном отчете
Основной отчет
Sub Report 1
Sub Total: sum (LabTotal)
Sub Report 2
Sub Total: sum (ItemTotal)
Grand Всего
Под-отчеты являются очень полезной опцией в отчете о кристаллах. Предположим, мы хотим найти
Добавление отчета Crystal
- Добавить новый элемент-> Отчет Crystal
- Если мы хотим создать Crystal Report, выберите наш собственный формат «Как пустой отчет» из галереи Crystal report
- Щелкните правой кнопкой мыши по «полям базы данных» в полях базы данных и выберите таблицы из базы данных, затем создайте ссылки (если необходимо)
- вправо Нажмите «Подробности» и добавьте дополнительный отчет.
- Повторите то же самое, что мы сделали в основном отчете, и перетащите необходимые поля в дополнительный подраздел отчета детали
Например: мы создаем отчет о труде, общий объем рабочей силы можно рассчитать как
В поле формулы - имя LabTotal
WhilePrintingRecords; Shared NumberVar LabTotal: = Sum ({PC_LABOUR_DETAILS.Total})
({PC_LABOUR_DETAILS) - таблица Total --- field
и добавлена сумма LabTotal в поле подгонки
Если у нас есть еще один дополнительный отчет, чтобы добавить ион на главную страницу, снова щелкните правой кнопкой мыши на разделе «Подробности» и добавьте новый раздел -> Подробности (b) И повторите шаги 4 и 5. Здесь мы добавляем второй суб-отчет по материалу и субтоталю материалов можно окупить как
В поле формулы -name ItemTotal
WhilePrintingRecords; Shared NumberVar ItemTotal: = Sum {PC_MATERIAL_DETAILS.Total})
({PC_MATERIAL_DETAILS) -table Total - поле
и добавляет сумму ItemTotal в поле sub total
Основной отчет
Чтобы найти общее количество обоих подписок
В поле Название формулы - GrandTotal
WhilePrintingRecords; Общий элемент NumberVar ItemTotal; Общий NumberVar LabTotal; NumberVar TotalAmount; TotalAmount: = ItemTotal + LabTotal; TotalAmount
blockquote>