Цитата:
Сообщение от
Wamr
чудес не бывает - давайте код, а критики найдутся.
Этот метод генерит набор элементов по заданным критериям.
items - курсор источника данных (временная таблица).
X++:
void genItemSelection()
{
int recordTypeAbsoluteVal;
UtilIdElements idElements;
Query query = new Query();
QueryBuildDatasource qbds = query.addDataSource(tablenum(UtilIdElements));
QueryRun queryRun;
;
delete_from items;
qbds.addRange(fieldnum(UtilIdElements, Name)).value(ObjectNameSelection.text());
qbds.addRange(fieldnum(UtilIdElements, ParentId)).value(queryValue(0));
if (ObjTypeSelection.selection())
{
qbds.addRange(fieldnum(UtilIdElements, RecordType)).value (ObjTypeSelection.valueStr());
}
qbds.addSortField(fieldnum(UtilIdElements, Name));
qbds.addSortField(fieldnum(UtilIdElements, RecordType));
//qbds.addSelectionField(fieldnum(UtilIdElements, Name));
//qbds.addSelectionField(fieldnum(UtilIdElements, RecordType));
qbds.orderMode(OrderMode::GroupBy);
queryRun = new QueryRun(query);
while(queryRun.next())
{
idElements = queryRun.get(tablenum(UtilIdElements));
recordTypeAbsoluteVal = idElements.recordType;
Items.ElementName = idelements.name;
items.RecordType = recordTypeAbsoluteVal;
items.insert();
}
}