20.03.2014, 07:58 | #1 |
Участник
|
Печать акта приемки
Добрый день!
При печати акта приёмки, 1. Расчеты с клиентами - Сведения по Заказам на Продажу 2. Разноска - Накладная (Галочка "Печать акта приемки") Получать ошибку Ранее эта ошибка не возникала, класс ComWordDocument_RU и ComOfficeDocument_RU не правились. Кто-нибудь сталкивался с подобной ошибкой, как победить? AX 2009 Kernel version : 5.0.1500.4570 App. ver. : 5.0.1500.6491 |
|
20.03.2014, 11:10 | #2 |
Участник
|
Проблема при работе с аксаптой в терминале?
|
|
20.03.2014, 14:08 | #3 |
Участник
|
|
|
20.03.2014, 17:47 | #4 |
Banned
|
Это не лечится. Единственный способ - печатать вне транзации и вне StartLengthyOperation - EndLengthyOperation (!).
|
|
21.03.2014, 08:21 | #5 |
Участник
|
Это одна их проблем с DAX2009 при выводе в Excel через COM(не знаю где больше проблема в AX или в Excel, но она есть), для Word тоже есть такие проблемы, система периодически вываливается с разными ошибками типа Вашей, то число аргументов, не то, то типы аргументов не такие, особенно часто это проявляется если вы запускаете выгрузку и начинаете переключаться в другие окна, в большинстве случаев будет данная ошибка.
Есть несколько вариантов попробовать исправить ошибку, описаны в этой теме - Ошибка времени выполнения в ComExcelDocument_RU.findRange(). Суть вариантов такая : 1. Обрамить вызовы выводы в COM макросами #StartSafeCall_RU, #EndSafeCall_RU - посмотреть их использование в системе и сделать можно по аналогии. 2. Запускать в отдельном потоке формирование файла. 3. Переписать вызовы COM на .Net Первые 2 применял на практике, у каждого из вариантов есть свои проблемы и особенности, в целом оба позволяют добиться необходимых результатов.
__________________
Sergey Nefedov |
|
|
За это сообщение автора поблагодарили: Sergikrus (1). |
21.03.2014, 09:38 | #6 |
Участник
|
Спасибо, буду пробовать.
|
|
21.03.2014, 19:04 | #7 |
Banned
|
Все эти #StartSafeCall мне в аналогичной ситуации не помогали, как и манипуляции с GhostWindow и т.д. Отдельный поток - это многообещающе.
Последний раз редактировалось EVGL; 21.03.2014 в 19:07. |
|
21.03.2014, 19:20 | #8 |
Участник
|
А можно подробнее - это как?
__________________
Ivanhoe as is.. |
|
22.03.2014, 13:07 | #10 |
Участник
|
Все эти танцы с бубнами лично меня не спасали никогда. Недавно узнал прелюбопытнейшую вещь - ошибки возникают, если вызов происходит с формы, на которой есть display методы. Если пошагово пройти печать какого-нибудь отчета, то видно, что при вызове методов Com обработка иногда перескакивает на эти самые display методы, отсюда и возникает ошибка. Собственно почему так происходит - вопрос, но лечится, если все display методы закешированы на форме.
|
|
|
За это сообщение автора поблагодарили: EVGL (3), NoTimeToCry (1). |
24.03.2014, 03:56 | #11 |
Участник
|
У нас пользователи в модуле "Расчеты с клиентами" работают через терминальный доступ. Была точно такая же проблема и ряд других в этом контексте. При этом их количество росло пропорционально нагрузке на терминальный сервер. Но, ошибка "про аргументы" точно возникала после переноса модификаций в классах, участвующих в данном прецеденте печати. Именно с ошибкой "про аргументы", оперативно и часто помогали известные танцы - рекомпиляция классов участвующих в прецеденте связанным с генерацией документов office + сброс кэша пользователя и сервера.
Системно же решил проблему переносом формирования в неинтерактивном режиме документов в Office (Excel) на сервер (AOS) и возможностью включения/выключения пользователем настройки автосохранения Office-документа в специальную папку и отсылкой сохраненных документов на его на почту. При этом это работает прозрачно для всех прецедентов "печати в office" в рамках приложения, и при создании-наполнении документа в неинтерактивном режиме на сервере прошлые ошибки исчезли. Т.е. пользователь при включенной галке, нажал где либо "Печать..." - документ сохранился в папку, отослался ему на почту, открылся инфолог, мол "сохранилось, выслалось...", а при выключенной галке - документ открывается интерактивно. Т.к. при включенной галке основная нагрузка ложится на AOS, то, в терминальных сессиях на загруженном сервере, это сильно выручает - процесс намного быстрей и "100-ый открывающийся Excel" не загружает терминальный сервер. Ну и также в обычных сессиях это тоже используется, т.к. удобно. Соответственно, это работает и при разноске накладной и при любом прецеденте создания office-документов. Последний раз редактировалось Romb; 24.03.2014 в 05:08. |
|
|
За это сообщение автора поблагодарили: NoTimeToCry (1). |
|
Похожие темы | ||||
Тема | Ответов | |||
Печать самих файлов PDF | 9 | |||
Отчеты и печать штрих кода | 18 | |||
Печать документов по Заказам, Закупкам | 8 | |||
ячейки приемки | 12 | |||
Фактура не выходит на печать... | 1 |
|