|  10.06.2009, 10:06 | #1 | 
| MCP | Экспорт данных в xml из Axapta 3.0 
			
			Всем привет!  Сталкивался ли кто-нибудь с экспортом данных из Ax3 в xml? Какие классы отвечают за этот процесс? В результате хотелось бы получить файл с данными выбранными при помощи query. Сейчас пытаюсь делать так: X++: static void testExport(Args _args) { XMLDataExport dataExport; EmplTable emplTable; QueryBuildDataSource qbds; QueryRun qr; Query query; ; query = new query(); qbds = query.addDataSource(tablenum(EmplTable)); qbds.addRange(fieldnum(Empltable, EmplId)).value('10000'); qr = new queryRun(query); dataExport = new XMLDataExport(''); dataExport.doExport(qr); }   | 
|  | 
|  10.06.2009, 10:35 | #2 | 
| Модератор | 
			
			Ройте в сторону интеграции с BizTalk. Ищите примеры. Все есть. С Уважением, Георгий | 
|  | 
|  10.06.2009, 11:09 | #3 | 
| Участник | Цитата: 
		
			Сообщение от kornix
			   X++: static void testExport(Args _args) { XMLDataExport dataExport; EmplTable emplTable; QueryBuildDataSource qbds; QueryRun qr; Query query; ; query = new query(); qbds = query.addDataSource(tablenum(EmplTable)); qbds.addRange(fieldnum(Empltable, EmplId)).value('10000'); qr = new queryRun(query); dataExport = new XMLDataExport(''); dataExport.doExport(qr); }  Ошибка вылетает видимо из-за того, что в таблице EmplTable есть поле типа 'массив' вещественных чисел (workingHours (EDT HRMworkingHours)), например, если взять табличку InventTable - то все ок, трассировки стека не будет. Видимо не большая ошибка в данном классике есть, а именно в методе writeRecord вместо X++: // Array field. Traverse the elements for (arrayIndex = 1; arrayIndex <= fieldObject.arraySize(); arrayIndex++) { result += fieldName + ' offset="' + int2str(arrayIndex) + '">' + global::XMLString(record.(fieldList.field(fieldNo)), fieldObject.baseType(), _indent + 8) + '</Table:Field>\n'; } X++: // Array field. Traverse the elements for (arrayIndex = 1; arrayIndex <= fieldObject.arraySize(); arrayIndex++) { result += fieldName + ' offset="' + int2str(arrayIndex) + '">' //srf --> //+ global::XMLString(record.(fieldList.field(fieldNo)), fieldObject.baseType(), _indent + 8) + global::XMLString(record.(fieldId2Ext(fieldList.field(fieldNo), arrayIndex)), fieldObject.baseType(), _indent + 8) //srf <-- + '</Table:Field>\n'; } Последний раз редактировалось SRF; 10.06.2009 в 11:13. | 
|  | |
| За это сообщение автора поблагодарили: kornix (1). | |
|  10.06.2009, 14:24 | #4 | 
| MCP | |
|  | 
| Теги | 
| ax3.0, xml, экспорт | 
|  | 
| 
 |