AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 25.11.2023, 21:09   #1  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1635 (57) ++++++++
Join Date: 07.06.2003
Blog Entries: 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>
Excel такой файл не понимает, при открытии говорит что он поврежден.
Если эти теги(x:drawing и x:rowBreaks) поменять вручную местами, то все работает.
Но непонятно как это пофиксить из кода. Все стандартные отчеты идут без логотипов


Версия D365FO(если это важно), но я думаю в АХ2012 такая же проблема
Old 26.11.2023, 14:40   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
4,001 / 3298 (118) ++++++++++
Join Date: 12.10.2004
Location: Москва
Blog Entries: 2
Не сталкивался.

Может быть задействовать уже готовый шаблон в которым эти свойства выставлены как надо ?
Old 26.11.2023, 15:04   #3  
Raven Melancholic is offline
Raven Melancholic
Участник
Raven Melancholic's Avatar
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Join Date: 21.03.2005
Location: Москва-Петушки
Quote:
Originally Posted by Logger View Post
Не сталкивался.

Может быть задействовать уже готовый шаблон в которым эти свойства выставлены как надо ?
Вряд ли поможет. Тем более автор указал, что использует шаблон.

Аксапта пересоздает данные шаблона копированием и далеко не всегда корректно это делает.

я, в свое время, так и не поборол (там другое, но проблема из-за того же подхода) Специальные именованные диапазоны Excel и работа с ними в DAX2012 при помощи OXML
Old 27.11.2023, 15:47   #4  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1635 (57) ++++++++
Join Date: 07.06.2003
Blog Entries: 1
В общем получилось решить меняя местами эти теги при сохранении. Код для этого ниже

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).
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
XMLExcelReport_RU Ошибка при формировании excel отчета в пакете DaniilT DAX: Программирование 2 04.08.2022 16:18
Теория: Создание отчета в виде Запроса Arahnid DAX: Программирование 3 20.12.2007 15:24
Создание формы перед генерацией отчета madproger DAX: Программирование 19 12.10.2006 13:19
Создание дизайна отчета Alenka DAX: Программирование 3 19.04.2006 14:24
Создание отчета Ruff DAX: Функционал 4 23.12.2003 10:12

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 22:38.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.