31.03.2010, 14:38 | #1 |
Участник
|
Программное добавление столбцов в отчёт
Здравствуйте!!
Суть проблемы такая нужно сформировать отчёт таким образом чтоб было так: левый столбец - верхняя строка т е из одной таблицы выводится 1 столбец в секцию боди (тут все норм) Ещё нодо из другой таблицы вывести столбец горизонтально (типа шапка) т е заголовок таблицы 1 Таблица 2 строка 1 Таблица 2 строка 2 Таблица 2 строка 3 таблица 1 строка1 таблица 1 строка2 (тут данные по запросу при объединении этих таблиц) таблица 1 строка3 ------------------------- таблица 1 строкаN программная структура запроса достаточно проста Весь вопрос как вывести в отчет как я показал в Таблице 2 строк может быть разное кол -во |
|
31.03.2010, 14:51 | #2 |
Участник
|
Цитата:
Используйте Microsoft Reporting Service и OLAP для построения отчетов, растущих в ширину. Штатными средствами самой Аксапты делается очень сложно и трудоемко. Если же нужно встроенным генератором отчетости, то рекомендация: = НЕ добавляйте столбцы программно "на лету" = А скрывайте заранее подготовленные столбцы. Т.е. заранее подготовьте отчет с 20-30 столбцами. Добавьте еще столбец с итоговой суммой по строке и еще один столбец "Прочее" для отображения сумм, не вошедших в эти 20-30. Далее полностью вручную делаете запрос. Заполняете названия столбцов. Если получилось меньше, чем вы заранее подготовили, то скрываете лишние столбцы (в том числе и Прочее). Если получилось больше, чем вы заранее подготовили, то заполняете первые 20-30, а остальное показываете суммой в колонке Прочее. Другими словами, создайте пустографку в AOT, а программно скрывайте ненужные столбцы. |
|
31.03.2010, 15:14 | #3 |
Участник
|
А ещё такого рода "шахматные ведомости" можно выводить в Excel. Очень удобно. Но лучший вариант предложил Mazzy - используйте RS, за ним будущее
|
|
31.03.2010, 15:40 | #4 |
Участник
|
Я пытаюсь реализовать это на MSDAX 2009
а где конкретно Microsoft Reporting Service в самой аксапте (должен быть) А Excel это наверно последний вариант (но в принципе может быть) |
|
31.03.2010, 15:56 | #5 |
Участник
|
Сервис \ Инструменты бизнес-аналитики \ *
Читайте по тегу Reporting Service и по тегу OLAP Будет очень замечательно, если вы проставите теги, если наткнетесь на темы без тегов. |
|
01.04.2010, 13:03 | #6 |
Участник
|
Подскажите а где можно прочесть про класс ComExcelDocument_RU
поиск юзал чет ниче ненашёл Надо чтоб было хоть как что для начала нашёл про xlApp = new COM('Excel.Application'); но вроде есть еще способ |
|
01.04.2010, 13:08 | #7 |
Administrator
|
Лучше посмотрите класс SysExcelApplication - с ним более удобно работать. Плюс он понимает разницу в версиях Excel
__________________
Возможно сделать все. Вопрос времени |
|
01.04.2010, 13:22 | #8 |
Участник
|
Мне бы примерчик какой нибудь с любым из варианов
Только чтоб было доходчиво видно что и как |
|
01.04.2010, 14:27 | #9 |
Administrator
|
Цитата:
\Classes\DocuActionCOM_Excel\classDeclaration \Classes\LedgerBalanceSheetDimFileGifi\classDeclaration \Classes\SysStartupCmdCheckBestPractices\updateExcelWorkbook \Classes\SysVersionControlSystemSourceDepot\readExcelWorkbook \Classes\ProjExportToExcelPivot
__________________
Возможно сделать все. Вопрос времени |
|
01.04.2010, 14:30 | #10 |
Участник
|
Пример в стандарте можно найти поиском по классам AOT. Для SysExcelApplication я нашёл - LedgerBalanceSheetDimFileGifi, для ComExcelDocument_RU будет ещё куча всего. И ещё, если уж решились на вывод в Excel, то обязательно прочтите ветку Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент), а также Поговорим об ADO
|
|
01.04.2010, 14:38 | #11 |
Гость
|
|
|
01.04.2010, 14:52 | #12 |
Участник
|
|
|