|  28.03.2008, 10:23 | #1 | 
| Участник | Проблемы с выгрузкой отчета их HTML в Excel. Ax3.0 
			
			Всем привет. Прошу прощения, если сделала что- то не так, я здесь новичок.  У меня такая проблема: выгружаю оборотку (около 3000-4000 строк) в формате HTML, потом пытаюсь открыть его в Екселе (Офис 2003), а он пишет каракули, когда страниц отчета или строк меньше- без проблем, а если много (и то не всегда, бывает открывается нормально, через раз). Ексел нужен, чтобы бухи исправляли какие то цифры. Если из формата ASCII в EXCEL- выгружается ноомально, но бухам не нравится.  В общем у меня такой вопрос- эта проблема в Аксапте или в Екселе и что можно сделать? Мне нужно срочно решить эту проблемы. Надеюсь на вашу помощь  . | 
|  | 
|  28.03.2008, 12:05 | #2 | 
| Axapta Retail User | 
			
			Стандартными способами отчеты в Excel поместить нельзя, нужно самим писать отчеты. Существует несколько способов. Например, сделайте поиск по форуму - ключевое слово - ComExcelDocument_RU 
				__________________ Романтик.. | 
|  | 
|  28.03.2008, 13:12 | #3 | 
| Участник | Цитата: 
		
			Стандартными способами отчеты в Excel поместить нельзя, нужно самим писать отчеты.
		
	 ПыСы. Здесь на форуме вчера да и сегодня 4-5 раз пыталась найти похожую тему- по поиску, но не нашла, есть схожие- но у них проблема в другом. | 
|  | 
|  28.03.2008, 13:20 | #4 | 
| Участник | 
			
			xenikk на верное имел ввиду что, люди редко пользуются выгрузкой отчёта в html. И ещё реже дальнейшей конвертацией в excel. Если нужен какой то отчёт заказывают программерам. Если просто данные копи-пастом в Excel через буфер. | 
|  | 
|  28.03.2008, 13:44 | #5 | 
| Участник | 
			
			У меня это было связано с тем, что в заголовке HTML документа ( в теге <HEAD>) Аксапта не добавляет строку <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> Попробуйте вставить ее вручную в проблемном документе. Может быть количество страниц и не причем. | 
|  | 
|  28.03.2008, 13:49 | #6 | 
| Участник | Цитата: 
		
			xenikk на верное имел ввиду что, люди редко пользуются выгрузкой отчёта в html. И ещё реже дальнейшей конвертацией в excel. Если нужен какой то отчёт заказывают программерам. VC А что эта строка дает? | 
|  | 
|  28.03.2008, 13:57 | #7 | 
| Участник | 
			
			Я делел так:   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); } Последний раз редактировалось Lucky13; 28.03.2008 в 13:59. | 
|  | 
|  28.03.2008, 14:05 | #8 | 
| Участник | 
			
			Еще раз сорри. Я не особо разбираюсь именно в программировании. Вот метод 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(); } Мне надо вставлять сюда? Они чтото совсем не похожи | 
|  | 
|  28.03.2008, 14:10 | #9 | 
| Участник | |
|  | 
|  28.03.2008, 14:10 | #10 | 
| Участник | 
			
			Вставлять нужно в метод run самого отчета. Найти его можно так:  1. Найти этот отчет в меню (не в главном, а в пункте Menu AOT) 2. Посмотреть какой MenuItem этот пункт использует. 3. Скорее всего это и есть имя отчета, его поискать в Reports 4. Если такого нет, то найти такой MenuItem и посмотреть на какой отчет он ссылается. Если метода run с не будет его нужно создать и вставить в него приведенный код. | 
|  | 
|  28.03.2008, 14:35 | #11 | 
| Участник | Цитата: 
		
			Сервис / Параметры / Общие / Параметры Web документа / Кодировка / Кириллица (Windows)
		
	 Этот метод я нашла через "формы- название формы", там методы, среди них run- такой какой я выложила сюда, а если заходить в репорт- там есть методы но там нет метода run. Я че то ваще запуталась. Помогите мне, плиззз | 
|  | 
|  28.03.2008, 14:50 | #12 | 
| Участник | 
			
			Вы в Экселе ищете? Вроде должно быть
		 | 
|  | 
|  28.03.2008, 15:11 | #13 | 
| Участник | 
			
			Сорри за тупизм, а где надо искать? я искала в Аксапте. А надо было в Екселе? поняна, я нашла в Екселе, там стоит кириллица виндоуз.  Так мне никто не поможет, да? Последний раз редактировалось Бриллиантик; 28.03.2008 в 15:13. | 
|  | 
|  28.03.2008, 15:38 | #14 | 
| Участник | Цитата: 
		
			Сообщение от Lucky13
			   Я делел так:   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 файлов из любого отчета. Если бы класс ReportOutput не был системным, достаточно было бы добавить одну строку в его метод printHTML Если бы метод printHTML не был объявлен как final, можно было бы обьявить его наследник, добавить код подобный вашему в его унаследованный метод printHTML и вызывать конструктор этого класса-наследника вместо конструктора исходного ReportOutput в методе newReportOutput класса SysPrintOptions. А так мне что то способа не видится | 
|  | 
|  28.03.2008, 15:49 | #15 | 
| Участник | Цитата: Цитата: 
		
			Сообщение от vc
			   А вообще, обидно, что кажется нельзя добавить эту строку при генерации HTML файлов из любого отчета.  Если бы класс ReportOutput не был системным, достаточно было бы добавить одну строку в его метод printHTML Если бы метод printHTML не был объявлен как final, можно было бы обьявить его наследник, добавить код подобный вашему в его унаследованный метод printHTML и вызывать конструктор этого класса-наследника вместо конструктора исходного ReportOutput в методе newReportOutput класса SysPrintOptions. А так мне что то способа не видится | 
|  | 
|  28.03.2008, 15:57 | #16 | 
| Участник | |
|  | |
| За это сообщение автора поблагодарили: vc (1). | |
|  28.03.2008, 16:00 | #17 | 
| Участник | 
			
			Да должно получиться. Единственное, что при этом эффект будет только лишь на предпросмотре (т.е. когда в первый раз выбираем канал вывода). В случае если мы уже вывели отчет на экран  и пытаемся сохранить в html, то эффекта не будет, там аксапта просто не вызывает этот метод. Причем во втором случае используются одни закрытые классы и никак не впихнуть свой код перед выводом файла. 2Бриллиантик, а вообще если вручную вставить строчку то у вас нормально выводится? Может вообще не в этом дело. | 
|  | 
|  28.03.2008, 16:11 | #18 | 
| Участник | |
|  | 
|  28.03.2008, 16:38 | #19 | 
| Участник | 
			
			Блин, точно. У меня это самый частый сценарий использования. Сейчас вспомнил, что в свое время пытался найти какую то зацепку в SysReportRun при нем. И не нашел.
		 | 
|  | 
|  31.03.2008, 11:24 | #20 | 
| Участник | 
			
			Masel, я просто не могу понять куда именно вставлять эту строку, я ее вставила, он говорит что какая то функция не обьявлена, а как ее обьявить- не знаю. В общем понять в чем проблема- не могу,уже несколько дней прошло, а решения я не вижу
		 | 
|  | 
| Теги | 
| ax3.0 | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Проблемы при экспорте в Excel | 4 | |||
| Экспорт отчета в Excel | 17 | |||
| проблемы с Excel | 6 | |||
| Печать отчета в Excel. Axapta 3.0 | 2 | |||
| 
 |