Usm lanbilling: различия между версиями
Admin (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показано 17 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
[[Usm_lanbilling_EN|en]] | [[Usm_lanbilling|ru]] | |||
{{activ}} | {{activ}} | ||
'''usm_lanbilling''' - модуль для организации импорта данных из биллинговой системы LANBilling в ERP "UserSide" | '''usm_lanbilling''' - модуль для организации импорта данных из биллинговой системы LANBilling в ERP "UserSide" | ||
'''Данный модуль является заменой устаревшему модулю [[us_lanbilling]]''' | '''Данный модуль является заменой устаревшему модулю [[us_lanbilling]]''' - См.: [[Переход с us lanbilling на usm lanbilling]] | ||
'''Язык модуля:''' PHP | '''Язык модуля:''' PHP | ||
Строка 11: | Строка 13: | ||
'''Статус модуля:''' [http://userside.ua/price.php Платный] | '''Статус модуля:''' [http://userside.ua/price.php Платный] | ||
Дополнительную информацию и перечень импортируемых данных см. на странице: [[ | Дополнительную информацию и перечень импортируемых данных см. на странице: [[LANBilling]] | ||
== Информация по установке модуля == | == Информация по установке модуля == | ||
'''Убедитесь, что в системе где будет работать модуль присутствует библиотека php_mysqli''' | |||
Архив usm_lanbilling.zip содержит файлы | Архив usm_lanbilling.zip содержит файлы | ||
Строка 20: | Строка 24: | ||
usm_lanbilling.conf.php-example | usm_lanbilling.conf.php-example | ||
1. | 1. На любом сервере ''(без разницы - сервер биллинга, userside или третья машина)'' выделить отдельный ''(произвольный)'' каталог для модуля и поместить в него эти файлы | ||
2. Выделить отдельный каталог для логов работы модуля. Дайте права на запись в этот каталог. | 2. Выделить отдельный каталог для логов работы модуля. Дайте права на запись в этот каталог. | ||
Строка 49: | Строка 53: | ||
Настройка модуля осуществляется в файле '''usm_lanbilling.conf.php''' | Настройка модуля осуществляется в файле '''usm_lanbilling.conf.php''' | ||
Также можно использовать стандартные параметры из модуля [[usm_billing#Параметры конфигурации|usm_billing]] | |||
$usersideUrl - URL к ERP "UserSide" | $usersideUrl - URL к ERP "UserSide" | ||
$usersideApiKey - API-ключ ERP "UserSide" | $usersideApiKey - [[UserSide API Key|API-ключ ERP "UserSide"]] | ||
$billingId - Номер биллинга в ERP "UserSide" ''("Настройка - Биллинги")'' | $billingId - Номер биллинга в ERP "UserSide" ''("Настройка - Биллинги")'' | ||
$logPath - Путь для записи логов | $logPath - Путь для записи логов | ||
Строка 62: | Строка 68: | ||
$billingCodePage - кодировка базы данных биллинга | $billingCodePage - кодировка базы данных биллинга | ||
$ | $confTariffImportList - типы импортируемых услуг ''(по-умолчанию 0,1,2,5) (tarifs.type - тип тарифа: 0-кабельный агент, 1-RADIUS по объему, 2-RADIUS по времени, 3-Классическая телефония, 4-VoIP, 5-Периодические и разовые услуги)'' | ||
$ | $confAdrImportSrc - источник импорта адресов ''(0 - из accounts_addr, 1 - из vgroups_addr, 2 - из обоих источников)'' | ||
$ | $confImportOnlyVgroupsId - импортировать только с определенным vgroups.id ''(рекомендуется не менять)'' | ||
$confCollectorType - тип коллектора ''(варианты "user", "rad")'' | |||
$confCollectorId - код коллектора трафика - используется для таблиц биллинга - usernnnyyyymmdd или radnnnyyyymmdd | |||
$confIsSkipUpdateAgreementDate - флаг - не обновлять дату заключения договора | |||
$ | $confIsSkipCustomerWithClosedAgreement - флаг - не импортировать абонентов с закрытыми договорами | ||
$ | $confIsOldBillingIp - флаг - старый формат IP-адресов | ||
$accountAddString - добавочная строка при импорте лицевых счетов | |||
$confAddFieldForPhone - дополнительное поле для номера телефона | |||
$confIsSkipLoadIp - флаг - не загружать IP-адреса | |||
$confIsAddCityTypeToName - флаг - добавлять тип нас.пункта к названию нас.пункта | |||
$confIsAddStreetTypeToName - добавлять тип улицы к наименованию улицы ''(0 - не добавлять, 1 - добавлять после наименования улицы, 2 - добавлять перед наименованием улицы)'' | |||
$confIsImportAlias - флаг - импортировать дочерние записи | |||
$confParameterTypePhone - суффикс поля таблицы contract_parameter_type_ с номером телефона | |||
$confImportPassport - импортировать паспортные данные в дополнительное поле ... ''(указать ID доп.поля)'' | |||
$confIsCityNameInStreetName - флаг - добавлять название нас.пункта к наименованию улицы | |||
$confIsImportOnlyWithVgroup - флаг - импортировать абонентов только с наличием vgroup | |||
$confTrafLimitSelection - минимальное значение для импорта трафика по абоненту ''(по-умолчанию: 2048)'' | |||
$confAccountsTable - имя таблицы со счетами абонентов ''(по-умолчанию: accounts)'' | |||
$confIsDoNotUpdateAddPhone - флаг - не обновлять значения дополнительных телефонов абонентов | |||
$confIsOnlyAdrSrc1 - флаг - импортировать адреса только с accounts_addr.type = 1 | |||
$accountExprString - дополнительная строка с условием импорта абонентов ''(к таблице account)'' | |||
$confIsImportCustomerWoTariff - флаг - импортировать в т.ч. и абонентов без тарифов | |||
$confBillingBlockState0 - ID используемого статуса работы в USERSIDE для состояния блокировки #0 в биллинге ''(vgroups.blocked) (по-умолчанию: 2 - работает)'' | |||
$confBillingBlockState1 - ID используемого статуса работы в USERSIDE для состояния блокировки #1 в биллинге ''(vgroups.blocked) (по-умолчанию: 1 - пауза)'' | |||
$confBillingBlockState2 - ID используемого статуса работы в USERSIDE для состояния блокировки #2 в биллинге ''(vgroups.blocked) (по-умолчанию: 1 - пауза)'' | |||
$confBillingBlockState3 - ID используемого статуса работы в USERSIDE для состояния блокировки #3 в биллинге ''(vgroups.blocked) (по-умолчанию: 1 - пауза)'' | |||
$confBillingBlockState4 - ID используемого статуса работы в USERSIDE для состояния блокировки #4 в биллинге ''(vgroups.blocked) (по-умолчанию: 0 - стоп)'' | |||
$confBillingBlockState5 - ID используемого статуса работы в USERSIDE для состояния блокировки #1 в биллинге ''(vgroups.blocked) (по-умолчанию: 1 - пауза)'' | |||
$confBillingBlockState10 - ID используемого статуса работы в USERSIDE для состояния блокировки #4 в биллинге ''(vgroups.blocked) (по-умолчанию: 0 - стоп)'' | |||
Данные доступа к второму коллектору (статистике) LANBilling ''(если пустое значение, значит эти учетные данные использоваться не будут)'' | |||
$confStat2DBHost - адрес сервера статистики | |||
$confStat2DBUser - имя пользователя для доступа к базе статистики | |||
$confStat2DBPassword - пароль для доступа к базе статистики | |||
$confStat2DBName - имя базы данных статистики | |||
Данные доступа к третьему коллектору (статистике) LANBilling ''(если пустое значение, значит эти учетные данные использоваться не будут)'' | |||
$ | $confStat3DBHost - адрес сервера статистики | ||
$ | $confStat3DBUser - имя пользователя для доступа к базе статистики | ||
$ | $confStat3DBPassword - пароль для доступа к базе статистики | ||
$ | $confStat3DBName - имя базы данных статистики | ||
$ | $confCollector3Type - тип коллектора ''(варианты "user", "rad")'' | ||
$ | $confCollector3Id - код коллектора трафика - используется для таблиц биллинга - usernnnyyyymmdd или radnnnyyyymmdd |
Текущая версия от 12:55, 26 октября 2023
Эта функция является одной из возможностью |
usm_lanbilling - модуль для организации импорта данных из биллинговой системы LANBilling в ERP "UserSide"
Данный модуль является заменой устаревшему модулю us_lanbilling - См.: Переход с us lanbilling на usm lanbilling
Язык модуля: PHP
Текущая версия: см. на странице: Модули
Статус модуля: Платный
Дополнительную информацию и перечень импортируемых данных см. на странице: LANBilling
Информация по установке модуля
Убедитесь, что в системе где будет работать модуль присутствует библиотека php_mysqli
Архив usm_lanbilling.zip содержит файлы
usm_lanbilling.php usm_lanbilling.conf.php-example
1. На любом сервере (без разницы - сервер биллинга, userside или третья машина) выделить отдельный (произвольный) каталог для модуля и поместить в него эти файлы
2. Выделить отдельный каталог для логов работы модуля. Дайте права на запись в этот каталог.
3. Пример файла конфигурации usm_lanbilling.conf.php-example следует переименовать в usm_lanbilling.conf.php и внести в нём требуемые изменения (перечень параметров указан ниже)
4. Запустите несколько раз (*) вручную модуль командой
php usm_lanbilling.php
Он должен отработать без ошибок и вернуть данные:
usm_lanbilling ==================================== Start module at 2015-11-22 17:32:03 Finish module at 2015-11-22 17:32:14 ====================================
* - При первом запуске - будут предварительно лишь созданы многие объекты. Чем больше объектов импортирует модуль - тем дольше это будет. При втором и последующих запусках сверяются изменённые данные и только они будут обновлены. Второй запуск также будет длиться долго, т.к. после первого запуска новосозданные объекты практические не содержат данных. А вот третий и последующие запуски будут работать гораздо быстрее.
5. Проверьте визуально полноту импортируемых данных в ERP "UserSide"
6. Когда станет понятно, что модуль работает стабильно - добавляем его в системный cron на периодическую работу (укажите нужные пути)
*/10 * * * * php usm_lanbilling.php
Параметры
Настройка модуля осуществляется в файле usm_lanbilling.conf.php
Также можно использовать стандартные параметры из модуля usm_billing
$usersideUrl - URL к ERP "UserSide" $usersideApiKey - API-ключ ERP "UserSide" $billingId - Номер биллинга в ERP "UserSide" ("Настройка - Биллинги") $logPath - Путь для записи логов $isSilence - Флаг "Режим тишины" (скрыть вывод информационных сообщений от модуля в консоль) $billingDBHost - адрес сервера биллинга $billingDBUser - имя пользователя для доступа к базе биллинга $billingDBPassword - пароль для доступа к базе биллинга $billingDBName - имя базы данных биллинга $billingCodePage - кодировка базы данных биллинга $confTariffImportList - типы импортируемых услуг (по-умолчанию 0,1,2,5) (tarifs.type - тип тарифа: 0-кабельный агент, 1-RADIUS по объему, 2-RADIUS по времени, 3-Классическая телефония, 4-VoIP, 5-Периодические и разовые услуги) $confAdrImportSrc - источник импорта адресов (0 - из accounts_addr, 1 - из vgroups_addr, 2 - из обоих источников) $confImportOnlyVgroupsId - импортировать только с определенным vgroups.id (рекомендуется не менять) $confCollectorType - тип коллектора (варианты "user", "rad") $confCollectorId - код коллектора трафика - используется для таблиц биллинга - usernnnyyyymmdd или radnnnyyyymmdd $confIsSkipUpdateAgreementDate - флаг - не обновлять дату заключения договора $confIsSkipCustomerWithClosedAgreement - флаг - не импортировать абонентов с закрытыми договорами $confIsOldBillingIp - флаг - старый формат IP-адресов $accountAddString - добавочная строка при импорте лицевых счетов $confAddFieldForPhone - дополнительное поле для номера телефона $confIsSkipLoadIp - флаг - не загружать IP-адреса $confIsAddCityTypeToName - флаг - добавлять тип нас.пункта к названию нас.пункта $confIsAddStreetTypeToName - добавлять тип улицы к наименованию улицы (0 - не добавлять, 1 - добавлять после наименования улицы, 2 - добавлять перед наименованием улицы) $confIsImportAlias - флаг - импортировать дочерние записи $confParameterTypePhone - суффикс поля таблицы contract_parameter_type_ с номером телефона $confImportPassport - импортировать паспортные данные в дополнительное поле ... (указать ID доп.поля) $confIsCityNameInStreetName - флаг - добавлять название нас.пункта к наименованию улицы $confIsImportOnlyWithVgroup - флаг - импортировать абонентов только с наличием vgroup $confTrafLimitSelection - минимальное значение для импорта трафика по абоненту (по-умолчанию: 2048) $confAccountsTable - имя таблицы со счетами абонентов (по-умолчанию: accounts) $confIsDoNotUpdateAddPhone - флаг - не обновлять значения дополнительных телефонов абонентов $confIsOnlyAdrSrc1 - флаг - импортировать адреса только с accounts_addr.type = 1 $accountExprString - дополнительная строка с условием импорта абонентов (к таблице account) $confIsImportCustomerWoTariff - флаг - импортировать в т.ч. и абонентов без тарифов $confBillingBlockState0 - ID используемого статуса работы в USERSIDE для состояния блокировки #0 в биллинге (vgroups.blocked) (по-умолчанию: 2 - работает) $confBillingBlockState1 - ID используемого статуса работы в USERSIDE для состояния блокировки #1 в биллинге (vgroups.blocked) (по-умолчанию: 1 - пауза) $confBillingBlockState2 - ID используемого статуса работы в USERSIDE для состояния блокировки #2 в биллинге (vgroups.blocked) (по-умолчанию: 1 - пауза) $confBillingBlockState3 - ID используемого статуса работы в USERSIDE для состояния блокировки #3 в биллинге (vgroups.blocked) (по-умолчанию: 1 - пауза) $confBillingBlockState4 - ID используемого статуса работы в USERSIDE для состояния блокировки #4 в биллинге (vgroups.blocked) (по-умолчанию: 0 - стоп) $confBillingBlockState5 - ID используемого статуса работы в USERSIDE для состояния блокировки #1 в биллинге (vgroups.blocked) (по-умолчанию: 1 - пауза) $confBillingBlockState10 - ID используемого статуса работы в USERSIDE для состояния блокировки #4 в биллинге (vgroups.blocked) (по-умолчанию: 0 - стоп)
Данные доступа к второму коллектору (статистике) LANBilling (если пустое значение, значит эти учетные данные использоваться не будут)
$confStat2DBHost - адрес сервера статистики $confStat2DBUser - имя пользователя для доступа к базе статистики $confStat2DBPassword - пароль для доступа к базе статистики $confStat2DBName - имя базы данных статистики
Данные доступа к третьему коллектору (статистике) LANBilling (если пустое значение, значит эти учетные данные использоваться не будут)
$confStat3DBHost - адрес сервера статистики $confStat3DBUser - имя пользователя для доступа к базе статистики $confStat3DBPassword - пароль для доступа к базе статистики $confStat3DBName - имя базы данных статистики $confCollector3Type - тип коллектора (варианты "user", "rad") $confCollector3Id - код коллектора трафика - используется для таблиц биллинга - usernnnyyyymmdd или radnnnyyyymmdd