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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.01.2011, 13:07   #1  
Dynamic is offline
Dynamic
Участник
 
2 / 10 (1) +
Регистрация: 04.01.2011
Добрый день, Offenmeier и уважаемые участники AXForum!

Мы столкнулись с 2-мя проблемами. При печати отчётов в PDF - файл в батче периодически генерируются пустые файлы (при печати с клиента все хорошо):

1. В цикле по CustTrans для каждой транзакции ищется CustInvoiceJour и для него запускается печать отчёта SalesInvoice в PDF, точно так же как в методе CustInvoiceJour.printJournal(). В результате генерируется много PDF- файлов, причём часть из этих файлов повреждённые (не открываются). Что вы могли бы посоветовать для решения этой проблемы, мне кажется, что наша проблема похожа на описанную вами. Не совсем понятно, что вы имели в виду, когда писали:
"после каждой итерации присваивать указателю null", какой конкретно указатель имеется в виду?
Не могли бы вы написать, что ответил вам Майкрософт по этому поводу?
2. Вторая проблема касается печати собственных отчётов в файл в батче. Мы написали RunBaseBatch класс и отчёт. Внутри в классе вызывается печать отчёта, это происходит, как в методе CustInvoiceJour.printJournal(). За один запуск печатается от 1 до 4 отчётов, при этом случайным образом некоторые из них печатаются повреждёнными (не открываются).
Во время тестов мы обнаружили, что проблема касается не только печати в PDF, но и вообще печати в файл (тестировали и для ASCII-файлов). В последнем случае генерируются пустые txt - файлы.
Что вы бы могли посоветовать для решения этой проблемы?
Старый 02.02.2011, 06:00   #2  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
зашёл сюда совершенно случайно! странно, что не получил на электронную почту уведомление о сообщении.

1. проблема возникла потом снова, и мне пришлось снова говорить с Майкрософтом. оказывается, на сервере из-за особенностей распределения памяти в переменные иногда пишется мусор. поэтому когда я создавал отчёт на сервере, одно из свойств его PrintJobSettings оказывалось равным нулю вместо единицы (свойство AllPages).

report.printJobSettings().allPages(true);

после добавления этого кода всё заработало.

2. ещё был такой баг: если в PDF была картинка (логотип к примеру), то из серверной пакетной обработки сохранить PDF невозможно, там какая-то проблема с изображениями и их выводом на сервере в PDF. я делал логотип invisible если отчёт выполняется на сервере и экспортируется в PDF, но может исправили с тех пор.
__________________
our sharp bitter vitriol is not that of the vulgar.
За это сообщение автора поблагодарили: Logger (3), player (1).
Старый 02.02.2011, 10:57   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,889 / 3165 (113) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от offenmeier Посмотреть сообщение
...оказывается, на сервере из-за особенностей распределения памяти в переменные иногда пишется мусор. поэтому когда я создавал отчёт на сервере, одно из свойств его PrintJobSettings оказывалось равным нулю вместо единицы (свойство AllPages).

report.printJobSettings().allPages(true);

после добавления этого кода всё заработало.
...
Ух ты !

А это признано багой ? Или считать как данность и исправлено не будет ?

Что же теперь получается - нельзя полагаться на дефолтные значения переменных ?
Старый 03.02.2011, 02:19   #4  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
PrintJobSettings это как бы и не обычная переменная, это какая-то структура описанная в .NET коде ядра. попробуй в дебаггере посмотреть, что у неё внутри: лично мне так и не удалось внутрь заглянуть.

ни до этого, ни после, я не встречался с подобными проблемами, я думаю, что скорее всего этот баг (а я думаю, что это баг) относится только к PrintJobSettings и только к этому его свойству AllPages, наверное пропустили его в .NET коде инициализации, и туда попадает мусор.
__________________
our sharp bitter vitriol is not that of the vulgar.
Теги
aos, ax2009, pdf, печать

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
daxis: Troubleshooting blocked SPIDS in AOS Blog bot DAX Blogs 0 01.04.2009 18:05
Arijit Basu: Multiple AOS in a Multi CPU Machine :) Blog bot DAX Blogs 1 19.12.2007 17:11
Arijit Basu: AX 4 AOS Basics: [Level 100] Blog bot DAX Blogs 0 18.11.2007 14:30
DynamicsTech: What's New in Dynamics Ax 4.0 AOS? Blog bot DAX Blogs 0 12.04.2007 11:50
axaptapedia: Control AOS from command line Blog bot DAX Blogs 0 09.03.2007 14:50

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

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

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