30.08.2007, 14:16 | #1 |
Участник
|
почему на работает common.(fieldId)[idx]
Привет всезнающий ALL
AX3SP3KR3 MSSQL2005 X++: static void ggvdimensions(Args _args) { LedgerJournalTrans ledgerJournalTrans; Common thisCommon; DictTable DictTable; FieldId fieldId; int i, j; str ret; str value; ; //берем любую запись ledgerjournaltrans select ledgerJournalTrans where ledgerJournalTrans.RecId == 17816743; thisCommon = ledgerJournalTrans; DictTable = new DictTable( thisCommon.TableId); for( i=1; i<=dictTable.fieldCnt(); i++) { fieldId = dictTable.fieldCnt2Id(i); if( dimof( thisCommon.(fieldId)) > 1) { for( j = 1; j<= dimof( thisCommon.(fieldId)); j++) { value += value ? "-" : ""; //НЕ РАБОТАЕТ value += strfmt( "%1", thisCommon.(fieldId)[j]); } } else value = strfmt( "%1", thisCommon.(fieldId)); ret += strfmt( "%1 : %2;", fieldId2Name( thisCommon.TableId, fieldId), value); } info( ret); } И более общий вопрос...Каким же образом доступится к элементам поля, который является массивом ( пример dimension) в общем случае (не приводя к определенному типу). Последний раз редактировалось maze; 30.08.2007 в 14:20. Причина: нашел опечатку в коде ни изменяющую суть вопроса |
|