|
|
#15 |
|
Участник
|
А можно еще фильтровать по дате времени изменения за последние 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 <--
... |
|
|
|
| За это сообщение автора поблагодарили: mazzy (2), sukhanchik (6), Ace of Database (2), alex55 (3), Dreadlock (1). | |
| Теги |
| ax2012, cil, перекрестные ссылки, производительность |
|
|
|