Показать сообщение отдельно
Старый 04.06.2013, 14:56   #2  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Пробовали, работает. Только какая-то проблема есть с 32-64 битными библиотеками, здесь на форуме обсуждали это.
У нас на АОСе 1С через COM выдавала ошибку.
Поэтому мы, чтобы не заморачиваться, установили COM-клиент 1С на всех компьютерах, где Аксапта должна вызывать 1с через COM. Вызывающий код в Аксапте должен выполняться на клиенте.
В примере Аксапта вызывает из 1С функцию GetReservs(), передает один строковый параметр. В результате получает строку с данными, которую затем интерпретирует в соответствии с задачей.
X++:
static client void getFrom1C(CustAccount _custAccount)
{
    COM                     c;
    COM                     conn;
    str                     s;
    ;

    if (!zPackingParameters::find().ConnectString1C)
        throw error("В параметрах фасовки не указана строка подключения к 1С!");

    new InteropPermission(InteropKind::ComInterop).assert();
    c = new COM("V82.COMConnector");


    //для рабочей базы
    //conn = c.Connect("Srvr=work;Ref=RefId;Usr=AxRobot;Pwd=12345");
    //для тестовой базы
    //conn = c.Connect("Srvr=test;Ref=RefIdOld;Usr=AxRobot;Pwd=12345");
    conn = c.Connect(zPackingParameters::find().ConnectString1C);

    s = conn.GetReservs(_custAccount);
}

Последний раз редактировалось Ace of Database; 04.06.2013 в 15:09.
За это сообщение автора поблагодарили: Logger (3).