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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.11.2008, 13:05   #1  
MKhaziev is offline
MKhaziev
Участник
 
16 / 10 (1) +
Регистрация: 08.10.2004
Адрес: Ижевск
? DAX EP 4 и ComExcelDocument_RU
Приветствую!
Есть проблема с ComExcelDocument_RU в портале.
Что хочу получить: ввод данных в WebForm, нажатие на гиперссылку «Генерация документов», открытие шаблона, заполнение, вложение в документооборот.

Пробовал код в методе WebForm, а также в классе, вызываемом через Web\WebMenuItems\Action. В результате Web перестает реагировать, на компьютере с WSS поднимается процесс Excel и висит, EventLog пуст. Может подскажете, что я делаю не так?
X++:
    comExcel = new ComExcelDocument_RU();
    comExcel.open("c:\\test\\template-test.xls", false);
    comExcel.closeDocument(false); //До этой команды не дошли
Спасибо.
Старый 20.11.2008, 13:22   #2  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от MKhaziev
...
Может подскажете, что я делаю не так?
...
Если вас это действительно интересует, то попробуйте складывать данные в промежуточную таблицу, а генерить документы из ax32.exe в каком-нибудь пакетном задании.

Вы очень ненадежное с моей т.з. решение пытаетесь строить.

Возможно, у вас в Эксельке открывается диалог какой-нибудь. Например, отсутствие доступа к файлу или еще чего. А вы так этого никогда не увидите.
__________________
С уважением,
glibs®
Старый 20.11.2008, 13:27   #3  
MKhaziev is offline
MKhaziev
Участник
 
16 / 10 (1) +
Регистрация: 08.10.2004
Адрес: Ижевск
Спасибо за ответ, Glibs!
Я тоже продумывал решение с пакетной обработкой, но это я отложил на крайний случай. Не очень красиво получится, если Клиент введет необходимые данные, пойдет за документами, а вместо этого увидет сообщение "Извините, ваш запрос еще не обработан, зайдите попожже".
Если не получится формировать на лету, то да, пакетная обработка будет приемлимым вариантом.
Старый 20.11.2008, 14:37   #4  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
А вы отправляйте документы по электронной почте.

А что у вас за документы такие, что вы их в Эксельке рисуете?
__________________
С уважением,
glibs®
Старый 20.11.2008, 17:56   #5  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от glibs Посмотреть сообщение
Возможно, у вас в Эксельке открывается диалог какой-нибудь. Например, отсутствие доступа к файлу или еще чего. А вы так этого никогда не увидите.
Прямо так и никогда? А если так попробовать:

comExcel.open("c:\\test\\template-test.xls", true);
Старый 20.11.2008, 18:50   #6  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от MKhaziev Посмотреть сообщение
на компьютере с WSS поднимается процесс Excel и висит
Еще можно попробовать визуализировать зависший процесс как бы "сбоку" : Как проинициализировать COM уже запущенным приложением (Excel)?
Старый 20.11.2008, 19:30   #7  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от alex55
...
А если так попробовать:
...
Так попробуйте.

Я попробовал такой код

static client void main(Args _args)
{
SysExcelApplication sysExcelApplication;
;

sysExcelApplication = SysExcelApplication::construct();
sysExcelApplication.visible(true);
sysExcelApplication.workbooks().open("E:\\q1.xls");

}

в 4.0. В трешке я уже давно в портале не ковырялся. В 4.0, конечно, ВС на .NET...

Но где мне нужно искать открывшийся Эксель, если его дергает ВС, который запущен от имени сервиса IIS? Я вообще в системном программировании не разбираюсь, к моему большому сожалению. Может сориентируете?

У меня процесс EXCEL.EXE запустился. Ресурсы процессора не жрет. Но и не визуализировался. Впрочем, я туго себе представляю как может процесс, запущенный под одним пользователем (да еще и сервисом), визуализироваться в консоли другого пользователя.
__________________
С уважением,
glibs®
Старый 20.11.2008, 20:46   #8  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от glibs Посмотреть сообщение

У меня процесс EXCEL.EXE запустился. Ресурсы процессора не жрет. Но и не визуализировался. Впрочем, я туго себе представляю как может процесс, запущенный под одним пользователем (да еще и сервисом), визуализироваться в консоли другого пользователя.
Я пробовал выполнять следующий код на веб-форме:

PHP код:
public void run()
{
    
ComExcelDocument_RU comExcel;

    
comExcel = new ComExcelDocument_RU();

    
super();

    
comExcel.open("c:\\test\\test_template.xls"true);


Если работать на виртуальной машине под тем же пользователем, который открывает страницу с веб-формой, то Excel выводится на экран.

При работе через терминал, имя пользователя для процесса в Диспетчере задач тоже самое, но сам процесс фильтруется как "чужой", соответственно визуалиации не происходит. Глубже пока не копал.
За это сообщение автора поблагодарили: glibs (1).
Старый 21.11.2008, 09:00   #9  
MKhaziev is offline
MKhaziev
Участник
 
16 / 10 (1) +
Регистрация: 08.10.2004
Адрес: Ижевск
Это ярлыки для этикирования поставки. Содержит штрих-код. Первоначально была задумка использовать класс EPSendDocument для формирования PDF из AX, но в классе PDFViewer есть 2 огромных недостатка, шрифт штрих-кода нормально не внедряется и невозможно внедрить картинку из-за проблемы в классе Image. После исследования PDFViewer оставил эту идею и теперь продумываю другие варианты.

К сожалению с ComExcelDocument_RU до сих пор ничего не получилось, так что походе перехожу к варианту с пакетной обработкой.

Всем спасибо за участие.
Старый 21.11.2008, 09:26   #10  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Сделайте обычный ax32.exe-шный отчет с баркодом. Организуйте так, чтобы при обработке в пакете он отправлялся по почте. Избавитесь от геморроя с Экселькой (можете поверить, будет предостаточно).
__________________
С уважением,
glibs®
Теги
enterprise portal, excel

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Solutions Monkey: Deploying Ax 2009 SP1 EP Blog bot DAX Blogs 0 05.02.2009 07:08
DAX 2K9 & EP: Cookies, SOS! DSPIC DAX: Программирование 0 25.11.2008 11:19
EP DAX 4.0 отчет с изображением M.Ruslan DAX: Программирование 0 06.11.2008 10:14
DAX 4 EP binaryWrite и лишний текст MKhaziev DAX: Программирование 1 27.10.2008 11:18
DAX EP. Аналог EPSalesInvoice + Понимание EPDocuListFromInfo MKhaziev DAX: Программирование 4 22.10.2008 14:04

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

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

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