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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.05.2005, 13:26   #1  
GSN is offline
GSN
Участник
 
15 / 10 (1) +
Регистрация: 01.12.2004
Подскажите, пожалуйста, как работать с датой/временем в аксапте?
Встроенный тип Date хранит только дату.
Так, например, я через ADO подключаюсь к внешнему источнику данных.
Предположим, это некоторая таблица, в которой поле DATE содержит дату/время с точностью до секунд.

Я читаю данные из этого поля:
(с помощью класса-обертки ADO)
COMVariant _date=qry.GetValue("DATE").date();

при этом время отсекается!

Как бороться с этим?
Старый 03.06.2005, 14:00   #2  
Владимир Максимов_imported is offline
Владимир Максимов_imported
Участник
 
33 / 10 (1) +
Регистрация: 20.01.2004
Насколько я понимаю, путь только один:

Считываешь дату-время как символьную строку, выделяешь фрагмент с временем, потом используя str2time() конвертируешь в формат Time собственно AXAPTA.

Ну, и чтобы второй раз не тянуть то же самое, можно выделенный фрагмент даты конвертировать через str2date() в формат Date собственно AXAPTA.
Старый 03.06.2005, 17:36   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
посмотрите класс COMVariant. Там есть метод time.
Скорее всего вам нужно забирать сразу время.

qry какого типа?
Какой тип возвращает getDate()?
Если Variant, то в левой части равенства используйте переменную с Аксаптовским типом COMVatiant. Затем метод time()
__________________
полезное на axForum, github, vk, coub.
Старый 06.06.2005, 15:47   #4  
GSN is offline
GSN
Участник
 
15 / 10 (1) +
Регистрация: 01.12.2004
Спасибо!
Я сделал так: написал класс DateTime, хранящий дату/время в виде числа с плавающей точкой (а ля Delphi).
Старый 06.06.2005, 15:48   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Класс? радикально.
А уже существующий тип Time не подошел?
__________________
полезное на axForum, github, vk, coub.
Старый 07.06.2005, 06:34   #6  
GSN is offline
GSN
Участник
 
15 / 10 (1) +
Регистрация: 01.12.2004
но Time вроде бы содежит только время (число секунд начиная с полуночи), а дату не содержит. Вот я и решил написать класс, который бы содержал и дату и время (в виде real) и при необходимости мог преобразовывать ее к нужному виду(например, в строку вида 'DD.MM.YY HH:MM:SS' и т.д.)
Старый 07.06.2005, 16:34   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
хм... да, был неправ.
Спасибо.
__________________
полезное на axForum, github, vk, coub.
 

Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:29.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.