В этом скрипте операции снятия абонплаты производятся только с пользователями состояние которых "РАБОТА"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' © SMART-SOFT 2005
' VBScript script demo
' --------------------
Set Args = WScript.Arguments.Unnamed
If Args.Count <> 3 Then
WScript.Echo "??? usage: cscript.exe addcash.vbs APIPassword GroupID Cash /sn:ServerName"
WScript.Quit &nbs p;
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 &nbs p;
End If
For I = 0 To UBound(UserList, 1)
User = UserList(I)
' Получили строку - описание пользователя
UserID = User(1)
UserState = Srv.APIGetUserState(UserID)
' Проверяем что клиент в состоянии РАБОТА
If UserState(4) = 2 Then
' Считали текущее состояние пользователя - надо узнать сумму на счете
Cash0 = UserState(8)
' Добавляем сумму на счет, состояние пользователя не меняем. Добавьте свой комментарий для записи в журнале.
Srv.APISetUserState UserID, Cash0+Cash, -1, "Script", "Списание абонентской платы"
WScript.Echo "Клиент " & User(0) & " добавлено " & Cash & ", было " & Cash0 & ", стало " & Cash0+Cash
End If
Next
uolegv 38877.2461689815
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' © SMART-SOFT 2005
' VBScript script demo
' --------------------
Set Args = WScript.Arguments.Unnamed
If Args.Count <> 3 Then
WScript.Echo "??? usage: cscript.exe addcash.vbs APIPassword GroupID Cash /sn:ServerName"
WScript.Quit &nbs p;
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 &nbs p;
End If
For I = 0 To UBound(UserList, 1)
User = UserList(I)
' Получили строку - описание пользователя
UserID = User(1)
UserState = Srv.APIGetUserState(UserID)
' Проверяем что клиент в состоянии РАБОТА
If UserState(4) = 2 Then
' Считали текущее состояние пользователя - надо узнать сумму на счете
Cash0 = UserState(8)
' Добавляем сумму на счет, состояние пользователя не меняем. Добавьте свой комментарий для записи в журнале.
Srv.APISetUserState UserID, Cash0+Cash, -1, "Script", "Списание абонентской платы"
WScript.Echo "Клиент " & User(0) & " добавлено " & Cash & ", было " & Cash0 & ", стало " & Cash0+Cash
End If
Next