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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.12.2008, 21:50   #1  
DmitrySincerity is offline
DmitrySincerity
Участник
 
32 / 10 (1) +
Регистрация: 28.11.2008
Адрес: Минск
create Pdf invoice report
Вечер добрый, уважаемые.

Есть такая необходимость: после создания SalesOrder и постинга инвойса мне нужно создать pdf-файл (аналогичный тому, который показывается при постинге инвойса из самого Dynamics AX) и положить его в какую-либо папку на компе (серваке). Весь код вызывается (через AxaptaObject::Call()) из ASP.NET приложения по клику на кнопку, предварительно создавая и SalesOrder, и Invoice и иже с ними: проверял - в самом Dynamics записи созданы верно и я могу распечатать инвойс . Т.е. мне фактически нужно, чтобы по клику на оную помимо создания все записей "выплевывался" pdf-файл-репорт об инвойсе.

Пробовал искать по форуму и "испытывал" следующие вещи:

1.
X++:
public static void EPSendDocumentTest(Args _args)
{
    EPSendDocument sendDocument;
    CustInvoiceJour custInvoiceJour;
    Filename filename;
    ;

    select firstonly custInvoiceJour;

    filename = WinAPI::getTempPath() +'MyInvoice.pdf';

    sendDocument = new EPSendDocument(custInvoiceJour);
    sendDocument.parmOriginal(true);
    sendDocument.parmFileName(filename);
    // Make document will run the report and send it to a PDF file with
    // the path specified in filename
    sendDocument.makeDocument();
}
2.
X++:
public void SuccessPostingInvoice(SalesId _salesId)
{
    
    SalesFormLetter letter;    
    PrintJobSettings printJobSettings;
    CustInvoiceJour InvJTbl;
    RecordSortedList List = new RecordSortedList(tableNum(CustInvoiceJour));
    ;    
......
......    
        letter = SalesFormLetter::construct(DocumentStatus::Invoice, true);
        letter.update(salesTable, SystemDateGet(), SalesUpdate::All, AccountOrder::None, false, true);
        letter.run();     

    letter.createParmUpdate();

    letter.initParameters(letter.salesParmUpdate(), PrintOut::Current,true);      

    Select InvJTbl Where InvJTbl.SalesId == salesId;
    List.ins(InvJTbl);
 TaxUnrealizedInvoice::printFromCustInvoiceJour(InvJTbl,letter,List,PrintCopyOriginal::Original);// тут много чего пробовал :(
    letter.run();
}
3. пробовал и такую разновидность( это отсюда gatesasbait: Automatic creation of a PDF from a customer invoice in Dynamics Ax 4.0):
X++:
printJobSettings=new PrintJobSettings(salesFormLetter.printerSettingsFormletter(
                                                          PrintSetupOriginalCopy::Original));
   printJobSettings.setTarget(PrintMedium::File);
   printJobSettings.format(PrintFormat::PDF);
   printJobSettings.fileName(@"C:\Test_Order.pdf");
   salesFormLetter.updatePrinterSettingsFormLetter(printJobSettings.packPrintJobSettings());
   salesFormLetter.printJournal();
не помогло
Можете что-то посоветовать?
Старый 25.03.2009, 17:27   #2  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
There is a MS bug in EPSendDocument class - sendFile variable should be initialized correctly.
For example
sendFile = _file;

I should send about 3000 invoices in PDF today and only a few minutes ago I fixed it
Теги
баг, экспорт, axapta

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
gatesasbait: Report 'shape' control issues with PDF Printer class in Dynamics AX 4.0 Blog bot DAX Blogs 0 09.09.2008 07:07
gatesasbait: Automatic creation of a PDF from a customer invoice in Dynamics Ax 4.0 Blog bot DAX Blogs 0 28.04.2008 19:05
Axapta Lessons: Auto Report as finished Blog bot DAX Blogs 0 28.10.2006 18:22
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:20.