|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от user_ax
![]() Ваш способ конечно очень привлекателен, но , допустим у меня будет сортировка по необходимым мне полям, а есди делать через listiterator, он возьмёт первое значение из листа, выберет все строки согласно нему, возьмёт второе , выберет все строки согласно второму, при этом заданная мною группировка не будет учитываться уже...
Но попробую в любом случае ![]() X++: static void Job45(Args _args) { SMMSalesUnitId salesUnitId; RecordSortedList salesUnitList = new RecordSortedList(tablenum(SMMSalesUnit)); SMMSalesUnit su; boolean x; void getChildSalesUnit(SMMSalesUnitId _salesUnitIdParent) { SMMSalesUnit salesUnit; ; //Add current sales unit to list salesUnit = SMMSalesUnit::find(_salesUnitIdParent); salesUnitList.ins(salesUnit); //Check for child records select count(RecId) from salesUnit where salesUnit.ParentId == _salesUnitIdParent; if (salesUnit.RecId != 0) { //Go through child records and call recurent function while select SalesUnitId from salesUnit where salesUnit.ParentId == _salesUnitIdParent { getChildSalesUnit(salesUnit.SalesUnitId); } } } ; salesUnitId = "Отдел продаж трансф."; salesUnitList.sortOrder(fieldnum(SMMSalesUnit, SalesUnitId)); getChildSalesUnit(salesUnitId); for (x = salesUnitList.first(su); x; x = salesUnitList.next(su)) { print su.SalesUnitId; } pause; }
__________________
// no comments Последний раз редактировалось dech; 16.04.2013 в 09:35. |
|