|  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. Причина: нашел опечатку в коде ни изменяющую суть вопроса | 
|  | 
|  30.08.2007, 14:26 | #2 | 
| Мрачный тип | 
			
			Используйте  X++: (fieldid2ext(fieldId),j) X++: (fieldId)[j]) Все массивы в таблицах - как правило EDT. Обычным fieldNum'ом их не возьмешь . Последний раз редактировалось TasmanianDevil; 30.08.2007 в 14:28. | 
|  | 
|  30.08.2007, 14:37 | #3 | 
| Участник | 
			
			Спасибо большое! Действительно помогло. Интересно что в стандарте есть получение значения массива как common.(fieldId)[idx] Это метод keyValue класса LedgerReference X++: while (idx2 < dimof(fieldId2Name(common.tableId,dictIndex.field(idx)))) { keyValue = keyValue + fieldId2Name(common.tableId,dictIndex.field(idx))+':' + strFmt('%1',common.(dictIndex.field(idx))[idx2]); idx2 += 1; } | 
|  | 
|  31.08.2007, 06:48 | #4 | 
| Мрачный тип | 
			
			Скобки, скобки, скобки и еще раз скобки   посмотрите внимательно пример из этого класса и свой код   Последний раз редактировалось TasmanianDevil; 31.08.2007 в 06:59. | 
|  | 
| Теги | 
| ax3.0 | 
|  | 
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
| 
 |