Usm abills: различия между версиями
Admin (обсуждение | вклад) Нет описания правки |
Admin (обсуждение | вклад) |
||
(не показаны 22 промежуточные версии 3 участников) | |||
Строка 1: | Строка 1: | ||
[[Usm_abills_EN|en]] | [[Usm_abills|ru]] | |||
{{activ}} | {{activ}} | ||
'''usm_abills''' - модуль для организации импорта данных из биллинговой системы ABillS в ERP "UserSide" | '''usm_abills''' - модуль для организации импорта данных из биллинговой системы ABillS в ERP "UserSide" | ||
'''Данный модуль является заменой устаревшему модулю [[us_abills]]''' | '''Данный модуль является заменой устаревшему модулю [[us_abills]]''' - См.: [[Переход с us abills на usm abills]] | ||
'''Язык модуля:''' PHP | '''Язык модуля:''' PHP | ||
Строка 13: | Строка 15: | ||
Дополнительную информацию и перечень импортируемых данных см. на странице: [[ABillS]] | Дополнительную информацию и перечень импортируемых данных см. на странице: [[ABillS]] | ||
== | == Информация по установке модуля == | ||
'''Убедитесь, что в системе где будет работать модуль присутствует библиотека php_mysqli''' | |||
Архив | Архив usm_abills.zip содержит файлы | ||
usm_abills.php | |||
usm_abills.conf.php-example | |||
1. | 1. На любом сервере ''(без разницы - сервер биллинга, userside или третья машина)'' выделить отдельный ''(произвольный)'' каталог для модуля и поместить в него эти файлы | ||
2. Выделить отдельный каталог для логов работы модуля. Дайте права на запись в этот каталог. | 2. Выделить отдельный каталог для логов работы модуля. Дайте права на запись в этот каталог. | ||
3. Пример файла конфигурации | 3. Пример файла конфигурации usm_abills.conf.php-example следует переименовать в usm_abills.conf.php и внести в нём требуемые изменения ''(перечень параметров указан ниже)'' | ||
4. Запустите несколько раз (*) вручную модуль командой | 4. Запустите несколько раз (*) вручную модуль командой | ||
php | php usm_abills.php | ||
Он должен отработать без ошибок и вернуть данные: | Он должен отработать без ошибок и вернуть данные: | ||
usm_abills | |||
==================================== | ==================================== | ||
Start module at 2015-11-22 17:32:03 | Start module at 2015-11-22 17:32:03 | ||
Строка 78: | Строка 48: | ||
6. Когда станет понятно, что модуль работает стабильно - добавляем его в системный cron на периодическую работу ''(укажите нужные пути)'' | 6. Когда станет понятно, что модуль работает стабильно - добавляем его в системный cron на периодическую работу ''(укажите нужные пути)'' | ||
*/10 * * * * php | */10 * * * * php usm_abills.php | ||
== Параметры конфигурации == | == Параметры конфигурации == | ||
Настройка модуля осуществляется в файле '''usm_abills.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 - Путь для записи логов | ||
$isSilence - Флаг "Режим тишины" ''(скрыть вывод информационных сообщений от модуля в консоль)'' | $isSilence - Флаг "Режим тишины" ''(скрыть вывод информационных сообщений от модуля в консоль)'' | ||
$ | |||
$billingDBHost - адрес сервера биллинга | |||
$billingDBPort - порт mysql-подключения к базе биллинга | |||
$billingDBUser - имя пользователя для доступа к базе биллинга | |||
$billingDBPassword - пароль для доступа к базе биллинга | |||
$billingDBName - имя базы данных биллинга | |||
$confAdrDistrictMode - (1 - добавлять к названию улицы название района (только при $zadress = 1), 2 - то переносить название района в название города, 3 - использовать название города из districts.city) | |||
$confAddressListCityIds - список ID населенных пунктов (address_types.id) ''(может разделяться запятой)'' | |||
$confDateConnectSrc - откуда брать дату подключения абонента к сети (1 - users.registration, 2 - dv/internet_log.start) | |||
$confUserImportExpr - факультативное условие для импорта абонентов | |||
$confAddFieldPhone - users_pi. - название поля в таблице users_pi с номером телефона (по-умолчанию: phone) | |||
$confAddFieldCellPhone - users_pi. - название поля в таблице users_pi с номером мобильного телефона | |||
$confAddFieldEntrance - users_pi. - название поля в таблице users_pi с номером подъезда | |||
$confAddFieldFloor - users_pi. - название поля в таблице users_pi с номером этажа | |||
$confIsSavePasswordToComment - флаг - сохранять пароль абонента в заметки | |||
$confIsCidIp - флаг - поле dv/internet_log.CID содержит IP-адрес абонента | |||
$confIsIpAdrOnlyFromDhcpHosts - флаг - импортировать IP-адрес только из dhcphosts_hosts | |||
$confIsIpAdrSkipFromDhcpHosts - флаг - не импортировать IP-адреса из dhcphosts_hosts | |||
$confUserStateSrc - источник для состояния абонента в биллинге (если пусто - то dm.disable (либо u.disable)) | |||
$confWorkState2 - состояние "Не активизирован" преобразовывать в [0|1|2] (0 - Стоп, 1 - Пауза, 2 - Активен) (по-умолчанию: 0) | |||
$confWorkState5 - состояние "Слишком маленький депозит" преобразовывать в [0|1|2] (0 - Стоп, 1 - Пауза, 2 - Активен) (по-умолчанию: 1) | |||
$confIsHideDvLogData - флаг - не импортировать данные из таблицы dv/internet_log | |||
$confIsHideIpAdrFromDvCalls - флаг - не импортировать IP-адрес из таблицы dv/internet_calls | |||
$confIsHideCidFromDvMain - флаг - не импортировать CID из таблицы "dv/internet_main" | |||
$confUserAccountSrc - источник лицевого счета абонента [uid|bill_id] (по-умолчанию: uid) | |||
$confIsImportTags - флаг - импортировать абонентские метки (tags) | |||
$confAddressSrc - источник информации об адресе абонента [builds|users_pi] (по-умолчанию: builds) | |||
$confIsImportMsg - флаг - импортировать ли сообщения абонентов | |||
$confPasswordSecretKey - "Secret Key" для расшифровки паролей абонентов (/usr/abills/libexec/config.pl - $conf{secretkey}) | |||
$confIsImportPasswordToUsPassword - флаг - импортировать ли пароль абонента в абонентский пароль UserSide | |||
$confIsImportOnlyUsedAddress - флаг - импортировать только используемые адреса | |||
$confIsPrimaryDvModule - флаг - использовать только информацию модуля DV | |||
$confImportCustomerTaxNumber - импортировать налоговый номер абонента в доп.поля абонента ''(указать ID доп.поля)'' | |||
$confTaxNumberField - имя поля с налоговым номером из таблицы "users" | |||
$confImportCustomerPassport - импортировать паспорт абонента в доп.поля абонента ''(указать ID доп.поля)'' | |||
$confPassportField - имя поля с паспортом из таблицы "users" | |||
$confImportCustomerNasIp - импортировать NAS IP-адрес абонента в доп.поля абонента ''(указать ID доп.поля)'' | |||
$confImportCustomerNasPort - импортировать NAS порт абонента в доп.поля абонента ''(указать ID доп.поля)'' | |||
$confImportCustomerNasName - импортировать NAS имя абонента в доп.поля абонента ''(указать ID доп.поля)'' | |||
$confImportCustomerNasVlan - импортировать NAS Vlan абонента в доп.поля абонента ''(указать ID доп.поля)'' | |||
$confImportCustomerGroup - импортировать группу абонента в доп.поля абонента ''(указать ID доп.поля)'' | |||
$confContactTypeIdPhone - Type Id таблицы user_contacts для импорта телефонного номера ''(по-умолчанию: 1)'' | |||
$confContactTypeIdCellPhone - Type Id таблицы user_contacts для импорта номера мобильного телефона ''(по-умолчанию: 2)'' | |||
== Запуск в Docker-окружении == | |||
Если Вы используете USERSIDE в Docker-окружении, то вам наверняка будет интересно запускать в отдельных Docker-контейнерах и внешние модули usm. | |||
Мы предоставляем docker-окружение для запуска модуля usm_abills (окружение не содержит файлов модуля - их необходимо загрузить из личного кабинета самостоятельно). | |||
Загрузить docker-окружение можно по ссылке: https://github.com/userside/usm_abills-docker-env/releases |
Текущая версия от 07:22, 1 апреля 2024
Эта функция является одной из возможностью |
usm_abills - модуль для организации импорта данных из биллинговой системы ABillS в ERP "UserSide"
Данный модуль является заменой устаревшему модулю us_abills - См.: Переход с us abills на usm abills
Язык модуля: PHP
Текущая версия: см. на странице: Модули
Статус модуля: Платный
Дополнительную информацию и перечень импортируемых данных см. на странице: ABillS
Информация по установке модуля
Убедитесь, что в системе где будет работать модуль присутствует библиотека php_mysqli
Архив usm_abills.zip содержит файлы
usm_abills.php usm_abills.conf.php-example
1. На любом сервере (без разницы - сервер биллинга, userside или третья машина) выделить отдельный (произвольный) каталог для модуля и поместить в него эти файлы
2. Выделить отдельный каталог для логов работы модуля. Дайте права на запись в этот каталог.
3. Пример файла конфигурации usm_abills.conf.php-example следует переименовать в usm_abills.conf.php и внести в нём требуемые изменения (перечень параметров указан ниже)
4. Запустите несколько раз (*) вручную модуль командой
php usm_abills.php
Он должен отработать без ошибок и вернуть данные:
usm_abills ==================================== 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_abills.php
Параметры конфигурации
Настройка модуля осуществляется в файле usm_abills.conf.php
Также можно использовать стандартные параметры из модуля usm_billing
$usersideUrl - URL к ERP "UserSide" $usersideApiKey - API-ключ ERP "UserSide" $billingId - Номер биллинга в ERP "UserSide" ("Настройка - Биллинги") $logPath - Путь для записи логов $isSilence - Флаг "Режим тишины" (скрыть вывод информационных сообщений от модуля в консоль) $billingDBHost - адрес сервера биллинга $billingDBPort - порт mysql-подключения к базе биллинга $billingDBUser - имя пользователя для доступа к базе биллинга $billingDBPassword - пароль для доступа к базе биллинга $billingDBName - имя базы данных биллинга $confAdrDistrictMode - (1 - добавлять к названию улицы название района (только при $zadress = 1), 2 - то переносить название района в название города, 3 - использовать название города из districts.city) $confAddressListCityIds - список ID населенных пунктов (address_types.id) (может разделяться запятой) $confDateConnectSrc - откуда брать дату подключения абонента к сети (1 - users.registration, 2 - dv/internet_log.start) $confUserImportExpr - факультативное условие для импорта абонентов $confAddFieldPhone - users_pi. - название поля в таблице users_pi с номером телефона (по-умолчанию: phone) $confAddFieldCellPhone - users_pi. - название поля в таблице users_pi с номером мобильного телефона $confAddFieldEntrance - users_pi. - название поля в таблице users_pi с номером подъезда $confAddFieldFloor - users_pi. - название поля в таблице users_pi с номером этажа $confIsSavePasswordToComment - флаг - сохранять пароль абонента в заметки $confIsCidIp - флаг - поле dv/internet_log.CID содержит IP-адрес абонента $confIsIpAdrOnlyFromDhcpHosts - флаг - импортировать IP-адрес только из dhcphosts_hosts $confIsIpAdrSkipFromDhcpHosts - флаг - не импортировать IP-адреса из dhcphosts_hosts $confUserStateSrc - источник для состояния абонента в биллинге (если пусто - то dm.disable (либо u.disable)) $confWorkState2 - состояние "Не активизирован" преобразовывать в [0|1|2] (0 - Стоп, 1 - Пауза, 2 - Активен) (по-умолчанию: 0) $confWorkState5 - состояние "Слишком маленький депозит" преобразовывать в [0|1|2] (0 - Стоп, 1 - Пауза, 2 - Активен) (по-умолчанию: 1) $confIsHideDvLogData - флаг - не импортировать данные из таблицы dv/internet_log $confIsHideIpAdrFromDvCalls - флаг - не импортировать IP-адрес из таблицы dv/internet_calls $confIsHideCidFromDvMain - флаг - не импортировать CID из таблицы "dv/internet_main" $confUserAccountSrc - источник лицевого счета абонента [uid|bill_id] (по-умолчанию: uid) $confIsImportTags - флаг - импортировать абонентские метки (tags) $confAddressSrc - источник информации об адресе абонента [builds|users_pi] (по-умолчанию: builds) $confIsImportMsg - флаг - импортировать ли сообщения абонентов $confPasswordSecretKey - "Secret Key" для расшифровки паролей абонентов (/usr/abills/libexec/config.pl - $conf{secretkey}) $confIsImportPasswordToUsPassword - флаг - импортировать ли пароль абонента в абонентский пароль UserSide $confIsImportOnlyUsedAddress - флаг - импортировать только используемые адреса $confIsPrimaryDvModule - флаг - использовать только информацию модуля DV $confImportCustomerTaxNumber - импортировать налоговый номер абонента в доп.поля абонента (указать ID доп.поля) $confTaxNumberField - имя поля с налоговым номером из таблицы "users" $confImportCustomerPassport - импортировать паспорт абонента в доп.поля абонента (указать ID доп.поля) $confPassportField - имя поля с паспортом из таблицы "users" $confImportCustomerNasIp - импортировать NAS IP-адрес абонента в доп.поля абонента (указать ID доп.поля) $confImportCustomerNasPort - импортировать NAS порт абонента в доп.поля абонента (указать ID доп.поля) $confImportCustomerNasName - импортировать NAS имя абонента в доп.поля абонента (указать ID доп.поля) $confImportCustomerNasVlan - импортировать NAS Vlan абонента в доп.поля абонента (указать ID доп.поля) $confImportCustomerGroup - импортировать группу абонента в доп.поля абонента (указать ID доп.поля) $confContactTypeIdPhone - Type Id таблицы user_contacts для импорта телефонного номера (по-умолчанию: 1) $confContactTypeIdCellPhone - Type Id таблицы user_contacts для импорта номера мобильного телефона (по-умолчанию: 2)
Запуск в Docker-окружении
Если Вы используете USERSIDE в Docker-окружении, то вам наверняка будет интересно запускать в отдельных Docker-контейнерах и внешние модули usm.
Мы предоставляем docker-окружение для запуска модуля usm_abills (окружение не содержит файлов модуля - их необходимо загрузить из личного кабинета самостоятельно).
Загрузить docker-окружение можно по ссылке: https://github.com/userside/usm_abills-docker-env/releases