21.07.2009, 15:58 | #1 |
Участник
|
DAX2009: DateTimeUtil::anyToDateTime()
Коллеги, а как правильно сабж использовать?
У меня крашится на аргументы типа Date и str X++: static void Job49(Args _args) { UtcDateTime dt; Date d = 01\03\2009; ; // dt = DateTimeUtil::anyToDateTime('21.07.2009 14:44:09'); dt = DateTimeUtil::anyToDateTime(d); info(strFmt('%1', dt)); } X++: dt = DateTimeUtil::newDateTime(d, str2time('00:00:00')); X++: dt = str2DateTime(date2str(d, 123, 1, 1, 1, 1, 4) + ' 00:00:00', 123); Версия DAX2009: Official russian release SP1 (kernel 5.0.593.0, application 5.0.1001.176) ps: |
|
21.07.2009, 17:14 | #2 |
Участник
|
Есть два варианта к поиску ответа:
1. Если запустить поиск в AOT по ключевому слову "anyToDateTime", то можно увидеть пример использования. X++: str datePlaceHolder = '-01-01T00:00:00'; int startYear = 1900; str startDate; utcdatetime utcdt; ; startDate = int2str(yearCnt) + datePlaceHolder; utcdt = DateTimeUtil::anyToDateTime(startDate); X++: utcdatetime myUtc1 = 1988-07-20T13:34:45;
utcdatetime myUtc2 = DateTimeUtil ::parse("1988-07-20T13:34:45"); |
|
21.07.2009, 17:40 | #3 |
Боец
|
Цитата:
Сообщение от _scorp_
Есть два варианта к поиску ответа:
1. Если запустить поиск в AOT по ключевому слову "anyToDateTime", то можно увидеть пример использования. X++: str datePlaceHolder = '-01-01T00:00:00'; int startYear = 1900; str startDate; utcdatetime utcdt; ; startDate = int2str(yearCnt) + datePlaceHolder; utcdt = DateTimeUtil::anyToDateTime(startDate); X++: utcdatetime myUtc1 = 1988-07-20T13:34:45;
utcdatetime myUtc2 = DateTimeUtil ::parse("1988-07-20T13:34:45"); Т.к. поиск по АОТ в аксапте происходит мягко говоря медленно, то можно весь АОТ выгрузить в xpo, а в нем уже искать, используя, скажем блокнот. Поиск в этом случае происходит мгновенно. Выгружать можно также по-отдельности: классы, таблицы, формы и т.п. |
|
22.07.2009, 00:24 | #4 |
Участник
|
Цитата:
по-моему, это редкостное извращение. по-моему, самый практичный вариант - воспользоваться перекрестными ссылками. открываем AOT \ System Documentation \ Classes \ DateTimeUtil далее метод anyToDateTime далее правой кнопкой мыши \ надстойки \ перекрестные ссылки \ чем используется. если действительно нужно поискать чем используется ключевое слово, а не метод системного класса, то открыть нужно AOT \ System Documentation \ Reserver Words потом правой кнопкой и до пункта Чем используется. |
|
22.07.2009, 01:30 | #5 |
Боец
|
Цитата:
Перекрестные ссылки - хороший инструмент, но построены они не всегда и не везде. Короче, в зависимости от ситуации можно юзать разные способы. Некоторые, например, сперва на форме спрашивают... |
|
|
За это сообщение автора поблагодарили: alex55 (1). |
22.07.2009, 01:40 | #6 |
Участник
|
Сервис \ Инструменты разработчика \ Имена.
Поиск с Аксаптовским фильтром *Security* Цитата:
А это зря. Это точно. |
|
22.07.2009, 08:35 | #7 |
Участник
|
Цитата:
Я бы сказал, что это некий аналог any2str(...), которая работает гарантировано на строковых переменных (Функция Any2Str не работает) Цитата:
X++: dt = DateTimeUtil::newDateTime(d, 0); X++: static void utcTest(Args _args) { System.DateTime utc = new System.DateTime(2009, 03, 01); str utcStr; ; utcStr = utc.ToString("s"); // приводим к SortableDateTimePattern info(strFmt("%1", DateTimeUtil::anyToDateTime(utcStr))); }
__________________
Sergey Nefedov |
|
|
За это сообщение автора поблагодарили: alex55 (1), AllB (1). |
22.07.2009, 12:53 | #8 |
Участник
|
Можно также воспользоваться функцией
X++: str2DateTime |
|
22.07.2009, 12:54 | #9 |
Участник
|
Личное мнение: как и с функцией any2str, я считаю, что это баг.
Поэтому попробую сделать так, чтобы его пофиксили. Соответственно, добавляю тэг баг к теме |
|
16.03.2010, 13:10 | #10 |
Участник
|
Цитата:
Что-то у меня перекрёстные ссылки в Ax2009 не показывают использование методов класса DateTimeUtil. Хотя использование самого класса показывают в полном объёме. Странно.
__________________
Дмитрий |
|