Цитата:
Сообщение от
kashperuk
Первый вопрос, который мне зададут: "А на кой ты до 2154 года пытаешься прийти?"
Так что сразу задам его Вам

Согласен, что наверное еще не скоро потребутеся вводить даты близкие к 2154 году

Недавно коллега знакомился с имеющейся литературой по Axapta 3.0 - "Axapta 3.0 Разработка бизнес-приложений" Еременко А., Шашков Р. На странице 70 в обзоре типа дата:
Цитата:
...
Область допустимых значений: [1\1\1901; 31\12\2154]
...
В рамках реализации тестового учебного примера и возник вопрос:
почему при задекларированном интервале до 2154 года в форме SysDateLookup при переходе с декабря 2153 на январь 2154 года недоступна кнопка следующего месяца? При этом в поле с типом date можно ввести к примеру 01.02.2154 и форма открывается уже с данными февраля 2154 года.
Описанные в первом посте модификации проводились на Dynamics Ax 4.0 SP2 (application version: 4.0.2501.347), потом результаты частично портировали в Axapta 3.0.
P.S. На счет перехода от строковых макро-констант к датам в 3.0 возможно несколько поторопился с выводами, код из 4.0 переносили не в полном объеме - только метод nextMonth() 
Тестовый job на 3.0 показал такие результаты по датам:
X++:
static void jbCheckTransDate(Args _args)
{
;
info( strfmt( "year 2154 by str2date(): %1", str2date( '31-12-2154', 123 ) ) ) ;
info( strfmt( "year 2154 by const: %1", 31\12\2154 ) ) ;
info( strfmt( "datemax(): %1", datemax() ) ) ;
info( strfmt( "year 2153 by const: %1", 31\12\2153 ) ) ;
info( strfmt( "year 2153 + 1 day: %1", 31\12\2153 + 1 ) ) ;
info( strfmt( "year 2153 + 1 month: %1", nextmth( 31\12\2153 ) ) ) ;
}
Результат: