Как написать скрипт?

4Q!4Q!
отредактировано 16:25 Раздел: FreeReport
Из программы передаю в отчет результат запроса - три поля. в зависимости от содержимого одного поля нужно вывести в отчет одно из других.

Перепробовал кучу вариантов, ничего не работает.

if([Q2."custname"]<>'',[Q2."custname"],[Q2."name_org"]) - не работает.

begin
if [Q2."custname"]<>''
then [Q2."custname"]
else [Q2."name_org"]
end

тоже не работает.

В документации написано что должно дескать работать. но никак. Может потому что у меня Builder?

Комментарии

  • 4Q!4Q!
    отредактировано 16:25
    Ау! Что, никто не знает?
  • 4Q!4Q!
    отредактировано 16:25
    4Q написал: »
    Ау! Что, никто не знает?
    :) Никто не знает..
  • xlaalaaxlaalaa Минск
    отредактировано 16:25
    4Q написал: »
    :) Никто не знает..

    FreeReport - не пользуюсь. Но что подсказывает, что нужно IIF писать.
    iif([Q2."custname"]<>'',[Q2."custname"],[Q2."name_org"])
    
  • NeoNeo
    отредактировано 16:25
    В поле Script пишешь код:

    begin
    if [Q2."custname"]<>''
    then sss:= [Q2."custname"]
    else sss:=[Q2."name_org"]
    end

    В поле Memo пишешь [sss]

    В этом коде переменная sss-виртуальная и не требует объявления.
    Не забудь в окне кода поставить "галочку" напротив "Script".

    Возможно прийдётся написать код, который будет исполняться раньше и
    инициализировать виртуальную переменную, написав скрипт sss:='' (для случая текстовой переменной)
    или sss:=0 (для случая числовой переменной)
  • 4Q!4Q!
    отредактировано 16:25
    Neo написал: »
    В поле Script пишешь код:

    begin
    if [Q2."custname"]<>''
    then sss:= [Q2."custname"]
    else sss:=[Q2."name_org"]
    end

    В поле Memo пишешь [sss]

    В этом коде переменная sss-виртуальная и не требует объявления.
    Не забудь в окне кода поставить "галочку" напротив "Script".

    Возможно прийдётся написать код, который будет исполняться раньше и
    инициализировать виртуальную переменную, написав скрипт sss:='' (для случая текстовой переменной)
    или sss:=0 (для случая числовой переменной)

    Вау! Спасибо! Огромное! Такую комбинацию я не пробовал, сейчас сделал и получилось, работает!

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

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