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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.03.2014, 07:58   #1  
Sergikrus is offline
Sergikrus
Участник
 
82 / 15 (1) ++
Регистрация: 26.09.2008
Адрес: Tyumen
Печать акта приемки
Добрый день!

При печати акта приёмки,
1. Расчеты с клиентами - Сведения по Заказам на Продажу
2. Разноска - Накладная (Галочка "Печать акта приемки")

Получать ошибку
Нажмите на изображение для увеличения
Название: 123.png
Просмотров: 366
Размер:	8.7 Кб
ID:	8792

Ранее эта ошибка не возникала, класс ComWordDocument_RU и ComOfficeDocument_RU не правились.

Кто-нибудь сталкивался с подобной ошибкой, как победить?

AX 2009
Kernel version : 5.0.1500.4570
App. ver. : 5.0.1500.6491
Старый 20.03.2014, 11:10   #2  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
Проблема при работе с аксаптой в терминале?
Старый 20.03.2014, 14:08   #3  
Sergikrus is offline
Sergikrus
Участник
 
82 / 15 (1) ++
Регистрация: 26.09.2008
Адрес: Tyumen
Цитата:
Сообщение от jonny Посмотреть сообщение
Проблема при работе с аксаптой в терминале?
Да, через теминал
Старый 20.03.2014, 17:47   #4  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Это не лечится. Единственный способ - печатать вне транзации и вне StartLengthyOperation - EndLengthyOperation (!).
Старый 21.03.2014, 08:21   #5  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Это одна их проблем с 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  
Sergikrus is offline
Sergikrus
Участник
 
82 / 15 (1) ++
Регистрация: 26.09.2008
Адрес: Tyumen
Спасибо, буду пробовать.
Старый 21.03.2014, 19:04   #7  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Все эти #StartSafeCall мне в аналогичной ситуации не помогали, как и манипуляции с GhostWindow и т.д. Отдельный поток - это многообещающе.

Последний раз редактировалось EVGL; 21.03.2014 в 19:07.
Старый 21.03.2014, 19:20   #8  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от SRF Посмотреть сообщение
2. Запускать в отдельном потоке формирование файла.
А можно подробнее - это как?
__________________
Ivanhoe as is..
Старый 21.03.2014, 19:23   #9  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
А можно подробнее - это как?
Ошибка времени выполнения в ComExcelDocument_RU.findRange()
Старый 22.03.2014, 13:07   #10  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
Все эти танцы с бубнами лично меня не спасали никогда. Недавно узнал прелюбопытнейшую вещь - ошибки возникают, если вызов происходит с формы, на которой есть display методы. Если пошагово пройти печать какого-нибудь отчета, то видно, что при вызове методов Com обработка иногда перескакивает на эти самые display методы, отсюда и возникает ошибка. Собственно почему так происходит - вопрос, но лечится, если все display методы закешированы на форме.
За это сообщение автора поблагодарили: EVGL (3), NoTimeToCry (1).
Старый 24.03.2014, 03:56   #11  
Romb is offline
Romb
Участник
Аватар для Romb
 
79 / 22 (1) +++
Регистрация: 06.01.2004
У нас пользователи в модуле "Расчеты с клиентами" работают через терминальный доступ. Была точно такая же проблема и ряд других в этом контексте. При этом их количество росло пропорционально нагрузке на терминальный сервер. Но, ошибка "про аргументы" точно возникала после переноса модификаций в классах, участвующих в данном прецеденте печати. Именно с ошибкой "про аргументы", оперативно и часто помогали известные танцы - рекомпиляция классов участвующих в прецеденте связанным с генерацией документов office + сброс кэша пользователя и сервера.

Системно же решил проблему переносом формирования в неинтерактивном режиме документов в Office (Excel) на сервер (AOS) и возможностью включения/выключения пользователем настройки автосохранения Office-документа в специальную папку и отсылкой сохраненных документов на его на почту. При этом это работает прозрачно для всех прецедентов "печати в office" в рамках приложения, и при создании-наполнении документа в неинтерактивном режиме на сервере прошлые ошибки исчезли.

Т.е. пользователь при включенной галке, нажал где либо "Печать..." - документ сохранился в папку, отослался ему на почту, открылся инфолог, мол "сохранилось, выслалось...", а при выключенной галке - документ открывается интерактивно. Т.к. при включенной галке основная нагрузка ложится на AOS, то, в терминальных сессиях на загруженном сервере, это сильно выручает - процесс намного быстрей и "100-ый открывающийся Excel" не загружает терминальный сервер. Ну и также в обычных сессиях это тоже используется, т.к. удобно. Соответственно, это работает и при разноске накладной и при любом прецеденте создания office-документов.

Последний раз редактировалось Romb; 24.03.2014 в 05:08.
За это сообщение автора поблагодарили: NoTimeToCry (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Печать самих файлов PDF Владимир Максимов DAX: База знаний и проекты 9 17.08.2017 10:34
Отчеты и печать штрих кода KingPeas DAX: Программирование 18 24.09.2008 14:31
Печать документов по Заказам, Закупкам Swetik DAX: Функционал 8 11.04.2008 20:07
ячейки приемки Tressi DAX: Функционал 12 30.01.2006 06:57
Фактура не выходит на печать... dmit1606 DAX: Функционал 1 05.04.2005 16:10
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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