|
|
#1 |
|
Участник
|
Создание отчета на XMLExcelReport_RU с страницами и лого
А использовал ли кто-нибудь отчет на основании XMLExcelReport_RU где есть лого в шаблоне и разрывы страниц?
Столкнулся с таким непонятным багом, что если есть лого и добавляется разрыв страницы в сформированном XML файле(который можно получить открыв xlsx в архиве) в конце хмл с листом генерятся вот такие строки X++: <x:drawing r:id="rId2" /> <x:rowBreaks count="1" manualBreakCount="1"> <x:brk id="19" man="1" max="16383" /> </x:rowBreaks> Если эти теги(x:drawing и x:rowBreaks) поменять вручную местами, то все работает. Но непонятно как это пофиксить из кода. Все стандартные отчеты идут без логотипов Версия D365FO(если это важно), но я думаю в АХ2012 такая же проблема |
|
|
|
|
#2 |
|
Участник
|
Не сталкивался.
Может быть задействовать уже готовый шаблон в которым эти свойства выставлены как надо ? |
|
|
|
|
#3 |
|
Участник
|
Quote:
Аксапта пересоздает данные шаблона копированием и далеко не всегда корректно это делает. я, в свое время, так и не поборол (там другое, но проблема из-за того же подхода) Специальные именованные диапазоны Excel и работа с ними в DAX2012 при помощи OXML |
|
|
|
|
#4 |
|
Участник
|
В общем получилось решить меняя местами эти теги при сохранении. Код для этого ниже
X++: using DocumentFormat.OpenXml; [ExtensionOf(classstr(OxmlWorksheet_RU))] final class OxmlWorksheet_RUDEV_Extension { private OpenXmlElement DEVsavedLastDrawingElement; public void save() { if (this.rowBreaks().elements()) { this.DEVremoveDrawing(worksheet); } next save(); if (DEVsavedLastDrawingElement != null) { OXML_RU::appendChild(worksheet, DEVsavedLastDrawingElement); } } //fixing the bug where page break element should be before the drawing public void DEVremoveDrawing(DocumentFormat.OpenXml.OpenXmlElement _parent) { OpenXmlElement lastDrawingElement; int i; i = worksheet.ChildElements.get_Count(); lastDrawingElement = _parent.get_LastChild(); str name = lastDrawingElement.get_LocalName(); if (name == "drawing") { DEVsavedLastDrawingElement = lastDrawingElement.CloneNode(true); lastDrawingElement.Remove(); } } } |
|
|
|
| This post has been rated by: SRF (1). | |
|
«
Previous Thread
|
Next Thread
»
|
Similar Threads
|
||||
| Thread | Replies | |||
| XMLExcelReport_RU Ошибка при формировании excel отчета в пакете | 2 | |||
| Теория: Создание отчета в виде Запроса | 3 | |||
| Создание формы перед генерацией отчета | 19 | |||
| Создание дизайна отчета | 3 | |||
| Создание отчета | 4 | |||
|