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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.03.2013, 14:37   #1  
DmitryS is offline
DmitryS
Участник
 
37 / 13 (1) ++
Регистрация: 01.08.2006
Адрес: Москва
Microsoft.Office.Interop.Excel
Добрый день!
Microsoft.Office.Interop.Excel._Application excel;
;
excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
если код выполняется на клиенте объект excel создается,
если код выполняется на сервере excel равно null.
На сервере Excel установлен.

AX2009, kernal version 5.0.1500.2985, СУБД Microsoft SQL Server 2008 R2
Старый 20.03.2013, 15:10   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
А если так?
X++:
permission = new InteropPermission(InteropKind::ClrInterop);
permission.assert();

excel = new Microsoft.Office.Interop.Excel.ApplicationClass();

CodeAccessPermission::revertAssert();
Старый 20.03.2013, 15:24   #3  
DmitryS is offline
DmitryS
Участник
 
37 / 13 (1) ++
Регистрация: 01.08.2006
Адрес: Москва
Так и делаю, просто не весь код вставил. Не помогает.
Старый 20.03.2013, 16:16   #4  
Bega is offline
Bega
Участник
Аватар для Bega
 
382 / 444 (15) +++++++
Регистрация: 18.08.2005
Адрес: Москва
А сборка на сервере есть?
Старый 20.03.2013, 17:05   #5  
DmitryS is offline
DmitryS
Участник
 
37 / 13 (1) ++
Регистрация: 01.08.2006
Адрес: Москва
да есть Microsoft.Office.Interop.Excel.dll в папке C:\WINDOWS\assembly.
Старый 20.03.2013, 17:10   #6  
Bega is offline
Bega
Участник
Аватар для Bega
 
382 / 444 (15) +++++++
Регистрация: 18.08.2005
Адрес: Москва
Версия сборки совпадает с той, на которую ссылка в DAX?
Старый 20.03.2013, 17:25   #7  
DmitryS is offline
DmitryS
Участник
 
37 / 13 (1) ++
Регистрация: 01.08.2006
Адрес: Москва
да. 14.0.0.0
Старый 20.03.2013, 17:34   #8  
Bega is offline
Bega
Участник
Аватар для Bega
 
382 / 444 (15) +++++++
Регистрация: 18.08.2005
Адрес: Москва
Учетка, под которой работает АОС какие права имеет? Сделайте для проверки ее локальным админом.
За это сообщение автора поблагодарили: DmitryS (1).
Старый 20.03.2013, 17:44   #9  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
AOS x32 или x64? Офис тоже - какой битности установлен?
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
Старый 21.03.2013, 09:33   #10  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
А если так
Старый 22.03.2013, 09:35   #11  
DmitryS is offline
DmitryS
Участник
 
37 / 13 (1) ++
Регистрация: 01.08.2006
Адрес: Москва
AOS - 64, офис - 32.
Старый 22.03.2013, 11:39   #12  
DmitryS is offline
DmitryS
Участник
 
37 / 13 (1) ++
Регистрация: 01.08.2006
Адрес: Москва
Учетку сделал локальным админом, помогло, объект начал создаваться.
Спасибо.
Старый 23.04.2014, 16:00   #13  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
столкнулся с такой же проблемой. Проделал все вышеописанное не помогает. Если у класса ставлю RunOn = Client, то класс отрабатывает, application создается если RunOn = Server то валится в ошибку.
X++:
protected boolean makeDocument(boolean _visible = false)
{
    try
    {
        new InteropPermission(InteropKind::ClrInterop).assert();
        application = new Microsoft.Office.Interop.Excel.ApplicationClass(); // вот тут ошибка
        workbooks   = application.get_Workbooks();
        application.set_Visible(_visible);
        application.set_EnableEvents(false);
        application.set_DisplayAlerts(false);
        workbook    = workbooks.Add(this.fullTemplateName());
        CodeAccessPermission::revertAssert();
        return true;
    }
    catch
    {
        return false;
    }

}
Ошибка :
Объект "CLRObject" не может быть создан
Старый 24.04.2014, 08:46   #14  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
Хотя сначала класс работал в пакете три дня, а потом бац и не работает.
Старый 24.04.2014, 10:47   #15  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
Цитата:
Сообщение от Dreadlock Посмотреть сообщение
Еще нашел для MS Office 2010, что надо добавить в папку C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\
папку Shemas и дать на нее права .Net BusinessConnector'у
Это как сделать?
Старый 24.04.2014, 10:57   #16  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Идёте в C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\

Создать -> Новую папку
Потом правой кнопкой мышки на папке -> Свойства -> Безопасность -> Изменить и т.д.

В вашем случае это надо делать на сервере (т.е. на AOS) и еще не забыть дать права учетной записи, под которой работает AOS, на эту папку (в моем случае это был .Net BC на веб сервере)

З.Ы. не забудьте создать папку Desktop в SysWOW64 и дать права учетной записи AOS'а, на эту папку!
Старый 24.04.2014, 11:01   #17  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Ой, и DCOM компоненту Excel надо настроить как описано тут
Старый 24.04.2014, 16:41   #18  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
Не компилируется джоб приведенный по ссылке. Начал ставит проекты. Сейчас нужна таблица DEV_SysReleaseUpdateScriptsRef.
Заметил одну странность. Мой класс не работает в серверном режиме только ан рабочей базе на aos1. На тестовой и разработческой базе класс работает. Тестовая и разработческая база тоже на aos1. В чем может быть причина?
Старый 24.04.2014, 17:20   #19  
AlexeyS is offline
AlexeyS
Участник
 
404 / 339 (12) ++++++
Регистрация: 15.06.2004
Адрес: москва
может быть тестовое и рабочее приложение работают под разными учетками и у них разные права?
Старый 25.04.2014, 08:58   #20  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
Да учетки были разные. Запустил тест под той же учеткой что и рабочая база. На Тесте все равно создается приложение, а на рабочей нет. И там и там сборка 11.0.0.0.
X++:
application = new Microsoft.Office.Interop.Excel.ApplicationClass(); // ошибки не возникает
На рабочей переподцеплял сборку. Не помогло.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: Translated User Help on TechNet and downloadable New Features lists available! Blog bot DAX Blogs 0 31.01.2013 05:11
axnontechnical: How to view Microsoft Dynamics AX 2012 cube data in Microsoft Office Excel Blog bot DAX Blogs 0 09.03.2012 01:18
emeadaxsupport: Microsoft Dynamics AX 2012 Office Addins tab does not appear in Microsoft Excel 2007 or Word 2007 on a 64bit Windows system Blog bot DAX Blogs 0 25.02.2012 05:42
emeadaxsupport: New Content for Microsoft Dynamics AX 2012 : October 2011 Blog bot DAX Blogs 0 27.10.2011 17:11
Sample Design Patterns: Microsoft Dynamics AX - Remedy for slow Microsoft Excel import Blog bot DAX Blogs 0 29.05.2011 17:13

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

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

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