powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal REport. Суммирование
5 сообщений из 5, страница 1 из 1
Crystal REport. Суммирование
    #35832774
Bobby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Вот такой вопрос! Есть отчет в кристале. Одно из полей -- формула типа :
Код: plaintext
1.
2.
3.
4.
5.
whilePrintingRecords;
if {?isnds}='1' then
  CStr ({payment.price_base}*ToNumber({?nds})/ 100 , 2 )
else 
  '0.00'
Как подбить сумму по полю и вставить в Report footer? Стандартное суммирование дает суммировать только поля таблицы. Подскажите, пожалуйста, кто может. Заранее благодарен.
...
Рейтинг: 0 / 0
Crystal REport. Суммирование
    #35834241
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BobbyВсем привет! Вот такой вопрос! Есть отчет в кристале. Одно из полей -- формула типа :
Код: plaintext
1.
2.
3.
4.
5.
whilePrintingRecords;
if {?isnds}='1' then
  CStr ({payment.price_base}*ToNumber({?nds})/ 100 , 2 )
else 
  '0.00'
Как подбить сумму по полю и вставить в Report footer? Стандартное суммирование дает суммировать только поля таблицы. Подскажите, пожалуйста, кто может. Заранее благодарен.

Стандартное суммирование не работает потому, что вы преобразуете значение в строку. Суммировать строки Crystal, естественно отказывается. Поменяйте формулу так, чтобы у вас в результате было число и все будет в порядке.
...
Рейтинг: 0 / 0
Crystal REport. Суммирование
    #35834341
гостьь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаеся три функции:
инициализация(ставится в заголовок и скрывается от показа)
Код: plaintext
1.
2.
WhilePrintingRecords;
numberVar i := 0  ;
вычисляемая и (если есть необходимость показа частичных сумм) отображаемая формула(ставится в место требуемых вычислений/отображения)
Код: plaintext
1.
2.
3.
4.
WhilePrintingRecords;
numberVar i;
if Remainder (RecordNumber, 2 )= 0  then i:=i+ 1 ;
CStr(i);
Результирующая(ставится для финального отображения)
Код: plaintext
1.
2.
3.
WhilePrintingRecords;
numberVar i;
CStr(i);
...
Рейтинг: 0 / 0
Crystal REport. Суммирование
    #35834420
Гостьь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кроме этого данную задачу можно решить с использованием "Running total fields", где в качестве аргумента суммирования нужно использовать созданную ранее функцию вычисления НДС автор({payment.price_base}*ToNumber({?nds})/100,2), а в качестве условия суммирования использовать автор{?isnds}='1' .
В случае необходимости текстового поля создать на основе "total fields" функции, которая переводит его в строку CStr({#RTotal0},2).
Я думаю для такой простой задачи "Running total fields" более предпочтительны чем формулы "времени выполнения"
...
Рейтинг: 0 / 0
Crystal REport. Суммирование
    #35835467
iNatty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
if {?isnds}='1' then
  {payment.price_base}*ToNumber({?nds})/ 100 
else 
   0 
Еще возможен такой вариант:
Как уже сказано выше - убрать перевод в строку, плюс не обязательно здесь whilePrintingRecords -
она и так прекрасно отсчитает, так как это формула, ссылающаяся на поле, а значит, отрабатывающая в секции Подробности.
После этого стандартное суммирование (опять же, как сказано выше)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal REport. Суммирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]