Выражение в итогах

отредактировано 20:21 Раздел: FastReport .NET
Здравствуйте,

столкнулись со следующей проблемой: в Итогах в ячейке "Поле данных или выражение" ввожу выражение вида ADOQuery.Qty]*[ADOQuery.Amount, в результате ошибка: "Недопустимый терм "[" в выражении". Какого вида выражение не вызовет ошибку?

Комментарии

  • отредактировано 20:21
    Здравствуйте, попробуйте так:
    [<ADOQuery.Qty>*<ADOQuery.Amount>]
  • отредактировано 20:21
    Также Qty и Amount должны быть в кавычках, выражение должно выглядеть так:
    [<ADOQuery."Qty">*<ADOQuery."Amount">]
  • отредактировано November 2009
    нет, в .Net такое не прокатывает.
    обратите внимание на раздел форума.
    в fr3 такое работало, здесь все по-другому.
  • отредактировано 20:21
    Тогда еще проще:
    [ADOQuery.Qty]*[ADOQuery.Amount]
  • отредактировано 20:21
    Да, внешняя пара скобок в выражении не нужна.
  • отредактировано 20:21
    в этом случае данные воспринимаются как String, то есть получаем такой результат в ячейке: 3*2, вместо 6.
  • отредактировано 20:21
    Если выражение помещается в объект "Текст", скобки нужны.
    http://fast-report.com/documentation/UserM...expressions.htm

    В других местах (например, выражение фильтрации в бэнде "Данные", выражение группировки в группе и т.п.) внешние скобки не нужны.
    http://fast-report.com/documentation/UserM...expressions.htm
  • отредактировано 20:21
    Судя по тому, что написано по указанным ссылкам:
    написал:
    Например, объект со следующим текстом:
    2 * 2 = [2 * 2]
    будет напечатан так:
    2 * 2 = 4
    Частая ошибка – попытка написать выражение за пределами квадратных скобок. Напоминаем, что считается выражением и вычисляется только то, что находится в квадратных скобках. Остальной текст печатается "как есть". Например:
    2 * 2 = [2] * [2]
    Такой текст будет напечатан следующим образом:
    2 * 2 = 2 * 2
    и по собственному отчету, делаю вывод, что скобки нужны. Без скобок у меня выводится такое выражение:
    20*30/100

    Вот такой вариант работает: [[ADOQuery1.Qty]*[ADOQuery1.Price]*ToInt32([ADOQuery1.Taxes])/100]
    НО: работает только в Memo, если я ввожу это выражение в Итогах, то мне выдается ошибка, указанная в первом посте. В Итогах такие выражения работают?
  • отредактировано 20:21
    В мемо скобки нужны. В любых других местах, где требуется выражение, внешняя пара скобок не нужна, т.е. правильно так:
    [ADOQuery1.Qty]*[ADOQuery1.Price]*ToInt32([ADOQuery1.Taxes])/100

  • отредактировано 20:21
    да, к этому и пришли)
    спасибо!!!

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.