Us utm5

Материал из WiKi - UserSide

ВНИМАНИЕ: Данный модуль является устаревшим и более не продаётся. Рекомендуется перейти на модуль usm_utm5 - См.: Переход с us utm5 на usm utm5


Эта функция является одной из возможностью
обновления даты активности у объекта

US_UTM5 - модуль для организации импорта данных из биллинговой системы UTM5 в ERP "UserSide"

Язык модуля: Perl

Текущая версия: см. на странице: Модули

Статус модуля: Платный

Необходимые модули Perl:

DBI
DBD::mysql
Socket
Time::Local
FindBin

Дополнительную информацию и перечень импортируемых данных см. на странице: UTM5

Информацию по установке модуля и общую информацию для всех модулей см. на странице: Модули

Настройка модуля осуществляется в файле us_config.tmp

Параметры

$znserver - адрес сервера биллинга
$znbase - имя базы данных биллинга
$znuser - имя пользователя для доступа к базе биллинга
$znpass - пароль для доступа к базе биллинга
$zncp - кодировка базы биллинга
$zndriver - драйвер базы данных биллинга (mysql или postgres)
$zuserver - адрес сервера с UserSide
$zubase - имя базы данных UserSide
$zuuser - имя пользователя для доступа к базе UserSide
$zupass - пароль для доступа к базе UserSide
$zucp - кодировка базы UserSide
$zusqlport - порт подключения к базе данных (по-умолчанию 3306)
$ps_logpath - путь к логам модуля
$zbillcode - номер биллинга по версии САП "UserSide"
$zsilence - не выводить уведомления о работе модуля в консоль
$zvariant - вариант работы (рекомендуется не менять)
$zadress - (0 - использовать домашний адрес из users.house_id; 1 - использовать домашний адрес из users.actual_address)
$zimport_adr_if - условие для импорта адресов абонентов. Даёт возможность импорта адреса только части абонентов из биллинга
$zimport_all_house - импортировать все адреса из справочника биллинга (по-умолчанию импортируются только адреса с абонентами)
Если необходимо внутренний IP-адрес пользователю при импорте внешнего IP-адреса - заполняем следующие параметры
$z_ip_check - какую подсеть IP-адресов считать внешней - напр: "172.16.0.0" или же "0" - не обрабатывать 
$z_ip_write - какую подсеть IP-адресов добавлять - напр: "10.0.0.0" или же "0" - не добавлять
$z_adr_replace - если необходимо убирать текст из адреса при импорте адресов из БД 
(например убирать название города) - то указываем в параметре текст, который нужно убрать
$z_dont_cc - не менять charset у БД биллинга на параметр $zucp (если ругается при импорте на "do failed: Unknown character set")
$z_dhcp_use - подгрузка DHCP-данных из таблицы dhs_sessions_log (0 - не подгружать, 2 - dhs_sessons_log)
$zpass_give - сохранять пароль абонента из биллинга в поле "доп.данные" (0 - нет, 1 - да)
$zabon_k - коэффициент умножения для абонентской платы в тарифах (1.20 - 20% НДС и т.п.)
$zabon_id - ID поля с абонентской платой для тарифа (services_data.service_type в биллинге)
$zchangedata - не импортировать дату заявки на смену тарифа
$zidtodog - в качестве номера договора подставлять ID абонента
$zgrouppass - не импортировать абонентов из этой группы (groups.id) (рекомендуется не менять)
$zgrouponly - импортировать абонентов ТОЛЬКО из этой группы (groups.id) (рекомендуется не менять)
$zidaccount - импортировать номер лицевого счёта абонента из биллинга в САП "UserSide" в 
поле доп.данных (указать идентификатор поля tbl_conf_basedopdata.CODE). Если 0 - не импортировать
$zidpassport - импортировать данные паспорта абонента из биллинга в UserSide в поле доп.данных 
(указать идентификатор поля tbl_conf_basedopdata.CODE). Если 0 - не импортировать
$znotcom_tar - НЕ импортировать тарифы с таким комментарием
$zimport_if - условие для импорта абонентов. Даёт возможность импорта только части абонентов из биллинга (выполняется до WHERE)
$zimport_if2 - условие для импорта абонентов. Даёт возможность импорта только части абонентов из биллинга (выполняется после WHERE)
$zdecode_tel - менять кодировку в поле с телефонами (рекомендуется не включать, если в этом поле нет текстовых данных)
$zdop_switch - дописывать в доп.данные информацию о привязке абонентов к коммутаторам
$zdop_switch_learn - коммутировать в UserSide абонентов к оборудованию (в случае привязке абонентов в UTM к оборудованию и наличии коммутаторов с таким IP-адресом в UserSide)
$zimport_paid - импортировать данные о платежах абонентов (payment_transactions)
$zimport_bank - импортировать банковские реквизиты абонента в поле "Доп. данные"
$zframedip_order - host byte order в dhs_sessions_log.Framed_IP_Address (Актуально для версий UTM5 >=5.3 update 3. Не включайте если не понимаете о чем речь)
$zservice_data - использовать сервисные связки вместо тарифных (1/0)
$zidunlim - импортировать данные о безлимитном признаке счета абонента из биллинга в САП "UserSide" в поле доп.данных (указать идентификатор поля tbl_conf_basedopdata.CODE). Если 0 - не импортировать
$zemail_upd - обновлять адрес электронной почты
$zdoppaid - импортировать данные о дополнительных услугах из биллинга
$zact_dhs_sessions - для активности записей dhs_sessions_log использовать текущую дату
$zservice_data_type - импортировать тарифы (и абонентов) с таким services_data.service_type
$zupd_dateinnet - постоянно обновлять дату подключения к сети
$zdateinnet_ucd - использовать поле users.connect_date для получения даты подключения к сети
$znot_sh_tar - не включать шаблоны в импорт тарифов
$z_dhcp_leases - подгрузка DHCP-данных из таблицы dhcp_leases_log (не включайте, если не уверены, что понимаете о чем речь. 0 - не подгружать, 1 - подгружать)
$zbib1_pause - блокировку block_info.block_type #1 считать ПАУЗОЙ
$zbib2_stop - блокировку block_info.block_type #2 считать СТОП
Можно настроить импорт доп.полей из биллинга в доп.поля абонента UserSide (при необходимости)
Заполняется массив $zdop_param. Можно добавлять свои поля. Если значение кода поля равно нулю - импорт не производится
Импорт производится в уже созданные доп.поля. Т.е. предварительно - это доп.поле должно быть создано в UserSide для карточки абонента
#========================================================
$zdop_param[1][1] = 0; #Код поля utm5.uaddparams_desc.paramid (что берём)
$zdop_param[1][2] = 0; #Код поля userside.tbl_conf_basedopdata.CODE (куда ложим)
$zdop_param[2][1] = 0; #Код поля utm5.uaddparams_desc.paramid (что берём)
$zdop_param[2][2] = 0; #Код поля userside.tbl_conf_basedopdata.CODE (куда ложим)
#========================================================
Установка отметок на абонента в UserSide в зависимости от значений доп.полей у абонента в биллинге (при необходимости)
Заполняется массив $zmark_param. Можно добавлять свои поля. Если значение кода поля равно нулю - импорт не производится
Импорт производится в уже созданные типы отметок. Т.е. предварительно - этот тип отметок должен быть создан в UserSide 
(Настройка - Отметки на абонентах)
#========================================================
$zmark_param[1][1] = 0; #Код поля utm5.uaddparams_desc.paramid (какое доп.поле анализируем)
$zmark_param[1][2] = 0; #Код поля userside.tbl_conf_mark.CODE (какую отметку обрабатываем)
$zmark_param[1][3] = ""; #Значение в анализируемом доп.поле, при котором будет создана отметка
$zmark_param[2][1] = 0; #Код поля utm5.uaddparams_desc.paramid (какое доп.поле анализируем)
$zmark_param[2][2] = 0; #Код поля userside.tbl_conf_mark.CODE (какую отметку обрабатываем)
$zmark_param[2][3] = ""; #Значение в анализируемом доп.поле, при котором будет создана отметка 
#========================================================
Установка значения в поле разделения доступа на абонента (tbl_base.ACC_F) в UserSide в зависимости от значения группы 
абонента в биллинге (при необходимости)
Заполняется массив $zaccf_group. Можно добавлять элементы массива. Если значение кода поля равно нулю - импорт не производится
#========================================================
$zaccf_group[1][1] = 0; #Код поля utm5.groups.id (какую группу импортируем)
$zaccf_group[1][2] = 0; #Код поля userside.tbl_conf_accf.CODE (какую группу доступа обрабатываем)
$zaccf_group[1][3] = 0; #Код поля userside.tbl_conf_mark.CODE (какую отметку ставим таким абонентам)
$zaccf_group[1][1] = 0; #Код поля utm5.groups.id (какую группу импортируем)
$zaccf_group[1][2] = 0; #Код поля userside.tbl_conf_accf.CODE (какую группу доступа обрабатываем)
$zaccf_group[1][3] = 0; #Код поля userside.tbl_conf_mark.CODE (какую отметку ставим таким абонентам)
#========================================================