Показать сообщение отдельно
Старый 14.01.2015, 12:02   #41  
ex3em is offline
ex3em
Участник
 
38 / 19 (1) ++
Регистрация: 22.07.2008
Цитата:
Сообщение от Bega Посмотреть сообщение
Нашел способ через System.Array:


Если данный код запустить в клиентском режиме - работает, как только переключаю класс в серверный - аксапта вылетает.

Причем если вместо array вставлять обычную строку все нормально работает

X++:
    SysExcelApplication_NET     sysExcelApplication;
    SysExcelWorksheet_NET       sysExcelWorksheet;
    SysExcelRange_NET           range;
    System.Array                array;
    System.Type                 type;
    ;

    new InteropPermission( InteropKind::ClrInterop ).assert();
    // BP deviation documented

    sysExcelApplication = SysExcelApplication_NET::construct();
    sysExcelApplication.visible(true);
    sysExcelApplication.workbooks().add("");
    sysExcelWorksheet = sysExcelApplication.worksheets().itemFromNum(1);

    type = System.Type::GetType('System.String');
    array = System.Array::CreateInstance(type, 2);
    array.SetValue(CLRInterop::getObjectForAnyType("AAA"), 0);
    array.SetValue(CLRInterop::getObjectForAnyType("БББ"), 1);

    range = sysExcelWorksheet.range("A1:B1");
    range.value2(array); // !!!! здесь вылетает Axapta