05.02.2015, 14:34 | #1 |
Участник
|
Скрипт который создает проект и перемещает в него все изменения со слоя за дату
Добрый день!
Может кому то будет интересно или полезно: Данный скрипт собирает изменения на выбранном слое на выбранную дату и создает на основании этого проект в private. X++: static void createproject(Args _args) { SysProjectFilterRunBase sysProjectFilter; Utilelements utilElements; Identifiername projName; TransDate transDate; Counter c; UtilEntryLevel utilLevel; TimeOfDay timeOfDay; str projNamePrefix; UtcDateTime dateTime; ; projNamePrefix = "USR"; utilLevel = UtilEntryLevel::usr; timeOfDay = str2time("00:00:01"); dateTime = DateTimeUtil::newDateTime(mkDate(29,01, 2015), timeOfDay); transDate = today(); projName = strFmt("%1_%2", projNamePrefix ? projNamePrefix : enum2str(utilLevel), date2str(transDate, 321, 2,0,2,0,2)); setPrefix(strFmt("Create project %1", projName)); sysProjectFilter = new sysProjectFilterRunBase(); sysProjectFilter.parmProjectNode(sysTreeNode::createProject(projName)); sysProjectFilter.grouping(sysProjectGrouping::AOT); while select name, utilLevel, RecordType, ParentId from utilElements where utilElements.utilLevel == utilLevel && (utilElements.createdDateTime >= dateTime || utilElements.modifiedDateTime >= dateTime) { try { utilelements.reread(); if (sysProjectFilter.doUtilElements(utilelements)) { c++; } } catch (exception::Error) { throw error('Error at adding elements to the project'); } } sysProjectFilter.write(); if (c) { strFmt("Project %1 was created", projName); } else { info("No elements found."); } } |
|