Значение переменной

mvbmvb Казань
отредактировано 01:41 Раздел: FastReport 4.0
ФР 4.3

в редакторе отчетов создал переменную _VAR1
вставил ее в мемо как [_VAR1]

пишу код:

procedure Memo23OnBeforePrint(Sender: TfrxComponent);
begin
if <FIBQuery1."IS_LESS"> = 1 then
set('_VAR1', 'увеличилась уменьшилась') else
set('_VAR1', 'увеличилась уменьшилась');
end;

при открытии отчета (неважно, designreport или showprepared) вылазит ошибка (вложение)

Комментарии

  • mvbmvb Казань
    отредактировано August 2007
    решил сам
         if <FIBQuery1."IS_LESS"> = 1 then
          set('_VAR1', '''увеличилась уменьшилась''') else
          set('_VAR1', '''увеличилась уменьшилась''');
    
  • mvbmvb Казань
    отредактировано August 2007
    новая проблемка в этом же месте: независимо от значения <FIBQuery1."IS_LESS"> всегда выполняется вторая строка. Значение 1 есть точно. Может где-то в другом месте надо инициализировать переменную _VAR1? Пробоал в Memo.AfterData - переменная вообще пустая (то ли датасет закрыт, то ли вообще в обработчик парсер не заглядывает).

    код
         if <FIBQuery1."IS_LESS"> = 1 then
          set('_VAR1', '''увеличилась [u]уменьшилась[/u]''') else                                            
          set('_VAR1', '''[u]увеличилась[/u] уменьшилась''');
    
  • gpigpi
    отредактировано 01:41
    Попробуйте сделать с использованием скриптовой переменной
  • mvbmvb Казань
    отредактировано 01:41
    gpi написал: »
    Попробуйте сделать с использованием скриптовой переменной

    это как? че та не соображу :)
  • gpigpi
    отредактировано August 2007
    var _VAR1: string;
    procedure Memo23OnBeforePrint(Sender: TfrxComponent);
    begin
    if <FIBQuery1."IS_LESS"> = 1 then
      _VAR1:= 'увеличилась [u]уменьшилась[/u]' 
    else
      _VAR1:= '[u]увеличилась[/u] уменьшилась'; 
    end;
    
  • mvbmvb Казань
    отредактировано 01:41
    так вообще ничего не выводится...
  • gpigpi
    отредактировано 01:41
    Можно взглянуть на шаблон отчёта?
  • mvbmvb Казань
    отредактировано 01:41
    давай мыло
  • gpigpi
    отредактировано 01:41
    См. ПМ. Также можно приложить файл к сообщению на форуме
  • mvbmvb Казань
    отредактировано 01:41
    gpi написал: »
    См. ПМ. Также можно приложить файл к сообщению на форуме

    отправил на мыло
  • mvbmvb Казань
    отредактировано 01:41
    Все, разобрался, <FIBQuery1."IS_LESS"> возвращало булевы значения (true, false), достаточно было убрать сравнение с единицей:

    if <FIBQuery1."IS_LESS"> then
    ...............
  • mvbmvb Казань
    отредактировано 01:41
    это прикол ФИБплюса, для доменов, в имени которых есть "boolean", формируется объект не целого типа, а ftBoolean...
  • отредактировано 01:41
    У меня в шаблоне (fr3) отчета есть Memo-поле, у которого в свойствах на закладке Text вписано: [m26t]
    В закладке Code шаблона отчета вписал:
    var   m26t : Double;  
    procedure Memo26OnBeforePrint(Sender: TfrxComponent);
    begin
       m26t := 5;
    //   m26 := <SUM(<ADOTable1.""Оборот ДЗ"">, MasterData1)>;         
      if <SUM(<ADOTable1.""Сумма оплаты"">, MasterData1)> = NULL then  
        m26t := 10                
      else
        m26t : = 7              
      end;  
    end;
    
    При выполнении выскакивает окошечко со словами:
    The following error(s) have occured:

    Script error at 9:12: '=' expected

    Что делать ?
  • отредактировано 01:41
    пробел между : и = ?

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

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