|
|
#27 |
|
Участник
|
Все, силы иссякли, нервов нет, не могу понять почему не выбирает. В таблице MyTable есть данные с аналитиками. Сделала небольшую группировку по аналитикам, чтоб хоть примерно преставлять - что должно выводится в отчет. Получилось следующее:
Depart Center Managment - аналитика (0) (1) (3) - индекс в Enum ogk-01 002025 sug-01 002025 sug-01 002035 sug-28 005041 sug-28 005036 600812 Код программы: X++: Query initQuery()
{
Query q = new Query();
QueryBuildDataSource qbds;
qbds = q.addDataSource(tablenum(SUG_LedgerTransDimentionsDetails));
qbds.orderMode(OrderMode::GroupBy);
return q;
}
void SelDimens(Query _q, int _idx, SysDimension _sysDim, SysDim _dimValue, int _i)
{
QueryRun qr = new QueryRun(this.initQuery());
Dimensions dim;
SysDImension sysDimGroup;
;
num_count = 1;
// numDomens - контейнер с номерами выбранных аналитик (1,2,4 в примере)
sysDimGroup = conPeek(numDimens, _idx) - 1;
// поле для выбора (как я понимаю)
qr.query().dataSourceTable(tablenum(SUG_LedgerTransDimentionsDetails)).addSortField(fieldId2Ext(fieldnum(SUG_LedgerTransDimentionsDetails, Dimension), _i));
// фильтр, по которому поле выше отбирают
qr.query().dataSourceTable(tablenum(SUG_LedgerTransDimentionsDetails)).addRange(fieldId2Ext(fieldnum(SUG_LedgerTransDimentionsDetails, Dimension), _sysDim)).value(queryValue(_dimValue));
while (qr.next())
{
ltvd1 = qr.get(tablenum(SUG_LedgerTransDimentionsDetails));
select Description from dim where dim.Num == ltvd1.Dimension[_i]
&& dim.DimensionCode == sysDimGroup;
medt.insertValue2(num_count, counter, dim.Description);
medt.insertValue2(num_count+1, counter, int2str(_i));
counter++;
if (h <= conLen(numDimens))
{
h = _idx + 1;
i = conPeek(numDimens, h);
this.SelDimens(qr.query(), h, sysDimGroup, ltvd1.Dimension[_i], i);
}
}
}![]() А еще бывают ситуации, когда у Depart нет Center, но есть Managment - вот тут цикл точно проскочит выборку и ничего не выдаст, а как сделать чтоб не проскочил? Я уже подумываю о том, чтоб для каждого счета жестко забить аналитики и только по ним делать выборку и плевать на все... Вообще невозможно предусмотреть все ситуации.
__________________
MBS-Axapta 3.0 CIS SP3 |
|
|
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Разница NotInTTS и Found | 6 | |||
| Фильтр по пустому Dimension[x] в select | 3 | |||
| Вопрос про Demand Planner | 4 | |||
| select group by | 10 | |||
| group , но не by | 9 | |||
|