| 
	 | 
| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Пакетная печать Excel
			 
			
			Microsoft dynamics ax 2012. 
		
		
		
		
		
		
		
	Добрый день. При попытке распечатать отчет Excel в пакете выдает следующие ошибки: "Method 'open' in COM object of class 'Workbooks' returned error code 0x800A03EC (<unknown>) which means: Microsoft Excel cannot access the file 'C:\Users\Administrator\AppData\Local\Temp\AxReports\ТОВАРНАЯ НАКЛАДНАЯ-000368.xlsx'. There are several possible reasons: • The file name or path does not exist. • The file is being used by another program. • The workbook you are trying to save has the same name as a currently open workbook." "Cannot create Microsoft Office Excel workbook." "File ’C:\Users\Administrator\AppData\Local\Temp\AxReports\ТОВАРНАЯ НАКЛАДНАЯ-000368.xlsx’ cannot be opened." Оно доходит до строки m_comDocument = comWorkBooks.open(_filename) и выдает ошибку(класс comExcelDocument_RU метод openDocument). X++: if (m_comApplication) { comWorkBooks = m_comApplication.workBooks(); this.finalizeCOM(m_comDocument); m_comDocument = comWorkBooks.open(_filename); comWorkBooks.finalize(); return true; }  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Мне кажется, стоит проверить вышеизложенные причины по очереди
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			На АХ2009, было два режима пакета (для совместимости). 
		
		
		
		
		
		
		
	там Ехель в пакете работал только в старом режиме, что логично, тк требует клиента запущенного. В серверном режиме пакета нужно доделывать отчет до формирования файла и последующего его открытия где-то у заказавшего (ссылку ему на емайл слать или еще как). Нужно понимать, что СОМ на АОС в пакетинике работает без визуализации и сам Ехель должен быть на АОС и ему виден, кк и все пути до шаблона и места сохранения. Так что, без напильника имхо никак.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Нашёл решение здесь: 
		
		
		
		
		
		
		
	http://social.msdn.microsoft.com/For...erver-2008-x64 Надо создать папку. Просто создать ![]() ・Windows 2008 Server x64 C:\Windows\SysWOW64\config\systemprofile\Desktop ・Windows 2008 Server x86 C:\Windows\System32\config\systemprofile\Desktop Ошибка в самом деле пропадает. Что будет дальше неясно...  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Maximin (3). | |
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Спасибо за помощь. Странность состоит в том, что у меня Windows 2008 Server x64. Я находил описание и создавал папку, но это не помогло. Сейчас я решил создать папку как для x86 и все заработало))))))
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Добрый день. 
		
		
		
		
		
		
		
	Класс XMLExcelReport_RU метод processInExcel. X++: case PrintMedium::Printer: if (!excelDocument) { excelDocument = new ComExcelDocument_RU(); } prmMissing = new COMVariant(); prmMissing.variantType(COMVariantType::VT_NULL); excelDocument.open(_filename, false); workbook = excelDocument.getComDocument(); //BP deviation documented workbook.printOut(prmMissing, //fromPage prmMissing, //toPage numberOfCopies, //numberOfCopies false, //preview printJobSettings.deviceName()); //printerName, //BP deviation documented workbook.close(false); workbook.finalize();  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Втавлял в run отчетов на пакете. Помогло. 
		
		
		
		
		
		
		
	X++: CodeAccessPermission permission = new InteropPermission(InteropKind::ComInterop);
;
permission.asset();
... | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не помогло  
		
		
		
		
		
		
		
	 
		 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Подскажите пожалуйста как можно вывести на печать документ Excel, который лежит на сервере.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			AX2012 в пакетном режиме не поддерживает COM, как вариант можно выводить текстом в формат Excel XML.
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	aLL woRk aNd nO JoY MAKes jAck a dULL Boy  | 
| 
	
 | 
| 
	
	 | 
	
			 
			Похожие темы
		 | 
	||||
| Тема | Ответов | |||
| Пакетная печать документов в Excel | 10 | |||
| Двухсторонняя печать в Excel | 2 | |||
| Печать страниц Excel на отдельные листы | 3 | |||
| Печать excel 2007 | 4 | |||
| Печать отчета в Excel. Axapta 3.0 | 2 | |||
		
  |