AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.01.2008, 15:48   #1  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Название номенклатуры отображается маленькими буквами
Название номенклатуры отображается маленькими буквами. Форма подобна остаткам но добавлены свои поля. В стандартной форме название номенклатуры отображается нормально. В чём может быть причина?
Старый 21.01.2008, 15:52   #2  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Посмотри значение свойства ChangeCase для проблемного объекта формы
Старый 21.01.2008, 16:59   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Beast-L Посмотреть сообщение
В чём может быть причина?
У нас, с базой на Oracle, такое происходит после выполнения в Аксапте операции group by.

P.S. Поиск по форуму по строке "маленькие буквы" выдает еще такую тему с объяснением mazzy: Почтовые индексы
Старый 21.01.2008, 17:04   #4  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
База оракловая, группировка аналогичная стандартной форме остатков тоесть в зависимости от отображения аналитик, свойство изменения регистра установлено в авто.
Старый 21.01.2008, 17:13   #5  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
В стандартной форме название номенклатуры выводится дисплэй-методом.

У вас точно также или в виде поля БД для поиска и сортировки?
__________________
С уважением,
glibs®
Старый 21.01.2008, 17:36   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Gustav Посмотреть сообщение
У нас, с базой на Oracle, такое происходит после выполнения в Аксапте операции group by.

P.S. Поиск по форуму по строке "маленькие буквы" выдает еще такую тему с объяснением mazzy: Почтовые индексы
Это только для ключевых полей.
Наименование вряд ли кто сделает ключевым.
Кроме того, в этой ветке говорилось, что в стандартной форме выводится нормально

поэтому вряд ли из-за оракла.
__________________
полезное на axForum, github, vk, coub.
Старый 21.01.2008, 18:03   #7  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,323 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Beast-L Посмотреть сообщение
Форма подобна остаткам но добавлены свои поля.
Ну из исходной постановки вопроса - с учетом оракловой БД в общем-то четко следует - что это поле, по которому прошло group by - Gustav прав.
Тут индексы ни при чем. Оракл, группируя - игнорирует регистр букв (это нормально, т.к. включена соотв настройка). А Аксапта - накладывает функцию nls_lower - приводя все к маленьким буквам. В случае SQL Server отсутствует функция nls_lower
Кажется так. Пусть меня поправят гуру Оракла.
__________________
Возможно сделать все. Вопрос времени
Старый 21.01.2008, 18:19   #8  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Ну из исходной постановки вопроса - с учетом оракловой БД в общем-то четко следует - что это поле, по которому прошло group by - Gustav прав.
Вот! Нас уже двое!
Ну, смех - смехом, а подоотчетники наши иногда обижаются, когда себя в отчете полностью в лоукейсе видят.
Вот маленький тест - ораклисты могут проверить:
X++:
static void Test_OracleGroupBy(Args _args)
{
    EmplTable   emplTable;
    ;

    while select Name from emplTable // просто или order by Name
    {
        info(emplTable.Name); // Иванов Иван Иванович
    }

    while select Name from emplTable GROUP BY Name
    {
        info(emplTable.Name); // иванов иван иванович
    }
}
Кстати, по полю Name нет индексов в EmplTable.
Старый 21.01.2008, 18:55   #9  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
+1 - это Oracle. Подноготная всего этого такова: В Аксапте все сравнения строк и сортировки по определению case insensitive. В MS SQL этот эффект достигается установкой case-insensitive кодовой страницы БД. В Oracle аналогичной функциональности долгое время не было (хотя, говорят,в 10 версии что-то появилось). Поэтому в старых версиях Аксапты (2.1,2.5) при записи в любое поле, которое было включено в индекс, данные переводились в нижний регистр, что изрядно нервировало пользователей (Как-то неприятно когда ФИО в emplId пишется и выводится на экран в нижнем регистре) . Поэтому начиная с версии Аксапта 3.0 (которая работала с ораклом 9 и выше, в котором уже можно было строить индекс не по полю, а по функции от поля), при указании в запросе сравнения по строчному полю или сортировки/группировки по таковому, поле заключается в функцию NLS_LOWER. Кроме того, при построении индексов, вместо строчных полей туда включается значение NLS_LOWER от поля. Таким образом - в большинстве случаев, в отличие от старых версий Аксапты, для пользователя незаметны внутренние махинации системы с регистром. Единственное исключение - как раз группировка. Ведь если мы сгруппировали по NLS_LOWER(emplId), то в списке полей в select мы тоже должны указать NLS_LOWER(emplId), поскольку в список полей агреггирующего запроса можно включать только значения выражений группировки и агрегатные функции. Поэтому, если строчное поле включено в список группировки, то и в списке группировки и в список полей в запросе оно включается с помощью NLS_LOWER()
За это сообщение автора поблагодарили: aidsua (1), gl00mie (3).
Старый 22.01.2008, 11:57   #10  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Цитата:
Сообщение от glibs Посмотреть сообщение
В стандартной форме название номенклатуры выводится дисплэй-методом.

У вас точно также или в виде поля БД для поиска и сортировки?
В виде поля БД. Дисплэй-методом показывает нормально.
Старый 22.01.2008, 19:09   #11  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Я так и думал. Впрочем, вам уже все написали.

А Oracle действительно нельзя заставить работать в case insensitive?
__________________
С уважением,
glibs®
Старый 22.01.2008, 19:52   #12  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,323 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Здесь написано следующее:
Цитата:
Особенности сортировки

Каждый из возможных порядков сортировки, задаваемых параметром NLS_SORT, имеет свои особенности.
...
Начиная с Oracle10g, к имени лингвистической сортировки можно добавлять _CI (регистро-независимая сортировка) и _AI (регистро-независимая и accent-insensitive сортировка).
Правда это только про сортировку...
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 22.01.2008 в 19:55.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Планирование номенклатуры с типом Основное средство AlexeyBP DAX: Функционал 19 29.01.2009 07:42
Не могу изменить название номенклатуры slava09 DAX: Функционал 14 21.03.2007 18:01
Длинный код номенклатуры Valery DAX: Функционал 16 21.02.2006 13:06
Конфигуратор продуции - создание новой номенклатуры против создания новой конфигураци OliaM DAX: Функционал 6 15.04.2005 20:11
Название таблицы??? 2b4fITin DAX: Программирование 22 30.08.2004 10:22
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:50.