| 
			
			 | 
		#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. Причина: нашел опечатку в коде ни изменяющую суть вопроса  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Мрачный тип 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Используйте  
		
		
		
		
		
		
		
		
			X++: (fieldid2ext(fieldId),j) X++: (fieldId)[j]) Все массивы в таблицах - как правило EDT. Обычным fieldNum'ом их не возьмешь . Последний раз редактировалось TasmanianDevil; 30.08.2007 в 14:28.  | 
| 
	
 | 
| 
			
			 | 
		#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; }  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Мрачный тип 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Скобки, скобки, скобки и еще раз скобки  
		
		
		
		
		
		
		
		
			![]() посмотрите внимательно пример из этого класса и свой код  
		Последний раз редактировалось TasmanianDevil; 31.08.2007 в 06:59.  | 
| 
	
 | 
| Теги | 
| ax3.0 | 
| 
	
	 | 
	
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
		
  |