APISetBillProp |
|
Эта функция используется для изменения параметров тарификации. Ее можно применить для общих настроек, настроек групп и клиентов.
Ret = APISetBillProp(ObjType, ObjID, Price, TraffExclude, PriceTime, CacheCost, MailCost, Cash, AdminName, AdminNote)
Аргументы
ObjType
Числовое обозначение типа объекта для которого изменяются настройки тарификации. Может принимать значения:
1 |
Меняются общие настройки по умолчанию для клиентов и групп. |
2 |
Меняются настройки для группы. |
3 |
Меняются настройки для клиента. |
ObjID
Строковое выражение, определяющее идентификатор объекта. Может быть отображаемым именем или GUID объекта (клиента или группы). Обязательный параметр, эта функция может применяться только к одному объекту.
Price
Цена трафика. Число.
TraffExclude
Размер предоплаченного трафика, Мб. Положительное число*.
PriceTime
Абонентская плата. Положительное число*.
CacheCost
Cтоимость трафика из кэша в % от тарифа. Целое** положительное число*.
MailCost
Cтоимость почтового трафика в % от тарифа. Целое** положительное число*.
Cash
Cумма оплаты - числовое значение задающее значение поля Оплачено. Отметим, что это значение к существующему не добавляется, а переписывает имеющееся. Имеет смысл только для клиента.
AdminName
Строковое выражение определяющее имя администратора - заносится в файл журнала при выполнении этой операции.
AdminNote
Строковое выражение определяющее примечание, заносимое в файл журнала.
* Отрицательные значения для параметров Price, TraffExclude, PriceTime, CacheCost, MailCost игнорируются. Это обстоятельство можно использовать для того, чтобы изменять параметры выборочно.
** Значения параметров CacheCost и MailCost округляются до целого, и ничто не мешает занести более 100%.
Замечания
Запись в журнал будет произведена только, если были заданы параметры AdminName или/и AdminNote.
Биллинг в программе работает в пределах сессии клиента и все вычисляемые данные пересчитываются каждый раз при изменении настроек тарификации.
Если требуется изменение тарифа без пересчета - перед изменением настроек необходимо произвести рестарт сессии клиента. Для этого может быть использована функция APISetUserState.
Возвращаемое значение
Эта функция возвращает true, если какие-либо параметры были изменены. Отметим, что если клиент или группа использует настройки тарификации по умолчанию, то этой функцией можно только вводить проплату для такого клиента, любые другие действия к результату не приведут.
Пример использования
' Изменение параметров тарификации для тарифной группы
Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
APIPass = "123456" 'Пароль для доступа через API
Srv.APILogon(APIPass)
GroupID = "Tarif Pirogi" ' Отображаемое имя группы
BillCh = Srv.ApiSetBillProp(2, GroupID, 2.5, -1, 0.5, 60, -1, 0, "", "")
' При условии, что в настройках тарификации группы Tarif Pirogi
' снята галка Использовать параметры по умолчанию - в группе
' будут заданы следующие настройки:
' Цена за трафик = 2,5
' Абонплата = 0,5
' Стоимость трафика из кэша = 60%
If BillCh Then
WScript.Echo "Заданы новые параметры тарификации для группы " & GroupID
End If
Текущая страница справки: help.smart-soft.ru/index.html?apisetbillprop.htm