леди и джентльмены, не могу понять, то ли бага, то ли я лыжи снять не могу.
итак! воркспейс с формпартом в виде грида. сам формпарт основан на квери к вьюхе, которая, в свою очередь, список транзакций плюс через релейшн 1:1 иннерджойн к мастертаблице.
в таком виде, когда пользователь нажимает кнопку "обновить", новые записи прекрасно отображаются.
но если в коде формы добавить range по заданному диапазону дат, то - ни в какую! кнопка нажимается, executeQuery вызывается, но новые записи не отображаются.
танцы с бубном, как предложено в
https://docs.microsoft.com/en-us/dyn...orkspace-lists, я пробовал - результат одинаков: обновления не происходит!
другое интересное наблюдение, что если переключиться на любую другую закладку, где меняется значение для queryRange, то обновление прекрасно работает. в смысле и в той, которую щёлкнули, и если потом вернуться обратно на ту, где были. такое ощущение, что pageActivated() активирует обновление кеша.
при обновлении, кстати говоря, напрочь слетают пользовательские фильтры, те, которые на datasource().queryRun().query()
поймать в дебагере ничего вразумительного не могу. какие будут соображения?
на всякий случай код для queryRange
X++:
private str getExecutionDateRange(CDPSysProcessHistoryDateFilterOptions _historyDateFilter)
{
utcdatetime utcDateTimeTo = DateTimeUtil::applyTimeZoneOffset(
DateTimeUtil::getSystemDateTime(),
CDPSysProcessParameters::find().DefaultLogTimezone);
utcdatetime utcDateTimeFrom;
switch(_historyDateFilter)
{
case CDPSysProcessHistoryDateFilterOptions::Past3Days:
utcDateTimeFrom = DateTimeUtil::addDays(utcDateTimeTo, -3);
break;
case CDPSysProcessHistoryDateFilterOptions::PastWeek:
utcDateTimeFrom = DateTimeUtil::addDays(utcDateTimeTo, -7);
break;
case CDPSysProcessHistoryDateFilterOptions::PastMonth:
utcDateTimeFrom = DateTimeUtil::addMonths(utcDateTimeTo, -1);
break;
case CDPSysProcessHistoryDateFilterOptions::PastDay:
default:
utcDateTimeFrom = DateTimeUtil::addHours(utcDateTimeTo, -24);
break;
}
return SysQuery::range(utcDateTimeFrom, utcDateTimeTo);
}