AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.09.2010, 11:32   #21  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Спасибо за проект.
Два вопроса:
1. У меня появляется опция вывода в Excel только после вывода на экран и вызове печати - так и должно быть? Т.е. без вывода на экран в Excel не вывести?
2. Я так понимаю, выгрузка идет через буфер обмена? Наблюдается известный глюк - если раскладка клавиатуры перед выгрузкой английская, то в Excel выгружаются кракозябры =)
__________________
Ivanhoe as is..
Старый 30.09.2010, 11:43   #22  
Bega is offline
Bega
Участник
Аватар для Bega
 
382 / 444 (15) +++++++
Регистрация: 18.08.2005
Адрес: Москва
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Спасибо за проект.
Два вопроса:
1. У меня появляется опция вывода в Excel только после вывода на экран и вызове печати - так и должно быть? Т.е. без вывода на экран в Excel не вывести?
2. Я так понимаю, выгрузка идет через буфер обмена? Наблюдается известный глюк - если раскладка клавиатуры перед выгрузкой английская, то в Excel выгружаются кракозябры =)
1. Да.
2. Да.
Старый 11.04.2011, 17:45   #23  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Неизвестный герой Columbus с ником TRUD, конечно, проделал большую работу. Однако нельзя же было вообще не интересоваться как там и что сделано? Этот функционал, очевидно, был сделан под Ax2.5 и слегка "подмазан" для Ax3.0. Соответственно, содержит ряд ошибок и неточностей. Одно лишь ограничение по длине символьного значения в 100 символов в свое время стоило дополнительных нервов

Впрочем, винить в этом исполнителя не стоит. Очевидно, у него был дефицит времени. Но если уж портировать это решение в Ax2009 стоило бы "подчистить шероховатости" По крайней мере, про типы Int64 и DateTime стоило вспомнить

Во вложении проект для Ax2009 где экспорт в Excel решен через ADO RecordSet. В принципе, системные формы и классы изменены точно так же, что и в решении от Bega. Ну, разве что, в методе класса \Classes\ClassFactory\createViewer() стоит ссылка уже на мои классы

Проблемы, которые так и не удалось решить

1. В базовом классе reportOutputUser на основе которого и формируется весь процесс нет обработки полей типа GUID. Как следствие, если в отчете есть подобное поле, то экспорт в Excel вылетит с исключением. Ничего в Excel импортировано не будет.

Перехватить эту ошибку, чтобы вывести хотя бы все остальное - невозможно. Это ошибка "ядра".

2. При экспорте в Excel опять же, где-то в недрах базового класса reportOutputUser происходит "потеря" настроек принтера. Очищается экземпляр класса PrintJobSetting.

Это-то ладно, поскольку к моменту выполнения reportOutputUser сам отчет уже сформирован и остается просто отобразить результат. Однако если вывод в Excel сделать не из формы предварительного просмотра, а напрямую по кнопке Ok, то происходит запись "пустого" PrintJobSetting в кеш отчета. Соответственно, следующий запуск отчета выводит полную ерунду, пока не восстановишь настройки принтера.

Где именно происходит перезапись кеша отчета - непонятно. По крайней мере на момент завершения \Forms\SysPrintForm\Methods\closeOk() все настройки на месте.

В Ax2.5 такой проблемы не было, поэтому можно было отправлять в Excel напрямую из отчета, а не через окно предварительного просмотра. Но в Ax2009 как обойти эту проблему я не нашел.
Вложения
Тип файла: xpo SharedProject_AxaptaReport2Excel.xpo (248.1 Кб, 428 просмотров)
За это сообщение автора поблагодарили: Ace of Database (5), Bega (5), perestoronin (1).
Старый 07.06.2013, 10:47   #24  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Добавил возможность рисования гридов в Экселе.
Для этого в шаблоне аксаптовского отчета надо для контрола, с которого грид начинается, присвоить имя, начинающееся с букв "GridStart". Для контрола, на котором грид заканчивается, присвоить имя, начинающееся с букв "GridEnd".
Можно делать более одного грида. Но я тестировал только с одним гридом.
Изображения
 
Вложения
Тип файла: xpo SharedProject_AxaptaReport2Excel.xpo (251.4 Кб, 487 просмотров)

Последний раз редактировалось Ace of Database; 07.06.2013 в 10:56.
Теги
экспорт в excel, экспорт отчета

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Классы для генерации отчетов в Excel Eldar9x DAX: Программирование 29 10.06.2011 13:18
EP2009. Не вижу стандартных отчетов на сервере отчетов. slava09 DAX: Администрирование 8 19.08.2008 08:03
Маленькое замечание про вывод в Excel NNB DAX: Программирование 11 23.06.2008 16:23
Axapta программирует Excel на VBA Gustav DAX: База знаний и проекты 10 13.03.2006 11:42
Подвисает Excel 111andrei DAX: Программирование 25 30.01.2006 11:07

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:33.