Навигация:  Traffic Inspector SDK > Примеры >

Добавление оплаты для группы клиентов

Previous pageReturn to chapter overviewNext page

 

Скрипт добавляет для всех клиентов группы некоторую сумму на счет. Скрипт запускается из командной строки:

 

cscript.exe addcash.vbs AdmID AdmPass GroupID Cash /sn:ServerName

 

Здесь

 AdmID - Имя администратора Traffic Inspector с типом доступа "Консоль и веб-сервер".

 AdmPass - Пароль администратора AdmID.

 GroupID - GUID или отображаемое имя группы; также может принимать значения: пустая строка ("") - будут обрабатываться клиенты, не находящиеся ни в одной из групп: "AllTIClients" - будут обрабатываться все клиенты.

 Cash - Сумма, добавляемая на счет клиента.

 ServerName - Имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

 


Set Args = WScript.Arguments.Unnamed

If Args.Count <> 4 Then

 WScript.Echo "??? usage: cscript.exe addcash.vbs AdmID AdmPass GroupID Cash /sn:ServerName"

 WScript.Quit        

End If

 

AdmID = Args(0)

AdmPass = Args(1)

Group = Args(2)

Cash = Args(3)

 

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

Set Perm = Srv.QueryPermissions()

LogOn = Perm.DoSharedLogon(AdmID, AdmPass, "Script")

 

If Group = "AllTIClients" Then

   GroupID = null

ElseIf Group = "" Then

   GroupID = ""

Else

   itUserGroup = 2

   GroupID = Srv.ItemGUIDByName(itUserGroup, Group)

End If

 

Set Dom = WScript.CreateObject("Msxml2.DOMDocument.4.0")

itUser = 3

conf_AttrLevelState = 7

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

Dom.loadXML Srv.GetList(itUser, GroupID, null, conf_AttrLevelState)

Set DocEl = Dom.DocumentElement

 

Set Nodes = DocEl.selectNodes("UserItem")

If Nodes.Length > 0 Then

  For Each Node in Nodes

      Set Dom1 = WScript.CreateObject("Msxml2.DOMDocument.4.0")

      If Cash <> "0" Then

           Dom1.loadXML "<UserList />"

          Set Root1 = Dom1.DocumentElement

          With Root1.AppendChild(Dom1.CreateElement("UserItem"))

               .setAttribute "GUID", Node.getAttribute("GUID")

               .setAttribute "_UpdateState_", -1

               .setAttribute "AddCash", FromDigit(Cash)

               .setAttribute "AdminNote", "Добавление оплаты (скрипт)"

          End With

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

           Srv.UpdateList itUser, Dom1.xml

      End If

     

      If IsNull(Node.getAttribute("Balance")) Then

           NewCash = ToDigit(Cash)

      Else

           NewCash = ToDigit(Node.getAttribute("Balance")) + ToDigit(Cash)

      End If    

       WScript.Echo "Клиент " & Node.getAttribute("DisplayName") & ", на счету " & NewCash

  Next

Else

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

End If

 

Function FromDigit(StrTD)

  If StrTD = "" Then

       FromDigit = "0"

  Else

       FromDigit = Replace(CStr(StrTD), ",", ".")

  End If

End Function

 

Function ToDigit(StrTD)

  If StrTD = "" Then

       ToDigit = 0

  Else

      If Not IsNumeric(StrTD) Then

           ToDigit = Replace(StrTD, ".", Mid(1 / 2, 2, 1))

           ToDigit = ToDigit + 0

      Else

           ToDigit = StrTD

      End If

  End If

End Function

 

 


Текущая страница справки: http://help.smart-soft.ru/doc20/index.html?sdk_apidemoaddcash.htm

Сайт разработчиков Traffic Inspector