|
05.06.2020, 05:07 | #1 |
Участник
|
Workspace list formpart refresh
леди и джентльмены, не могу понять, то ли бага, то ли я лыжи снять не могу.
итак! воркспейс с формпартом в виде грида. сам формпарт основан на квери к вьюхе, которая, в свою очередь, список транзакций плюс через релейшн 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); }
__________________
Felix nihil admirari Последний раз редактировалось wojzeh; 05.06.2020 в 05:09. |
|
05.06.2020, 19:05 | #2 |
Участник
|
прошу прощения за ложный шухер! как выяснилось, в кабине сидел не совсем тот человек, который был нужен.
а вот и сама бобина: range в квери слева тупо не включает в себя свежедобавленные записи (см. кривой код выше), а справа - включает.
__________________
Felix nihil admirari |
|
Теги |
cache, d365, formpart, list, refresh, workspace |
|
|