|
![]() |
#1 |
Участник
|
![]()
Добрый день!
Как в форме CustTrans через query отобрать записи у которых AmountCur != 0 В DataSources->CustTrans->init: X++: criteriaZeroAmount = this.query().dataSourceNo(1).addRange(fieldnum(CustTrans,AmountCur)); X++: criteriaZeroAmount.value(strFmt('!0'));
CustTrans_ds.executeQuery(); и я никак не могу придумать какое же value надо чтобы query сработал. Там видимо в базе какое-то число типа real. А надо просто спрятать в форме те записи у которых AmoutCur равен 0,00 или -0,00. ![]() |
|
![]() |
#2 |
Программатор
|
sysQuery::ValueNot(..
criteriaZeroAmount.value(sysQuery::ValueNot('0')); как то так ![]() |
|
![]() |
#3 |
NavAx
|
queryNotValue не пробовал?
__________________
Isn't it nice when things just work? |
|
![]() |
#4 |
Участник
|
Ни queryNotValue ни sysQuery::ValueNot('0') не помогло! полная форма CustTrans с -0,00 и 0,00! Там какой-то длинный real видимо...
|
|
![]() |
#5 |
Участник
|
Во-первых, надо все таки
queryNotValue(0); //без кавычек - так правильнее. во-вторых, если не работает, значит или дальше где-то фильтры очищаются, или еще чего-нить. смотрите код. Если используете Tabax, воспользуйтесь кнопкой браузера с Ctrl+Shift для просмотра текущего запроса. |
|
![]() |
#6 |
Участник
|
queryNotValue(0);
не работает! и когда смотришь какой query используется - то там Amount !0 |
|
![]() |
#7 |
NavAx
|
та-ак, пойдем от обратного. queryValue(0); правильно отрабатывает?
__________________
Isn't it nice when things just work? |
|
![]() |
#8 |
Программатор
|
a sysQuery::ValueNot(0));??
|
|
![]() |
#9 |
Участник
|
Цитата:
queryValue(0); правильно отрабатывает?
а мне надо просто НЕ выводить те, у которых в форме 0,00 или -0,00 !!! |
|
![]() |
#10 |
Участник
|
Цитата:
До записи любой суммы в основной валюте нужно использовать метод currency::amount() До записи любой суммы в валюте нужно использовать метод Currency::AmountCur() и т.п. Там несколько различных методов на разные случаи жизни. Кстати, количество тоже до записи надо округлять. Стандартный функционал всегда это делает. Подобные малые доли чреваты очень труднообнаружимыми ошибками. Ищите свои модификации. |
|
![]() |
#11 |
Злыдни
|
Если проблема с числами, у которых значения со значащими цифрами далеко от десятичного разделителя, то предлагаю округлить значение до четых знаков, а потом провести сравнение с нулем
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
![]() |
#12 |
Участник
|
А если так?
X++: this.query().dataSourceNo(1).addRange(fieldnum(CustTable, AmountCur)).value("((AmountCur<=-0.005) || (AmountCur >= 0.005))");
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: rkorchagin (1). |
![]() |
#13 |
Участник
|
AndyD
X++: .value("((AmountCur<=-0.005) || (AmountCur >= 0.005))"); |
|