Показать сообщение отдельно
Старый 18.07.2014, 14:18   #6  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Добавлю свои 5 копеек.
Мы с коллегой столкнулись с похожей проблемой.
Исходная ситуация:
  • AX2012R2 CU6
  • MS Office 2010
  • Шаблон отчета, в котором в заголовке вставлено изображение (прямо в файл шаблона). Структура xml в шаблоне корректная, ссылка на картинку и сама картинка запакованы в файл.
Проблема:
Отчет создается с помощью класса XmlExcelReport_Invoice4Paym_RU. При построении отчета используется механизм вставки разрывов страниц. В случае добавления хотя бы одного pageBreak выводится сообщение:
Цитата:
Метод "add" в COM-объекте класса "Workbooks" возвратил код ошибки 0x800A03EC (<неизвестно>), который означает: Add method of Workbooks class failed.
Невозможно создать рабочую книгу Microsoft Office Excel.
Сначала показалось что это проблема с версией MS Office, про которую писал gl00mie в сообщении выше. Попробовали переустановить на 2013-ый - не помогло.
При более детальном изучении оказалось, что если pageBreak не вставляется (т.е. отчет помещается на 1 страницу) - все работает отлично!

Решение:
Если кто-то столкнется - с такой же ошибкой и шаблоном отчета с картинкой - просто удалите её и попробуйте перезапустить ваш отчет

Вывод картинки через openXML в имеющихся обертках OXML в стандарте не реализован (видимо для стандартных отчетов не понадобился).
Если все же необходимо выводить картинку в отчет - я нашел 2 пути:

1. В классе XmlExcelReport_RU в методе run() можно перехватить COM объект Excel и вывести картинку через COM: Image & Excel или Быстрый способ вывода данных в Excel с картинками
2. Можно доработать семейство OXML, добавив обработку картинок. Я этим путем не пошел т.к. он показался довольно трудоемким. Но при реализации можно опираться на статью MSDN insert-images-into-specific-excel-cells-using-openxml

Последний раз редактировалось kornix; 18.07.2014 в 14:22.
За это сообщение автора поблагодарили: leva (2), gl00mie (3), S.Kuskov (3).