Usm abills: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
(не показаны 4 промежуточные версии 3 участников) | |||
Строка 1: | Строка 1: | ||
[[Usm_abills_EN|en]] | [[Usm_abills|ru]] | |||
{{activ}} | {{activ}} | ||
Строка 55: | Строка 57: | ||
$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 - Путь для записи логов | ||
Строка 67: | Строка 69: | ||
$confAdrDistrictMode - (1 - добавлять к названию улицы название района (только при $zadress = 1), 2 - то переносить название района в название города, 3 - использовать название города из districts.city) | $confAdrDistrictMode - (1 - добавлять к названию улицы название района (только при $zadress = 1), 2 - то переносить название района в название города, 3 - использовать название города из districts.city) | ||
$confAddressListCityIds - список ID населенных пунктов (address_types.id) ''(может разделяться запятой)'' | |||
$confDateConnectSrc - откуда брать дату подключения абонента к сети (1 - users.registration, 2 - dv/internet_log.start) | $confDateConnectSrc - откуда брать дату подключения абонента к сети (1 - users.registration, 2 - dv/internet_log.start) | ||
$confUserImportExpr - факультативное условие для импорта абонентов | $confUserImportExpr - факультативное условие для импорта абонентов | ||
Строка 92: | Строка 95: | ||
$confIsPrimaryDvModule - флаг - использовать только информацию модуля DV | $confIsPrimaryDvModule - флаг - использовать только информацию модуля DV | ||
$ | $confImportCustomerTaxNumber - импортировать налоговый номер абонента в доп.поля абонента ''(указать ID доп.поля)'' | ||
$confTaxNumberField - имя поля с налоговым номером из таблицы "users" | $confTaxNumberField - имя поля с налоговым номером из таблицы "users" | ||
$ | $confImportCustomerPassport - импортировать паспорт абонента в доп.поля абонента ''(указать ID доп.поля)'' | ||
$confPassportField - имя поля с паспортом из таблицы "users" | $confPassportField - имя поля с паспортом из таблицы "users" | ||
$ | $confImportCustomerNasIp - импортировать NAS IP-адрес абонента в доп.поля абонента ''(указать ID доп.поля)'' | ||
$ | $confImportCustomerNasPort - импортировать NAS порт абонента в доп.поля абонента ''(указать ID доп.поля)'' | ||
$ | $confImportCustomerNasName - импортировать NAS имя абонента в доп.поля абонента ''(указать ID доп.поля)'' | ||
$ | $confImportCustomerNasVlan - импортировать NAS Vlan абонента в доп.поля абонента ''(указать ID доп.поля)'' | ||
$ | $confImportCustomerGroup - импортировать группу абонента в доп.поля абонента ''(указать ID доп.поля)'' | ||
$confContactTypeIdPhone - Type Id таблицы user_contacts для импорта телефонного номера ''(по-умолчанию: 1)'' | $confContactTypeIdPhone - Type Id таблицы user_contacts для импорта телефонного номера ''(по-умолчанию: 1)'' | ||
$confContactTypeIdCellPhone - Type Id таблицы user_contacts для импорта номера мобильного телефона ''(по-умолчанию: 2)'' | $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