Здравствуйте! Не могу разобраться в чем проблема Имеется следующий код в формате вывода: [IF1][CHARCOUNT]<CD_GRAN_1!>[/CHARCOUNT]>=2[THEN]DA[ELSE]NET[/IF1] А в выводе пусто, нет ни DA, ни NET. Хотя так или иначе что-то же должно отображаться. Cheers!
Во-первых оно не пустое, и выводит число взависимоти от длинны <CD_GRAN_1!>, но даже если оно пустое то значение = 0 и код должен вернуть NET
Вы забыли в скобки положить условие [IF1]([CHARCOUNT]<CD_GRAN_1!>[/CHARCOUNT])>=2[THEN]DA[ELSE]NET[/IF1] Проверил работает, значит проблема в вашем "числе зависимости от длины" PS но только если граница существует. Если граница пустая, то выводит, что "результирующий документ оказался пустым", хм.. хотя я заведомо указал несуществующую границу. PS2 хотя выводит и без скобок, значит проблема в вашей границе
Спасибо! Да, скобки там не нужны, и, верно - граница пустая. Попробуйте туда прописать любую цифру заместо [CHARCOUNT]<CD_GRAN_1!>[/CHARCOUNT] и увидите результат... PS: Всегда пользуйтесь логом при предпросмотре! Тогда подобных вопросов не возникнет. Вы можете дважды кликать по любой строке из лога (внизу, в окне предпросмотра) и вы увидите изменения кода. Там будет видно, что именно будет выведено вместо <CD_GRAN_1!> перед работой макроса IF1. Если у вас остались вопросы - пожалуйста пишите, с радостью постараемся помочь!
Ок! Действительно при [CHARCOUNT]<CD_GRAN_1!>[/CHARCOUNT] равным 4 [IF1][CHARCOUNT]<CD_GRAN_1!>[/CHARCOUNT]>=2[THEN]DA[ELSE]NET[/IF1] - работает [IF1][CHARCOUNT]<CD_GRAN_1!>[/CHARCOUNT]>=0[THEN]DA[ELSE]NET[/IF1] - не работает. Изначально у меня был 0 в первом сообщении (потом я его отредактировал) т.к. нет смысла сравнивать с нулем если <CD_GRAN_1!> не пусто. Конкретно в моей задаче я бы хотел использовать условие: если нашелся <CD_GRAN_1!> то парсим <CD_GRAN_1!>, если <CD_GRAN_1!> пусто то парсим <CD_GRAN_2!>. [IF1][CHARCOUNT]<CD_GRAN_1!>[/CHARCOUNT]>=0[THEN]<CD_GRAN_1!>[ELSE]<CD_GRAN_2!>[/IF1] - что-то вроде этого Для меня было логичным использовать IF в этой ситуации, тогда подскажите, пожалуйста, как мне решить такую задачу без IF Заранее спасибо, уважаемые знатоки! =)
2 Kreol: Думаю, задача и так описана подробно, просто не вникли... Вникнуть тоже не всегда легко... 2 Nevil: Либо: в "дополнительные настройки границ парсинга" (на панели инструментов главного окна программы) в поле "если граница окажется пустой..." вставить 1 и сравнивать: [IF1][CHARCOUNT]<CD_GRAN_1!>[/CHARCOUNT]>1[THEN]DA[ELSE]NET[/IF1] Либо в то же окно ("если граница окажется пустой...") вставить <CD_GRAN_2!> С уважением к вам, Сергей.
Все-таки проверил код (вставлял в шаблон вывода) [IF1][CHARCOUNT]<CD_GRAN_1!>[/CHARCOUNT]>1[THEN]DA[ELSE]NET[/IF1] Такой код не отображает NET при условии, что <CD_GRAN_1!> не найдено на странице! [CHARCOUNT]<CD_GRAN_1!>[/CHARCOUNT] выведет 0, но [IF1] не отдаст NET А вот если <CD_GRAN_1!> найдено то [IF1] работает корректо [IF1][CHARCOUNT]<CD_GRAN_1!>[/CHARCOUNT]>100[THEN]DA[ELSE]NET[/IF1] отдает ДА и НЕТ в зависимости от длины.