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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.09.2018, 22:40   #1  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,687 / 2223 (82) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Как вывести Electronic Report в PDF?
Одной стервозной норвежке не нравится, как декларация по НДС выводится в Excel. Мол, редактируемые документы их аудиторы не приветствуют (оставим за кадром тот факт, что PDF можно тоже редактировать, а загрузка НДС в норвежские органы власти все равно идет через XML).

Собственно вопрос: можно ли вместо Excel сразу сохранять в PDF?

RFTM читал: онлайн документация (поддерживется только Word, Excel, XML, CSV) противоречит интерфейсу, где можно выбрать PDF и даже JSON в качестве формата. В дизайнер, однако, не добавляется, зато на ветвях дизайна есть недокументированная опция XFDF?!
Старый 14.09.2018, 06:42   #2  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
2,120 / 809 (31) +++++++
Регистрация: 10.10.2005
Адрес: Westlands
Точно делал такое в прошлых версиях. Уверен что и сейчас без проблем.

Пока нашел такое
Print Sales Invoice to PDF file from code

P.S.
Но если без промежуточного Excel никак то с PDF add-in как вариант
Workbook.ExportAsFixedFormat Method (Excel)
Пример VBA не к месту но вот PowerShell
X++:
$path = "C:\Users\Downloads" 
$xlFixedFormat = "Microsoft.Office.Interop.Excel.xlFixedFormatType" -as [type] 
$excelFiles = Get-ChildItem -Path $path -include *.xls, *.xlsx -recurse 
$objExcel = New-Object -ComObject excel.application 
$objExcel.visible = $false 
foreach($wb in $excelFiles) 
{ 
 $filepath = Join-Path -Path $path -ChildPath ($wb.BaseName + ".pdf") 
 $workbook = $objExcel.workbooks.open($wb.fullname, 3) 
 $workbook.ActiveSheet.PageSetup.Orientation = 2
 $objExcel.PrintCommunication = $false
 $workbook.ActiveSheet.PageSetup.FitToPagesTall = $false
 $workbook.ActiveSheet.PageSetup.FitToPagesWide = 1
 $objExcel.PrintCommunication = $true
 $workbook.Saved = $true 
"saving $filepath" 
 $workbook.ExportAsFixedFormat($xlFixedFormat::xlTypePDF, $filepath) 
 $objExcel.Workbooks.close() 
} 
$objExcel.Quit()

Последний раз редактировалось ax_mct; 14.09.2018 в 07:11.
Старый 14.09.2018, 08:06   #3  
andiv is offline
andiv
Участник
 
11 / 17 (1) ++
Регистрация: 11.01.2007
посмотрите в сторону xsl-fo. xml + xsl-fo + fop = PDF
возможно кто то уже сделал xsl-fo на основе xml для налоговой.
Старый 14.09.2018, 09:27   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,200 / 2374 (88) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Под PDF имеется ввиду XFDF, он как-то генерируется с помощью компонентов EXCEL.

Печать в PDF напрямую мы пока ниасилили. Теоретически, есть какие-то платные сторонние компоненты, которые могут конвертировать XLSX в PDF, но я сомневаюсь, что там будет хорошо для форматов с требованиями по точности размещения.

UPD. Исправил по резултатам перечитывания начального сообщения и беседы с коллегами.

Последний раз редактировалось belugin; 14.09.2018 в 10:14.
За это сообщение автора поблагодарили: EVGL (3).
Старый 14.09.2018, 11:47   #5  
online
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
3,932 / 2025 (75) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
А нельзя вывести в Excel, а в нем вызвать сохранение в PDF?
__________________
Ivanhoe as is..
Старый 14.09.2018, 12:02   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,200 / 2374 (88) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
А нельзя вывести в Excel, а в нем вызвать сохранение в PDF?
Можно но тогда придется писать клиентскую честь которая этим занимается и как-то с ней общаться. Работа десктопного офиса на сервере не поддерживается а office online не умеет конвертировать в pdf
За это сообщение автора поблагодарили: ax_mct (2).
Старый 14.09.2018, 12:21   #7  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,436 / 318 (13) ++++++
Регистрация: 23.03.2006
Excel можно заблокировать для редактирования паролем
Старый 14.09.2018, 17:59   #8  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
2,120 / 809 (31) +++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от EVGL Посмотреть сообщение
Одной стервозной норвежке не нравится, как декларация по НДС выводится в Excel. Мол, редактируемые документы их аудиторы не приветствуют (оставим за кадром тот факт, что PDF можно тоже редактировать, а загрузка НДС в норвежские органы власти все равно идет через XML).

Собственно вопрос: можно ли вместо Excel сразу сохранять в PDF?

RFTM читал: онлайн документация (поддерживется только Word, Excel, XML, CSV) противоречит интерфейсу, где можно выбрать PDF и даже JSON в качестве формата. В дизайнер, однако, не добавляется, зато на ветвях дизайна есть недокументированная опция XFDF?!
Если вместо и сразу то самое как бы стандартное это SSRS Report в PDF

