Страницы: 1 2 След.
RSS
Включение тарификации по умолчанию
 
Как можно подправить скрипт rstsess2.vbs чтобы он автоматически каждому пользователю ставил галочку Использовать параметры по умолчанию в свойствах клиента на закладке тарификация
 

Для автоматического снятия/установки галки Использовать параметры по умолчанию в свойствах клиента на закладке тарификация - используем функцию APISetAttr().



Описание см. в справке: раздел Автоматизация и программирование -> Описание интерфейса.



Атрибут клиента User_BillDefault = 14.

 
А есть где-нибуть простой пример использования APISetAttr?
 

Есть в стандартном скрипте Рестарт сессии со сдвигом дат, например.

 
' © SMART-SOFT 2005

' VBScript script demo

' --------------------





Set Args = WScript.Arguments.Unnamed

If Args.Count <> 3 Then

     WScript.Echo "??? usage: cscript.exe rstsess2.vbs APIPassword GroupID Cash /sn:ServerName"     

     WScript.Quit      

End If



APIPass = Args(0)

Obj = Args(1)

Cash = Args(2)



If WScript.Arguments.Named.Exists("sn") Then

     ServName = WScript.Arguments.Named.Item("sn")

     Set Srv = CreateObject("TrafInsp.TrafInspAdmin", ServName)

Else

     Set Srv = CreateObject("TrafInsp.TrafInspAdmin")

End If

Srv.APILogon(APIPass)



UserList = Srv.ApiGetBillProp(3, Obj)

' Получили список клиентов группы



' Проверяем, что это таблица - двухмерный массив

If Not IsArray(UserList) Or Not IsArray(UserList(0)) Then

     WScript.Echo "Нет данных"     

     WScript.Quit      

End If



For I = 0 To UBound(UserList, 1)

     User = UserList(I)

     ' Получили строку - описание пользователя

     UserID = User(1)

     UserState = Srv.APIGetUserState(UserID)

     ' Считываем текущее состояние сессии

     OldState = UserState(4)

     OldBall = UserState(19)

     ' Переводим пользователя в СТОП

     Srv.APISetUserState UserID, 0, 0, "Script", "Очищаем сессию"

     ' Переводим сессию пользователя в состояние, которое было ранее.

     ' Если надо всех обязательно запустить, то поправьте OldState на "2"

     Srv.APISetUserState UserID, Cash+OldBall, OldState, "Script", "Запускаем сессию"

     WScript.Echo "Клиент " & User(0) & " на счету " & Cash+OldBall



Srv.APISetAttr 3, UserID, User_BillDefault, 14, True ' Включение тарификации по умолчанию



Next



аосмотрите, плиз, предпоследнюю строчку. Собственно, только ее я и добавил.

Будет такое чудо работать или я где-то ошибся?
 
проверил - не работает
 


Отключить галку:



Srv.APISetAttr 3, UserID, 14, False, True



либо



Srv.APISetAttr 3, UserID, "User_BillDefault", False, True



Включить галку:



Srv.APISetAttr 3, UserID, "User_BillDefault", True, True

Wave38945.6341203704
 
Большое спасибо,

Srv.APISetAttr 3, UserID, "User_BillDefault", True, True - это то что было нужно.
 
а как поставить галку "по умолчанию" в разделе "Ограничения" ?





я так понимаю построение будет таким самым, только нужно другой атрибут вписать?

Srv.APISetAttr 3, UserID, "<что тут писать?>", True, True
 
Srv.APISetAttr 3, UserID, "User_BandwidthDef", True, True



такая строчка проканает?
Страницы: 1 2 След.
Читают тему (гостей: 2)