15.03.2005, 17:43 | #1 |
Участник
|
На таблицу товары наложен фильтр на поле типа децимал. Мне необходимо программно проверить лежит ли значение моей переменной(децимал) в этом диапазоне или нет. Не пойму как это сделать. Хотел использовать GetRangeMax(Min), но это не подойдет, т.к. в фильтре может использоваться ИЛИ. Would you like to help me, please?
__________________
MBS Certified Master in Navision Developer |
|
15.03.2005, 18:04 | #2 |
Moderator
|
1) Обрабатываешь строку с входным фильтром. При этом все найденные числа в строке умножаешь на 10, 100 или 1000 (в завимости от нужной тебе точности знаков после запятой). Поясняю на примере:
юзер задал фильтр "12.5..14.82|225..630.01" ты преобразовываешь его в "1250..1482|22500..63001" 2) Используя таблицу Integer(2000000026) ставим преобразованный фильтр на нее и проверяем вхождение твоей переменной |
|
15.03.2005, 18:25 | #3 |
Участник
|
Роман, надо завести временную таблицу TmpRec, используя в качестве структуры данных любую таблицу, содержащую поле типа Normal Decimal.
Вставить в неё запись, определив это десятичное поле своим значением. Перенести на это поле фильтр из фильтра на таблице товар. TmpRec.IsEmpty() вернет НЕТ, если число попадает под условия фильтра. |
|
15.03.2005, 18:46 | #4 |
Moderator
|
2Wizard
Хороший вариант |
|
16.03.2005, 14:28 | #5 |
Участник
|
Да, Wizard, опять спасибо. Использовал ваш метод.
__________________
MBS Certified Master in Navision Developer |
|
16.03.2005, 14:45 | #6 |
Участник
|
Роман, участиники, не стесняйтесь добавлять респекты тем, чьи ответы вам понравились.
|
|