Страница 1 из 1

Некорректная работа IIF

Добавлено: 15 янв 2009, 12:01
Андрей
Доброе время суток. Есть проблема следующего плана. Использую функцию IIF для проверки знаменателя на ноль, но функция все равно проверяет значения обоих веток. Сначала подумал, что где-то ошибся, но сделал банальный пример, который выдал сообщение об ошибке, хотя не должен был выдать:
{IIF(1 != 1, 1/0, 0)}
В этом примере должно было вернуться 0, а ветка 1/0 не должна была вообще обрабатываться! Помогите, пожалуйста!

Некорректная работа IIF

Добавлено: 15 янв 2009, 17:13
Edward
Здравствуйте, Андрей.

Измените, пожалуйста, Ваше выражение следующим образом:

Код: Выделить всё

{IIF(1 != 1, Div(1,0), 0)}
Спасибо.

Re: Некорректная работа IIF

Добавлено: 28 сен 2012, 16:13
banzai17
Привет! Вопрос. Почему при выполнении (или невыполнении) условия, вместо {ActReport.Car},{ActReport.Fuel} и др. не подставляются значения из источника данных?

Код: Выделить всё

{(ActReport.IsOwnerCar==true)?"Проезд определить личным автотранспортом {ActReport.Car},  расход бензина  {ActReport.Fuel}л на 100км. пути, общее расстояние ActReport.Distanse км.\r\n\tНа основании вышеизложеного прошу Вас обеспечить финансирование для оплаты командировочных расходов":"На основании вышеизложеного прошу Вас обеспечить финансирование для оплаты командировочных расходов (найма жилья, расход суточных и на проезд личным автотранспортом)."}

Re: Некорректная работа IIF

Добавлено: 01 окт 2012, 10:20
Jan
Здравствуйте,

Вот верное выражение:

Код: Выделить всё

{(ActReport.IsOwnerCar==true)?"Проезд определить личным автотранспортом" + ActReport.Car + ",  расход бензина  " + ActReport.Fuel + "л на 100км. пути, общее расстояние " + ActReport.Distanse + " км.\r\n\tНа основании вышеизложеного прошу Вас обеспечить финансирование для оплаты командировочных расходов":"На основании вышеизложеного прошу Вас обеспечить финансирование для оплаты командировочных расходов (найма жилья, расход суточных и на проезд личным автотранспортом)."}
Спасибо.

Re: Некорректная работа IIF

Добавлено: 08 окт 2012, 07:05
banzai17
Большое спасибо,Jan! Вы мне очень помогли.
А возможно ли добавить вложенное условие типа:

Код: Выделить всё

{(ActReport.IsOwnerCar==true)?"Проезд определить личным автотранспортом" + ActReport.Car + ",  расход бензина  " + ActReport.Fuel + "л на 100км. пути, общее расстояние " + ActReport.Distanse + " км.\r\n\tНа основании вышеизложеного прошу Вас обеспечить финансирование для оплаты командировочных расходов":"На основании вышеизложеного прошу Вас обеспечить финансирование для оплаты командировочных расходов ([b] ActReport.IsHouse==true?найма жилья,:""[/b] расход суточных и на проезд личным автотранспортом)."}
?

Re: Некорректная работа IIF

Добавлено: 08 окт 2012, 14:25
Aleksey
Здравствуйте,

Вот верное выражение:

Код: Выделить всё

{(ActReport.IsOwnerCar==true)?"Проезд определить личным автотранспортом" + ActReport.Car + ",  расход бензина  " + ActReport.Fuel + "л на 100км. пути, общее расстояние " + ActReport.Distanse + " км.\r\n\tНа основании вышеизложеного прошу Вас обеспечить финансирование для оплаты командировочных расходов":"На основании вышеизложеного прошу Вас обеспечить финансирование для оплаты командировочных расходов (<b>" + (ActReport.IsHouse==true ? "найма жилья," : "</b> расход суточных и на проезд личным автотранспортом).")}
Для выделения тэгами <b> и </b> необходимо включить свойство AllowHtmlTags для текстового компонента.

Спасибо.