AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 28.03.2008, 10:23   #1  
Бриллиантик ist offline
Бриллиантик
Участник
 
15 / 10 (1) +
Registriert seit: 31.01.2008
Проблемы с выгрузкой отчета их HTML в Excel. Ax3.0
Всем привет. Прошу прощения, если сделала что- то не так, я здесь новичок. У меня такая проблема: выгружаю оборотку (около 3000-4000 строк) в формате HTML, потом пытаюсь открыть его в Екселе (Офис 2003), а он пишет каракули, когда страниц отчета или строк меньше- без проблем, а если много (и то не всегда, бывает открывается нормально, через раз). Ексел нужен, чтобы бухи исправляли какие то цифры. Если из формата ASCII в EXCEL- выгружается ноомально, но бухам не нравится. В общем у меня такой вопрос- эта проблема в Аксапте или в Екселе и что можно сделать? Мне нужно срочно решить эту проблемы. Надеюсь на вашу помощь .
Alt 28.03.2008, 12:05   #2  
xenikk ist offline
xenikk
Axapta Retail User
Benutzerbild von xenikk
Axapta Retail User
 
30 / 10 (1) +
Registriert seit: 20.06.2007
Ort: Moscow
Стандартными способами отчеты в Excel поместить нельзя, нужно самим писать отчеты.
Существует несколько способов.
Например, сделайте поиск по форуму - ключевое слово - ComExcelDocument_RU
__________________
Романтик..
Alt 28.03.2008, 13:12   #3  
Бриллиантик ist offline
Бриллиантик
Участник
 
15 / 10 (1) +
Registriert seit: 31.01.2008
Zitat:
Стандартными способами отчеты в Excel поместить нельзя, нужно самим писать отчеты.
Проблема не в этом, я повторю- выгружаю отчет в HTML, из HTML открываю в Екселе отчет, если страниц/строк немного- то все в порядке, а если страниц много и строк больше 2000-3000- то получаются каракули. Вопрос- кто-нибудь сталкивался с такой проблемой и как решили? В чем загвоздка? Что не так? Кто сможет помочь мне в этом вопросе? Плиз, срочно...
ПыСы. Здесь на форуме вчера да и сегодня 4-5 раз пыталась найти похожую тему- по поиску, но не нашла, есть схожие- но у них проблема в другом.
Alt 28.03.2008, 13:20   #4  
miklenew ist offline
miklenew
Участник
Benutzerbild von miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1.688 / 438 (18) +++++++
Registriert seit: 10.07.2006
Ort: г. Ликино-Дулёво
xenikk на верное имел ввиду что, люди редко пользуются выгрузкой отчёта в html. И ещё реже дальнейшей конвертацией в excel.
Если нужен какой то отчёт заказывают программерам.
Если просто данные копи-пастом в Excel через буфер.
Alt 28.03.2008, 13:44   #5  
vc ist offline
vc
Участник
Самостоятельные клиенты AX
Axapta Retail User
 
89 / 23 (1) +++
Registriert seit: 03.06.2005
У меня это было связано с тем, что в заголовке HTML документа ( в теге <HEAD>)
Аксапта не добавляет строку
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">

Попробуйте вставить ее вручную в проблемном документе. Может быть количество страниц и не причем.
Alt 28.03.2008, 13:49   #6  
Бриллиантик ist offline
Бриллиантик
Участник
 
15 / 10 (1) +
Registriert seit: 31.01.2008
Zitat:
xenikk на верное имел ввиду что, люди редко пользуются выгрузкой отчёта в html. И ещё реже дальнейшей конвертацией в excel.
Если нужен какой то отчёт заказывают программерам.
Почему редко пользуются? А чем тогда пользуются в альтернативе? Извините, я с Казахстана и у нас в городе всего две компании которые пользуются Аксаптой, поэтому спросить не у кого. Если выгружать в формат txt то потом в Екселе нужно развигать колонками, вобщем еще чуть подкорректировать. Неужели никто не сталкивался с такой проблемой? Я пробовала на разных машинах, и все хорошие- и память, и материнка, в общем проблема не в компе, а вот в чем?
VC
А что эта строка дает?
Alt 28.03.2008, 13:57   #7  
Lucky13 ist offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Registriert seit: 21.10.2004
Я делел так:
X++:
public void run() //метод run отчета
{
    TextBuffer tb = new TextBuffer();
    str path = element.printJobSettings().filename();
    ;
    super();
    tb.fromFile(path);
    tb.regularExpressions(false);
    tb.find('<head>');
    tb.insert('\n<meta http-equiv=Content-Type content="text/html; charset=windows-1251">', tb.matchPos()+tb.matchLen());
    tb.toFile(path);
}

