|  06.11.2013, 14:12 | #1 | 
| Участник | Непонятный Id у поля 
			
			Добрый день! Выполняю приведенный ниже код, у таблицы InventDim fieldId поля InventLocationId принимает некое странное значение, не соответствующее имеющемуся в таблице. Если же использовать закомментированный код, все работает. Хотелось бы понять причину. X++: for(i=1; i<=qbdsInventDim.rangeCount(); i++) { qbr = qbdsInventDim.range(i); if( qbr.field() == fieldnum(InventDim, InventLocationId) && //fieldid2name(qbr.table(), qbr.field()) == fieldid2name(tablenum(InventDim), fieldnum(InventDim, InventLocationId)) && qbr.value() ) { queryRunSum.query().dataSourceTable(tablenum(InventSumDateFinancialDim_RU)).addRange(fieldnum(InventSumDateFinancialDim_RU, InventLocationId)).value(qbr.value()); } } | 
|  | 
|  06.11.2013, 14:24 | #2 | 
| Участник | 
			
			Возможно у вас расширенный ид используется. см. fieldExt2Id fieldExt2Idx fieldId2Ext класса Global | 
|  | |
| За это сообщение автора поблагодарили: byte (1). | |
|  06.11.2013, 14:44 | #3 | 
| Участник | 
			
			А у вас  qbr.table() равен tablenum(InventDim)?
		 | 
|  | 
|  06.11.2013, 15:06 | #4 | 
| Участник | |
|  | 
|  06.11.2013, 15:12 | #5 | 
| Участник | |
|  | 
|  06.11.2013, 15:12 | #6 | 
| Участник | 
			
			По-моему qbr.field() возвращает расширенный id Попробуйте оперировать fieldExt2Id( qbr.field() ) - его уже можно сравнивать с результатом fieldNum(...) | 
|  | 
|  06.11.2013, 15:14 | #7 | 
| Участник | 
			
			опоздал   В диалогах используется расширенный идентификатора. видимо чтобы отделять индексные поля одни от других. т.е. Dimension[1] и Dimension[2] будут иметь разные расширенные ид | 
|  | 
|  06.11.2013, 15:16 | #8 | 
| Участник | 
			
			Спасибо!
		 | 
|  |