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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.01.2022, 22:36   #1  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
299 / 866 (29) +++++++
Регистрация: 23.10.2012
DMT Ax 2009 и мина замедленного действия
Всем привет.
Искал функцию по конвертации наименования (или идентификатора) таблицы Аксапты в наименование таблицы в СУБД и заметил особенность в реализации DMTTableUtils.getSQLName:
X++:
public static DMTName getSQLName(int tableId, DMTName _name)
{
    SqlDictionary   sqlDictionary;
    ;
    select firstOnly name from sqlDictionary
        where sqlDictionary.TabId == tableId && sqlDictionary.Name == _name;

    return SqlDictionary.name;

}
Получается, что "вошло", то и "вышло".
При этом, если наименование поля или таблицы превышает 30 символов, то в СУБД в названии будет присутствовать идентификатор.
Очевидно:
- DMT отработает некорректно;
- Просится возврат поля SqlName.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
stephenmann: Technical History of Dynamics AX - From Axapta 3.0 to AX2012 Blog bot DAX Blogs 5 03.03.2017 10:22
DAX: Official Dynamics AX 2012 R2 Content (update) - Where is it, and how can you find out about updates? Blog bot DAX Blogs 0 03.12.2012 11:11
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
Dynamics AX: Managing Your Supply Chain Using Microsoft Dynamics AX 2009 - Book Review Blog bot DAX Blogs 0 31.03.2009 23:06
Dynamics AX: Business Intelligence in Dynamics AX 2009 (Part I) Blog bot DAX Blogs 0 26.06.2008 02:19

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

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

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