Добрый день!
Может кому то будет интересно или полезно:
Данный скрипт собирает изменения на выбранном слое на выбранную дату и создает на основании этого проект в 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.");
}
}