Geändert von Lucky13 (28.03.2008 um 13:59 Uhr)
Alt 28.03.2008, 14:05   #8  
Бриллиантик ist offline
Бриллиантик
Участник
 
15 / 10 (1) +
Registriert seit: 31.01.2008
Еще раз сорри. Я не особо разбираюсь именно в программировании. Вот метод run формы этого отчета:
void run()
{
element.buildFormInit();
if (!element.setSendToSelection(clientSysPrintOptions.parmTarget()))
{
if (!element.setSendToSelection(PrintMedium::Printer))
{
element.setSendToSelection(PrintMedium::Screen);
}
}

sendTo.setFocus();
element.lock();

super();
this.buildFormRun();
element.unLock();

if (BMMainControl::inAction())
element.closeOk();
}

Мне надо вставлять сюда? Они чтото совсем не похожи
Alt 28.03.2008, 14:10   #9  
vc ist offline
vc
Участник
Самостоятельные клиенты AX
Axapta Retail User
 
89 / 23 (1) +++
Registriert seit: 03.06.2005
Zitat:
Zitat von Бриллиантик Beitrag anzeigen
А что эта строка дает?
Дает знать Excel в какой кодировке сохранен документ.
Еще можно в Excel задать кодировку для html документов по умолчанию.

Сервис / Параметры / Общие / Параметры Web документа / Кодировка / Кириллица (Windows)
Alt 28.03.2008, 14:10   #10  
Lucky13 ist offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Registriert seit: 21.10.2004
Вставлять нужно в метод run самого отчета. Найти его можно так:
1. Найти этот отчет в меню (не в главном, а в пункте Menu AOT)
2. Посмотреть какой MenuItem этот пункт использует.
3. Скорее всего это и есть имя отчета, его поискать в Reports
4. Если такого нет, то найти такой MenuItem и посмотреть на какой отчет он ссылается.

Если метода run с не будет его нужно создать и вставить в него приведенный код.
Alt 28.03.2008, 14:35   #11  
Бриллиантик ist offline
Бриллиантик
Участник
 
15 / 10 (1) +
Registriert seit: 31.01.2008
Zitat:
Сервис / Параметры / Общие / Параметры Web документа / Кодировка / Кириллица (Windows)
Честно сказать? у меня такого нет! есть сервис, есть параметры, а общих уже нет да и прошлась по всем закладкам- нигде такого нет, может в другом месте?
Этот метод я нашла через "формы- название формы", там методы, среди них run- такой какой я выложила сюда, а если заходить в репорт- там есть методы но там нет метода run. Я че то ваще запуталась. Помогите мне, плиззз
Alt 28.03.2008, 14:50   #12  
vc ist offline
vc
Участник
Самостоятельные клиенты AX
Axapta Retail User
 
89 / 23 (1) +++
Registriert seit: 03.06.2005
Вы в Экселе ищете? Вроде должно быть
Alt 28.03.2008, 15:11   #13  
Бриллиантик ist offline
Бриллиантик
Участник
 
15 / 10 (1) +
Registriert seit: 31.01.2008
Сорри за тупизм, а где надо искать? я искала в Аксапте. А надо было в Екселе? поняна, я нашла в Екселе, там стоит кириллица виндоуз.
Так мне никто не поможет, да?

Geändert von Бриллиантик (28.03.2008 um 15:13 Uhr)
Alt 28.03.2008, 15:38   #14  
vc ist offline
vc
Участник
Самостоятельные клиенты AX
Axapta Retail User
 
