А можно еще фильтровать по дате времени изменения за последние 1-2 дня (с момента последнего инкрементного сбора) тогда проект совсем маленький будет и все за 15 минут пересоберется.
Но есть нюанс.
В методе
\Classes\SysProjectFilterRunBase\run
надо добавить такое изменение:
X++:
...
while (queryRun.next())
{
try
{
sysModelElement = queryRun.get(tableNum(SysModelElement)) as SysModelElement;
sysModelElementData = queryRun.get(tableNum(SysModelElementData)) as SysModelElementData;
// PKoz 31.10.2019 -->
if (sysModelElement.RootModelElement == sysModelElement.RecId &&
sysModelElement.ElementType == 11 // form
)
{
// почему-то ядро при сборе перекрестных ссылок (и возможно при глобальной компиляции - но это надо проверить)
// обновляет для формочек свойство modifiedDateTime текущими значениями
// а в modifiedBy похоже переносит значение из createdBy
// из-за этого при попытке отфильтровать созданные измененные объекты AOT
// за период времени - в проект набивается куча левых форм
// У этого исправления могут быть побочные эффекты если пытаемся отфильтровать именно формы с фильтром по elementType == Form
// но этот способ все равно неправильный, нужно фильтровать по узлам формочек, перечисляя все их типы, так как в свойствах формы все равно
// в полях
// createdBy/modifiedby/createdDatetime/modifiedDatetime
// лежит лажа и на нее закладываться нельзя
// проще просто не ставить фильтр по типу объекта (отборка идет быстро)
// а затем выкинуть из проекта лишние узлы, которые нас не интересовали
continue;
}
// PKoz 31.10.2019 <--
...