05.03.2013, 16:34 | #1 |
Участник
|
Сортировка на форме с учётом регистра
Добрый день.
Столкнулся с такой задачей: в нашей системе есть форма для подбора номенклатуры, и номенклатуры на ней отсортированы по наименованию в алфавитном порядке. Но проблема в том, что в старой КИС сортировка была с учётом регистра, а в Ax всё сортируется без учёта регистра. Есть ли возможность в Ax сортировать данные на форме с учётом регистра? Поиском не нашёл, если обсуждалось уже - ткните носом, пожалуйста. |
|
05.03.2013, 16:39 | #2 |
Участник
|
создайте другое числовое поле для сортировки
|
|
05.03.2013, 16:40 | #3 |
Участник
|
А как заполнять это поле? Т.е. каким-то образом в коде можно сортировать case sensitive?
|
|
05.03.2013, 16:59 | #4 |
Axapta
|
Программно... Джобиком... Но лучше сразу приучить пользователей к тому, что это другая система со своими ограничениями. Иначе так и будете делать из Аксапты "старую КИС".
|
|
05.03.2013, 17:14 | #5 |
Участник
|
Понятно, что Джобиком. Или классиком. Вопрос как сделать выборку данных с сортировкой по строковому полю с учётом реестра?
|
|
05.03.2013, 18:34 | #6 |
Ищущий знания...
|
Цитата:
сорри! lower это приведение к нижнему регистру, ПОПУТАЛ!
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 05.03.2013 в 18:42. |
|
05.03.2013, 18:51 | #7 |
----------------
|
я бы посмотрел в сторону SQL, так как именно там определяется case-insensitive
|
|
05.03.2013, 21:55 | #8 |
Участник
|
Для заполнения вспомогательного столбца можно придумать хеш функцию, которая будет преобразовывать строку, содержащую символы разного регистра в строку по которой уже можно будет проводить регистронезависимую сортировку. Простое решение в лоб: добавить после каждого символа информацию о его регистре.
Т.е. например для строки "abA" = "a0a0a1" "AbA" = "a1b0a1" конечно для хранения такого хеша прийдётся предусмотреть в два раза более длинную строку, но зато при вводе очередного значения не прийдётся сравнивать его с остальными. |
|
|
За это сообщение автора поблагодарили: Pustik (1), Logger (3). |
05.03.2013, 23:07 | #9 |
северный Будда
|
У меня как-то сразу возник вопрос перпендикулярного характера
Аксапта - ERP для достаточно большой организации, в которой номенклатурный справочник обычно насчитывает тысячи позиций. В то же время даже расширенная по самое "немогу" форма выведет на экран максимум несколько десятков строк. Соответстенно - зачем нужна сортировка ВСЕГО справочника, если 99% отсортированной инфы всё равно не видно и не будет видно? Лучше приучайте пользователей юзать поиск по маске. Когда на экране 7-8 строк - никакая особая сортировка не нужна
__________________
С уважением, Вячеслав |
|
06.03.2013, 09:58 | #10 |
Участник
|
Цитата:
Сообщение от mikki_messer
Добрый день.
Столкнулся с такой задачей: в нашей системе есть форма для подбора номенклатуры, и номенклатуры на ней отсортированы по наименованию в алфавитном порядке. Но проблема в том, что в старой КИС сортировка была с учётом регистра, а в Ax всё сортируется без учёта регистра. Есть ли возможность в Ax сортировать данные на форме с учётом регистра? Поиском не нашёл, если обсуждалось уже - ткните носом, пожалуйста.
__________________
// no comments |
|
06.03.2013, 10:08 | #11 |
Участник
|
Я бы рекомендовал сначала "потренироваться на кошках" для изменения Collation. Вполне вероятно, что после изменения Collation база вообще станет неработоспособной. В частности, код компании в таблице компаний может быть большими буквами, а поля DataAreaId в других таблицах принудительно переводятся в нижний регистр. Придётся все такие связи проверить и принудительно перевести в нужный регистр.
|
|
06.03.2013, 10:49 | #12 |
Участник
|
Я бы рекомендовал вообще не тратить время на такие причуды пользователей и сказать им жесткое "нет"
Согласен с Михаилом, что выборка многих данных может "испортиться". Если проверка пароля еще требует регистрозависимого поиска в БД, то особая сортировка того просто не стоит.
__________________
// no comments |
|
06.03.2013, 11:30 | #13 |
Модератор
|
Цитата:
Цитата:
Сообщение от Dynamics AX 2012 system requirements
Microsoft Dynamics AX supports Unicode collations that are case-insensitive, accent-sensitive, kana-sensitive, and width-insensitive. The
collation must match the Microsoft Windows locale of the computers that are running instances of the AOS
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: mikki_messer (1). |
06.03.2013, 16:34 | #14 |
Участник
|
Я так и думал. Спасибо!
|
|