Необходимо получить список измененных и новых обьектов в системе за промежуток времени (максимум за день).
Интересуют только названия, то есть если в какой-то енум добавили значение, а имя не поменяли - не выводим.
Формы и отчеты не интересую.
Сейчас делаю так:
X++:
static void DEV_ChangedElements(Args _args)
{
UtilIdElements utilIdElements;
TimeOfDay time = 0;//timenow();
TransDate transDate = systemdateget();
int begin;
;
begin = WinApi::getTickCount();
while select name, id, recordType from utilIdElements
where utilIdElements.recordType == UtilElementType::Class
|| utilIdElements.recordType == UtilElementType::Table
|| utilIdElements.recordType == UtilElementType::Enum
|| utilIdElements.recordType == UtilElementType::ExtendedType &&
((utilIdElements.createdDate == transDate && utilIdElements.createdTime > time) ||
(utilIdElements.modifiedDate == transDate && utilIdElements.modifiedTime > time))
{
info(strfmt("%1 %2 %3", utilIdElements.name, utilIdElements.id, utilIdElements.recordType));
}
info(strfmt("%1 ms.", WinApi::getTickCount() - begin));
}
Вопросы:
- можно ли это оптимизировать?
- сколько выполняется такой джоб у Вас (2-3 запуска)?