Показать сообщение отдельно
Старый 04.07.2009, 20:41   #8  
Boris22 is offline
Boris22
Участник
Аватар для Boris22
 
9 / 11 (1) +
Регистрация: 03.07.2009
ena_ax, не ищите здесь готовых решений. По правилам этот форум не для рекламы, раздач и продаж готовых модификаций. Начните с простого:
1. Если под экспортом стандартных отчетов Вы подразумеваете вывод уже построенных отчетов во внутреннем формате:
На форме SysPrintForm повесить опцию для вывода (\Forms\SysPrintForm\Designs\Design\[Group:MainGroup]\[Tab:MainTab]\[TabPage:General]\[Group:TargetSpecificationGroup]\[Tab:TargetTab]\[TabPage:ExcelTab]).
В \Forms\SysPrintForm\Methods\ClassDeclaration прописать макрос #DEFINE.TAB_EXCEL(5)
В \Forms\SysPrintForm\Methods\buildFormRun прописать:
if (! clientSysPrintOptions.showOutputScreen())
{
formListItem = new FormListItem("Excel", imageListAppl_Print.image(#ImageClass), PrintMedium::ViewerClass);
sendTo.addItem(formListItem);

В \Forms\SysPrintForm\Methods\closeOk прописать:
if (clientSysPrintOptions.parmTarget() == PrintMedium::ViewerClass)
{
clientSysPrintOptions.parmViewerType(ReportOutputUserType::Viewer4);
}
В \Forms\SysPrintForm\Methods\changeTarget прописать:
case PrintMedium::File:
//,PrintMedium::ViewerClass:
element.setTargetSettings(#TAB_FILE, "@SYS53220", PrintMedium::File, true, false); //AX4

2. Если Вы хотите создать отчеты с нуля с выводом в Excel:
Определитесь, на основе какой технологии Вы собираетесь выполнять экспорт отчетов в Excel.
Если на основе COM - технологии, то Вам необходимо:
1. Если при выводе необходимо создавать файл Excel и произвольным образом выводить в файл данные: На основе классов ComOfficeDocument_RU и ComExcelDocument_RU, предварительно их доработав, создать классы потомки которые и будут выполнять пересчет и вывод данных в Excel.
2. Если при выводе необходимо воспользоваться заранее заготовленным шаблоном то Вам необходимо создать для этого потомок RunBaseBatch. Обеспечить интерфейс ввода начальных данных перекрытием методов dialog(), init(), queryRun(), run() Далее в созданном методе, например setInitialParameters() определяем наличие в указанном месте файла шаблона при помощи winapi инициализируем введенные параметры и выводим отчет при помощи созданного для этих целей метода\методов. Для пересчета и вывода данных необходимо создать класс потомок.