89 / 23 (1) +++
Registriert seit: 03.06.2005
Zitat:
Zitat von Lucky13 Beitrag anzeigen
Я делел так:
X++:
public void run() //метод run отчета
{
    TextBuffer tb = new TextBuffer();
    str path = element.printJobSettings().filename();
    ;
    super();
    tb.fromFile(path);
    tb.regularExpressions(false);
    tb.find('<head>');
    tb.insert('\n<meta http-equiv=Content-Type content="text/html; charset=windows-1251">', tb.matchPos()+tb.matchLen());
    tb.toFile(path);
}
Тут наверное где то должны быть проверки, что отчет сохраняется в файл, и формат отчета HTML.
А вообще, обидно, что кажется нельзя добавить эту строку при генерации HTML файлов из любого отчета.
Если бы класс ReportOutput не был системным, достаточно было бы добавить одну строку в его метод printHTML
Если бы метод printHTML не был объявлен как final, можно было бы обьявить его наследник, добавить код подобный вашему в его унаследованный метод printHTML и
вызывать конструктор этого класса-наследника вместо конструктора исходного ReportOutput в методе newReportOutput класса SysPrintOptions.
А так мне что то способа не видится
Alt 28.03.2008, 15:49   #15  
Lucky13 ist offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Registriert seit: 21.10.2004
Zitat:
Zitat von vc Beitrag anzeigen
Тут наверное где то должны быть проверки, что отчет сохраняется в файл, и формат отчета HTML.
Да, они длжны быть и есть, просто я упростил код для наглядности.
Zitat:
Zitat von vc Beitrag anzeigen
А вообще, обидно, что кажется нельзя добавить эту строку при генерации HTML файлов из любого отчета.
Если бы класс ReportOutput не был системным, достаточно было бы добавить одну строку в его метод printHTML
Если бы метод printHTML не был объявлен как final, можно было бы обьявить его наследник, добавить код подобный вашему в его унаследованный метод printHTML и
вызывать конструктор этого класса-наследника вместо конструктора исходного ReportOutput в методе newReportOutput класса SysPrintOptions.
А так мне что то способа не видится
А что если добавить этот код в метод SysReportRun.Run()? По-моему должно получиться, надо попробовать.
Alt 28.03.2008, 15:57   #16  
Lucky13 ist offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Registriert seit: 21.10.2004
Zitat:
Zitat von Lucky13 Beitrag anzeigen
А что если добавить этот код в метод SysReportRun.Run()? По-моему должно получиться, надо попробовать.
Попробовал, работает однако
This post has been rated by: vc (1).
Alt 28.03.2008, 16:00   #17  
Masel ist offline
Masel
Участник
 
39 / 537 (18) +++++++
Registriert seit: 19.09.2007
Zitat:
Zitat von Lucky13 Beitrag anzeigen
По-моему должно получиться, надо попробовать.
Да должно получиться. Единственное, что при этом эффект будет только лишь на предпросмотре (т.е. когда в первый раз выбираем канал вывода). В случае если мы уже вывели отчет на экран и пытаемся сохранить в html, то эффекта не будет, там аксапта просто не вызывает этот метод. Причем во втором случае используются одни закрытые классы и никак не впихнуть свой код перед выводом файла.

2Бриллиантик, а вообще если вручную вставить строчку то у вас нормально выводится? Может вообще не в этом дело.
Alt 28.03.2008, 16:11   #18  
vc ist offline
vc
Участник
Самостоятельные клиенты AX
Axapta Retail User
 
89 / 23 (1) +++
Registriert seit: 03.06.2005
Zitat:
Zitat von Lucky13 Beitrag anzeigen
Попробовал, работает однако
Спасибо, не туда копал, получается
Alt 28.03.2008, 16:38   #19  
vc ist offline
vc
Участник
Самостоятельные клиенты AX
Axapta Retail User
 
89 / 23 (1) +++
Registriert seit: 03.06.2005
Zitat:
Zitat von Masel Beitrag anzeigen
В случае если мы уже вывели отчет на экран и пытаемся сохранить в html, то эффекта не будет, там аксапта просто не вызывает этот метод.
Блин, точно. У меня это самый частый сценарий использования. Сейчас вспомнил, что в свое время пытался найти какую то зацепку в SysReportRun при нем. И не нашел.
Alt 31.03.2008, 11:24   #20  
Бриллиантик ist offline
Бриллиантик
Участник
 
15 / 10 (1) +
Registriert seit: 31.01.2008
Masel, я просто не могу понять куда именно вставлять эту строку, я ее вставила, он говорит что какая то функция не обьявлена, а как ее обьявить- не знаю. В общем понять в чем проблема- не могу,уже несколько дней прошло, а решения я не вижу
Stichworte
ax3.0

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Проблемы при экспорте в Excel ymv2000 DAX: Программирование 4 13.06.2007 06:51
Экспорт отчета в Excel Andronov DAX: Программирование 17 13.02.2006 16:13
проблемы с Excel Акавешка DAX: Программирование 6 27.10.2005 12:10
Печать отчета в Excel. Axapta 3.0 Fedr Kuzmich DAX: Функционал 2 19.05.2004 18:26

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 17:26 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.