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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.02.2015, 10:26   #1  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Базовый тип TimeOfDate на SQL: 6 vs 1?
Добрый день, уважаемые коллеги.
Версия AX 4.0.

Как можно определить, что тип поля - время на чистом T-SQL?
Допустим, есть таблица ProdTable и у нее есть поле SchedFromTime
Некоторые данные по этому полю можно увидеть через запрос
X++:
SELECT * FROM SQLDICTIONARY
WHERE TABLEID = 262
  AND NAME = 'SchedFromTime'
Майкрософт как всегда намудрил: FieldType (базовый тип поля) содержит значение 1, что соответствует типу Int. А по идее должно быть значение 6 (для типов TimeOfDay):
X++:
SELECT BASETYPE FROM XREFTYPEHIERARCHY
WHERE NAME = 'TimeOfDay'
Можно ли как-то от таблицы SQLDictionary прийти к выводу, что поле с базовым типом, равным 1, на самом деле является временем?
__________________
// no comments
Старый 03.02.2015, 20:19   #2  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Регистрация: 21.04.2008
Ах 3.0.
Смотрим класс xRefUpdateTypeHierarchy.fillxRefTypeHierarchy()

X++:
        if ((dictType.baseType() == Types::INTEGER) &&
            (isTypeTime((Types::USERTYPE) | (dictType.id() << 16))))
global-метод isTypeTime
X++:
/*
Tests whether the specified typeid is inherited from a timeOfDay type
*/
static boolean isTypeTime(int id) // typeId
{
    return Global::isType(typeId2ExtendedTypeId(id), typeId2ExtendedTypeId(typeId(timeOfDay))) ||
           Global::isType(typeId2ExtendedTypeId(id), typeId2ExtendedTypeId(typeId(createdTime))) ||
           Global::isType(typeId2ExtendedTypeId(id), typeId2ExtendedTypeId(typeId(modifiedTime)));
}
т.е. они сами не смогли получить "6" не перечислив основные временные типы существовавшие на тот момент?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX Performance Troubleshooting Checklist Part 1A [Introduction and SQL Configuration] Blog bot DAX Blogs 0 05.09.2014 21:11
emeadaxsupport: How to perform a data center change (change of the physical location) where a SQL server 2008 R 2 cluster installation and MS Dynamics AX 4.0 is involved? Blog bot DAX Blogs 0 21.06.2014 19:19
Таблица, расширенный тип данных, базовый перечислимый тип или класс, вызванные test_Sdelka, уже существуют. Импортирование Table прервано. Poleax DAX: Программирование 4 17.05.2011 17:57

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

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

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