Ядро AX 2009 всегда пытается преобразовать числовые значения enum в метки в расширенном фильтре?
Начну немного издалека... Метки для значений enum'ов не всегда являются допустимыми с точки зрения использования в расширенных запросах - к примеру, в них могут содержаться круглые скобки, запятые, восклицательные знаки. Метод Global::enum2Value(), который вызывается из SysQuery::value(), "знает" об этом и в таких случаях возвращает не метку значения enum'а, а соотв. число.
Так вот, в работе формы расширенного фильтра запроса была замечена одна неприятная особенность: если в запросе есть такой "числовой" фильтр по полю типа enum, то при открытии формы фильтра его значение всегда преобразуется в метку, даже если она не является допустимым с т.з. использования в запросе, при этом еще и в инфологе вылезает "Ошибка расширенного диапазона запроса: Синтаксическая ошибка рядом с ...". Пользователей формы, где это проявляется, уже начинают порядком раздражать, объяснять им, что "левую" метку надо в фильтре перебивать обратно, скажем, на нолик, тоже как-то неудобно. Я сперва думал, может, это в приложении где делается, но найти такое место не смог, из чего сделал вывод, что самоуправством занимается ядро. Воспроизводится ли это еще у кого-нить? Может, все же это где-то в приложении делается, и можно такое преобразование подправить?
Ядро AX 2009 SP1 5.0.1500.3968, приложение AX 2009 SP1 EE RU5 5.0.1500.2985
|