AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.03.2010, 15:18   #33  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1235 (44) ++++++++
Регистрация: 11.04.2008
Несколько по-другому решил такую же проблему. Идея в следующем:
1) Копируем шаблон отчета (*.xlt) во временную папку (WinApi::getTempPath()), одновременно присвоив ему нужное имя
2) Печатаем отчет на основе скопированного и переименованного шаблона из временной папки
3) Удаляем скопированный шабон.

Способ чуть более тяжелее, но и "чуть" более надежнее, при этом позволяет делать SaveAs с управляемым именем.
Недостатоки
1. Копирование файла
2. Excel, собако, таки приписывает в конце единичку

X++:
FileNameOpen copyAndRenameTemplate(FileNameOpen _templateFilePath, FileName _newFileName)
{
    FilePath        filePath;
    FileName        fileName;
    FileExtension   fileExt;
    Counter         fileIdx;
    ;

    [filePath, fileName, fileExt] = fileNameSplit(_templateFilePath);

    tmpTempaleFilePath            = WinApi::getTempPath() + _newFilename + fileExt;

    if ( WinApi::fileExists(_templateFilePath) && WinApi::fileExists2(WinApi::getTempPath()) )
    {
        tmpTempaleFilePath = WinApi::getTempPath() + _newFilename + fileExt;

        WinApi::copyFile(_templateFilePath, tmpTempaleFilePath, true);
    }

    return tmpTempaleFilePath;
}
X++:
void deleteTmpTempaleFile()
{
    ;
    if (WinApi::fileExists(tmpTempaleFilePath))
        WinApi::deleteFile(tmpTempaleFilePath);
}
X++:
try
    {
        reportTemplateFile = this.copyAndRenameTemplate(reportTemplateFile, newFileName);

        excel = new ComExcelDocument_RU();

        excel.open(reportTemplateFile, false);

        this.deleteTmpTempaleFile();

        this.printReport();

        excel.visible(true);
    }

Последний раз редактировалось DSPIC; 11.03.2010 в 15:23.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сохранение документа Excel Soup DAX: Программирование 15 07.06.2021 14:36
Ошибка при сохранении документа в MS Excel Breeze DAX: Программирование 13 23.01.2009 15:48
Как вставить в Excel имя из аксапты? Prof DAX: Программирование 2 23.09.2005 13:50
Форматирование Excel-документа из Axapta kostas DAX: Программирование 6 14.04.2004 14:52
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:38.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.