Показать сообщение отдельно
Старый 04.04.2007, 17:16   #7  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2480 (88) +++++++++
Регистрация: 20.08.2005
Не знаю, как WSScript, но под Axapta'ой это будет выглядеть так
X++:
{
    Com ax = new Com("AxaptaCOMConnector.Axapta2");
    Com cont;
    Com cont1;
    int i;
    int cnt;
    ComVariant var;
    str s;
    ;
    ax.Logon2("user", "password", "", "", "Server", "Instance", "Configuration");
    var = ax.CallStaticClassMethod("SysUsersOnline", "getAllOnlineUserInfo");
    if (var)
    {
        cont = Com::createFromVariant(var);
        var = cont.peek(2);
        cnt = var.int();
        if (cnt > 0)
        {
            var = cont.peek(1);
            cont = Com::createFromVariant(var);
            if (cont)
            {
                for (i=1;i<=cont.length();i++)
                {
                    var = cont.peek(i);
                    cont1 = Com::createFromVariant(var);
                    if (cont1)
                    {
                        if (cont1.length()>1)
                        {
                            var = cont1.peek(2);
                            s = "UserId=" + var.bStr()+ ";";
                            var = cont1.peek(8);
                            s += "UserName=" + var.bStr();
                            info(s);
                        }
                    }
                }
            }
        }
    }
    ax.Logoff();
    ax = null;
}
В принципе, для вызывающей стороны контейнеры будут выглядеть как интерфейсы IAxaptaContainer - с возможностью вызова соответствующих методов для них
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 04.04.2007 в 20:30. Причина: стоны->стороны