AX 2012R3:
class PurchRFQAmendmendEmailNotifier
SSRS Report "RFQSend"

Если все же Excel неизбежен то workbook.ExportAsFixedFormat при наличии Add-In.
Старый 14.09.2018, 18:04   #9  
cuba is offline
cuba
Участник
 
164 / 66 (3) ++++
Регистрация: 18.09.2014
Адрес: Kiev
Делали на проектах SSRS в PDF.
Старый 15.09.2018, 01:23   #10  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,687 / 2223 (82) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Если вместо и сразу то самое как бы стандартное это SSRS Report в PDF
Electronic Reporting не поддерживает SSRS.

В любом случае, спасибо всем за участие, ситуация понятна.
Старый 15.09.2018, 10:14   #11  
cuba is offline
cuba
Участник
 
164 / 66 (3) ++++
Регистрация: 18.09.2014
Адрес: Kiev
Мы старались)
Старый 22.09.2018, 10:56   #12  
Rezak is offline
Rezak
Участник
 
1 / 10 (1) +
Регистрация: 22.09.2018
Есть виртуальные PDF принтеры.
BullZip например.
Старый 22.09.2018, 15:09   #13  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,200 / 2374 (88) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Цитата:
Сообщение от Rezak Посмотреть сообщение
Есть виртуальные PDF принтеры.
BullZip например.
Это не поможет так как нет чего-то смог из коробки печатает excel и работает на сервере
Старый 22.09.2018, 18:14   #14  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
2,120 / 809 (31) +++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от belugin Посмотреть сообщение
Это не поможет так как нет чего-то смог из коробки печатает excel и работает на сервере
Тут интересный момент
В принципе можно

Цитата:
We are using windows service on a server that has Excel installed. That service is requested by Web Application from a different server, making the service render the document and save it on the shared file server where Web Application then grabs it.

The windows service uses COM object's functions to create an Excel instance and render xml structure of a document using a blank template, then save it using the COM functions save it in specific format.
X++:
this.m_Excel = new Application();
this.m_Excel.Visible = false;
this.m_Excel.ScreenUpdating = false;
this.m_Excel.DisplayAlerts = false;
this.m_Workbook = m_Excel.Workbooks.Add(BlankTempleteFilePath);
this.m_Sheet = (Worksheet)m_Workbook.Worksheets[1];

// blablabla, filling the document...
this.m_Workbook.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, resultPath, XlFixedForm
https://social.msdn.microsoft.com/Fo...forum=exceldev

Но не рекомендуется
Цитата:
Microsoft does not currently recommend, and does not support, Automation of Microsoft Office applications from any unattended, non-interactive client application or component (including ASP, ASP.NET, DCOM, and NT Services), because Office may exhibit unstable behavior and/or deadlock when Office is run in this environment.
http://support.microsoft.com/kb/257757/en-us
Старый 11.10.2018, 15:02   #15  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,200 / 2374 (88) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Есть open source библиотека iTextSharp, которая уммеет запихивать xfdf внутрь pdf и объединять несколько pdf в один.
Старый 11.10.2018, 15:44   #16  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,687 / 2223 (82) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от belugin Посмотреть сообщение
Есть open source библиотека iTextSharp, которая уммеет запихивать xfdf внутрь pdf и объединять несколько pdf в один.
К сожалению, документация, как этот XFDF силами Electronic Reporting произвести, так и не существует.
Старый 11.10.2018, 19:22   #17  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,200 / 2374 (88) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Можно сгенерировать его как обычный XML (см "VAT declaration U30 XPDF format for Austria")
За это сообщение автора поблагодарили: ax_mct (3).
Старый 11.10.2018, 21:58   #18  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
2,120 / 809 (31) +++++++
Регистрация: 10.10.2005
Адрес: Westlands
Возможно самый дешевый вариант паролить то что есть
Sheet1.Protect(getPasswordFromUser, true);

https://docs.microsoft.com/en-us/vis...s?view=vs-2017
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
k3technical: Running an Electronic Report from a menu item Blog bot DAX Blogs 3 05.09.2017 15:37
ax-erp: Walkthrough: Creating a Report Bound to a Report Data Provider Class (X++ Business Logic) [AX 2012] Blog bot DAX Blogs 0 20.09.2012 11:11
sumitsaxfactor: Report Design and Controls Blog bot DAX Blogs 0 05.09.2012 22:11
ax-erp: Save SSRS report to pdf that uses Controller classes [Dynamics AX 2012] Blog bot DAX Blogs 0 19.07.2012 18:11
emeadaxsupport: New Content for Microsoft Dynamics AX 2012 : October 2011 Blog bot DAX Blogs 0 27.10.2011 17:11
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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