Показать сообщение отдельно
Старый 29.06.2009, 14:02   #11  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
650 / 352 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
X++:
public static str range(anytype _from, anytype _to)
{
    return queryValue(_from) + '..' + queryValue(_to);
}
метод queryValue возвращает метод SysQuery::value(a), а метод value имеет вид:
X++:
    t = typeof(a);
    switch (t)
    {
        case Types::ENUM:
            return enum2Value(a); // енум не вернет пустую строку
        case Types::REAL:
            return num2str(a,0,16,1,0); // тоже самое для вещественных чисел
        case Types::DATE:
            return strFmt('\"%1\"',a);  // дата в кавычках
        case Types::STRING,
             Types::RSTRING,
             Types::VARSTRING:
        {
            s = a;
            if (!s)
                return SysQuery::valueEmptyString(); // пустая строка также заключается в кавычки

            return strFmt('%1',doEscape(s));  // только если строка непустая
        }
        default:
            return strFmt('%1',a); // если тут подберете что-нить, что вернет пустую строку, то вам памятник поставим
    }
поэтому SysQuery::range(3, ?) никогда не вернет значение "3.."