Посмотрите global\date2StrXpp по перекрёстным ссылкам, например вот так это выглядит в методе SalesLine\buildDateRangeStr ax2013 r3
X++:
/// <summary>
/// build date range string with confirmed date. If confirmed is not filled, build with requested date.
/// </summary>
/// <param name="_dataSourceName">
/// The data source name which need the range.
/// </param>
/// <param name="_fieldNameConfirmed">
/// The field name of confirmed date.
/// </param>
/// <param name="_fieldNameRequested">
/// The field name of requested date.
/// </param>
/// <param name="_dateFrom">
/// The from date for the range.
/// </param>
/// <param name="_dateTo">
/// The to date for the range.
/// </param>
/// <returns>
/// The query range string.
/// </returns>
public static str buildDateRangeStr(str _dataSourceName, str _fieldNameConfirmed, str _fieldNameRequested, date _dateFrom, date _dateTo)
{
if (_dateTo == dateNull())
{
_dateTo = dateMax();
}
//we select based on confirmed and if confirmed is not filled we add criteria on requested.
return strFmt("(((%5.%1 != %6) && (%5.%1 >= %3) && (%5.%1 <= %4)) || ((%5.%1 == %6) && (%5.%2 >= %3) && (%5.%2 <= %4)))",
_fieldNameConfirmed,
_fieldNameRequested,
date2StrXpp(_dateFrom),
date2StrXpp(_dateTo),
_dataSourceName,
date2StrXpp(dateNull()));
}