Видимо надо все-таки переключаться на режим Correction и CreateNewTimePeriod в зависимости от условий фильтрации
X++:
OurTable_ds.query().resetValidTimeStateQueryType();
OurTable_ds.validTimeStateUpdate(ValidTimeStateUpdate::Correction);
если посмотреть по перекрестным ссылкам использование метода FormDataSource.validTimeStateUpdate(), то увидим, что в стандарте во многих местах именно так и делается. Так же обратите внимание на класс DateEffectivenessFormController и его использование, например на форме WrkCtrResourceGroup. Быть может вам подойдет такой способ фильтрации и отображения данных.