|  03.01.2006, 14:17 | #1 | 
| Участник | 
			
			Почему при запросе field() из Range функция возвращает не тот ID, который в таблице.. Пример: Код: dictField = new DictField( tableNum(LedgerTable), qbds.range(iRange).field() ); Код: qbr = queryRun.query().dataSourceNo(1).addRange(fieldnum(LedgerTable,AccountPlType)); qbr.value( '!'+enum2str(LedgerAccountType::Heading) ); PPS: То что я пытюсь сделать, это сгрупировать все значения всех полей и потом выводить в отчёте.. Код: 	qbds = this.query().dataSourceTable(tableNum(LedgerTable));
	if ( qbds.rangeCount()!=0 )
	{
		for ( iRange=1; iRange<=qbds.rangeCount(); iRange++ )
		{
			oldValue = '';
			oldLabel = '';
			fieldId = strfmt( '%1_%2', qbds.range(iRange).table(), qbds.range(iRange).field() );
			if ( mapRanges.exists(fieldId) )
			{
				[oldLabel,oldValue] = mapRanges.lookup(fieldId);
				mapRanges.remove(fieldId);
			}
			if (!oldLabel)
			{
				dictField = new DictField( tableNum(LedgerTable), qbds.range(iRange).field() );
				oldLabel = dictField.label();
			}
			if ( oldValue ) oldValue += ', ';
			oldValue += qbds.range(irange).value();
			rangeData = [oldLabel,oldValue];
			mapRanges.insert( fieldId, rangeData );
		}
	} | 
|  |