Видел несколько тем на эту тему )), решения весьма громоздкие, и замороченные, нашел простой способ и решил поделиться.
В Ax 2009 и Ax 2012, это уже есть, но для 3й и 4й версии пригодится.
Не нужно перебирать объекты формы и париться с источниками данных, все просто !
X++:
#Task
void clicked()
{ TextBuffer TB = new TextBuffer();
ComExcelDocument_RU Excel;
Table Cursor;
;
//super();
if (!Table_ds.anyMarked())
{
cursor.data(Table);
element.task(#taskSelectAll);
}
element.task(#taskCopy);
TB.fromClipboard();
if (cursor)
{
Table_ds.research();
Table_ds.findRecord(cursor);
}
excel = new COMExcelDocument_RU();
excel.newFile("",false);
excel.pasteSpecialFromTextBuffer("A1", TB);
excel.setAutoFiler("A1");
excel.visible(true);
excel.finalize();
}