Просмотр Исходного

h5. Предположим, необходимо создать услугу, по которой каждой день производилось бы списание по 3 рубля за 1 объект на стороне Wialon. Для этого необходимо:
# Перейти на вкладку "Управление абонентами и тарифами - справочники - типы сенсоров". Ввести название сенсора (подойдет любое, например sensor_1) и сохранить
!type_sensor.png|border=1!
# Перейти на вкладку "Управление абонентами и тарифами - тарификация - услуги/бонусы"
# В открывшемся меню перейти на вкладку "Счетчик" и нажать добавить
!add_service.png|border=1!
# В меню добавления услуги необходимо заполнить следующие поля:
*Вид сервиса* - Sensor
*Тип сенсора* - Выбрать созданный на 1 этапе sensor_1
*Цена за единицу* - Указать цену за 1 объект. В данном случае цена будет *3*
*Метод списания* - Указываем ежедневный
!service_1.png|border=1!
# Так же в услуге на вкладке "Для разработчиков" необходимо выбрать пункте *Единица измерения* шт.
!service_3.png|border=1!
# После этого услугу можно сохранить и добавить её в необходимый тариф

h5. Описание работы тарифа:
1) В планировщике задач стоит запись о выполнении скрипта один раз в день
2) Данный скрипт получает список ext_id всех абонентов, у которых активна услуга с типом счетчик и у которых указан метод списания *Ежедневно*
Запрос, который получает данные:
{code}
select distinct u.ext_id from users u left join abonents a on a.id=u.abonent_id left join tarif t on t.id=a.tarif_id left join tarif_users_usluga tuu on tuu.tarif_id=t.id left join usluga us on us.id=tuu.usluga_id where us.usluga_abon_type_id=3 and us.service_type_id=4 and u.deleted=0
{code}
3) По каждому ext_id Carbon Billing 5 отправляет запрос на Wialon и запрашивает количество объектов, которые привязаны к этому ext_id
4) Далее полученные значения скрипт записывает в cdr файл в следующем порядке:
{code}
ext_id,5,1,cdr_v
{code}
где
5 - идентификатор единиц измерения у услуге (5 - шт.)
1 - идентификатор созданного тип сенсора