Всем привет.
Искал функцию по конвертации наименования (или идентификатора) таблицы Аксапты в наименование таблицы в СУБД и заметил особенность в реализации 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.