Рестарт сессии с начислением оплаты по умолчанию |
|
Скрипт производит рестарт сессии. Каждому клиенту группы в новой сессии зачисляется значение, указанное в поле Оплата по умолчанию (вкладка Тарификация). После выполнение скрипта состояние клиента остается прежним (каким оно было до выполнения скрипта). Для автоматизации скрипт запускается в конце каждого месяца.
Скрипт запускается из командной строки в каталоге scripts.
cscript.exe rstsess4.vbs APIPassword GroupID /sn:ServerName
APIPassword - пароль доступа.
GroupID - GUID или имя группы в пределах которой производится выполнение скрипта.
ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.
Set Args = WScript.Arguments.Unnamed
If Args.Count <> 2 Then
WScript.Echo "??? usage: cscript.exe rstsess4.vbs APIPassword GroupID /sn:ServerName"
WScript.Quit
End If
APIPass = Args(0)
Obj = Args(1)
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)
' Считываем значение оплаты по умолчанию
Cash0 = Srv.APIGetAttr(3, UserID, "User_Cash0")
UserState = Srv.APIGetUserState(UserID)
' Считываем текущее состояние сессии
OldState = UserState(4)
' Переводим пользователя в СТОП
Srv.APISetUserState UserID, 0, 0, "Script", "Очищаем сессию"
' Переводим сессию пользователя в состояние, которое было ранее. Если надо всех запустить, то поправьте на '2'
Srv.APISetUserState UserID, Cash0, OldState, "Script", "Запускаем сессию"
WScript.Echo "Клиент " & User(0) & " на счету " & Cash0
Next
Текущая страница справки: help.smart-soft.ru/index.html?apidemorst4.htm