|
|
#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()); } } |
|
|
|
|
#2 |
|
Участник
|
Возможно у вас расширенный ид используется.
см. fieldExt2Id fieldExt2Idx fieldId2Ext класса Global |
|
|
|
| За это сообщение автора поблагодарили: byte (1). | |
|
|
#3 |
|
Участник
|
А у вас qbr.table() равен tablenum(InventDim)?
|
|
|
|
|
#4 |
|
Участник
|
|
|
|
|
|
#5 |
|
Участник
|
|
|
|
|
|
#6 |
|
Участник
|
По-моему qbr.field() возвращает расширенный id
Попробуйте оперировать fieldExt2Id( qbr.field() ) - его уже можно сравнивать с результатом fieldNum(...) |
|
|
|
|
#7 |
|
Участник
|
опоздал
![]() В диалогах используется расширенный идентификатора. видимо чтобы отделять индексные поля одни от других. т.е. Dimension[1] и Dimension[2] будут иметь разные расширенные ид |
|
|
|
|
#8 |
|
Участник
|
Спасибо!
|
|
|