Новая версия интеграции с СОРМ МФИ Софт согласно документации 2020 года.
Про новую версию
Для чего новая версия?
- С 2018 года МФИ обновили структуру СОРМ и добавились новые поля.
- Предыдущая версия сложна в установке.
Отличия от старой интеграции
- Полностью переписан скрипт выгрузки и принцип интеграции в cron
- Добавлены файлы заголовков
Как развернуть
- Скачайте архив с файлами интеграции и распакуйте в нужной директории:
yum install -y wget wget --no-check-certificate https://docs.carbonsoft.ru/download/attachments/186286305/sorm3-mfi_20210831.tar.gz tar xzf sorm3-mfi_20210813.tar.gz -C /app/asr_billing/cfg/
- Выполните скрипт настройки, он добавит системный атрибут типам документа (паспорт, загранпаспорт и тд), добавит его всем абонентам, настроит планировщик ОС и ротацию файла журнала
/app/asr_billing/cfg/sorm3-mfi/configure.sh
- Исправьте файл /app/asr_billing/cfg/sorm3-mfi/config.ini - укажите там параметры Вашего FTP. Секция FTP в конфигурационном файле должна выглядеть приблизительно так:
[ftp] # Данные подключения к FTP ftp_ip=10.90.1.185 ftp_login=carbon ftp_pass=carbon
Что нужно знать о выгрузках, скриптах и тд
Примечания по архитектуре интеграции
- По-умолчанию автоматический делаются выгрузки:
- раз в сутки: abonents abonent_ident abonent_address abonent_service
- раз в час: undefined_payment
- Если хотите изменить частоту или набор выгрузок - поправьте /app/asr_billing/cfg/sorm3-mfi/etc-host/cron.d/sorm3-mfi-upload.sh и перезапустите cron
- Справочники нужно выгружать только при необходимости вручную, передав имена нужных выгрузок. Примерно так:
/app/asr_billing/cfg/sorm3-mfi/upload.sh ip_gateway ip_plan commutators gateways regions supplementary_service
Какие выгрузки формируются
- Данные об абонентах
- ABONENT
- ABONENT_IDENT
- ABONENT_SERVICE
- ABONENT_ADDRESS
- Справочные данные
- COMMUTATORS
- GATEWAYS
- IP_GATEWAY
- IP_PLAN
- SUPPLEMENTARY_SERVICE
- DOC_TYPE
- PAY_TYPE
- UNDEFINED_PAYMENT
Как сделать выгрузку вручную
Скриптом upload.sh, в качестве параметров через пробел перечислите нужные отчёты для выгрузки, например:
/app/asr_billing/cfg/sorm3-mfi/upload.sh gateways
Можете запустить без параметров, скрипт напшиет краткую справку и список отчётов которые можно выполнить:
/app/asr_billing/cfg/sorm3-mfi/upload.sh
2021-08-11 12:17:58 скрипт запущен Укажите какие отчёты надо выгружать. Например: upload.sh abonent abonent_ident abonent_address abonent_service Справочники и данные об абонентах, которые можно выгрузить этим скриптом: abonent abonent_address abonent_ident abonent_service commutators gateways ip_gateway ip_plan regions supplementary_service undefined_payment doc_type pay_type Ещё скрипт можно запустить с дебагом, тогда файлы будут созданы, но без выгрузки на FTP. Например: upload.sh abonent --debug
Как запустить настройку
Запустите скрипт configure.sh:
/app/asr_billing/cfg/sorm3-mfi/configure.sh all
Если нужно выполнить только какую-то часть, например добавить массово атрибут новым абонентам, укажите это первым агрументом функции, например:
./configure.sh prepare_references
Если запустить скрипт без парамеров, он выведет справку
Укажите, что нужно настроить: prepare_references - создать реквизит с типами документов, удостоверяющих личность prepare_abonents - добавить всем абонентам реквизит с типом документа Паспорт гражданина РФ make_doc_type - сформировать справочник с типами документов для выгрузки на СОРМ install_cron - настроить CRON install_logrotate - настроить logrotate prepare_payment_report - выгрузить справочник используемых платёжных систем и подготовить sql для выгрузки платежей all - всё вышеперечисленное Например: configure.sh all
Отладка
Если выгрузка не прошла, или произошла с какой-либо ошибкой (пустые файлы, или оборванные "на середине"), посмотреть, как проходила выгрузка можно в файле журнала на сервере:
/app/asr_billing/var/log/sorm3_upload.log
Есть три наиболее распространённые причины.
1. Проблема с CRON
Если выгрузка совсем не проходила и данных в журнале нет, возможно есть проблема с планировщиком задач - он может быть выключен, может неправильно сконфигурирован, или самим скриптом /etc/cron.d/sorm3-mfi-upload.sh - возможно на нём не установлены права на выполнение.
- Возможно cron просто выключен, включить можно командой:
/etc/init.d/crond start
- Убедитесть что файл /etc/init.d/cron исполняемый:
chmode a+x /etc/init.d/crond
- Проверьте, чтобы скрипт имел следующие права
[root@carbontesst]# ll /app/asr_billing/cfg/sorm3-mfi/etc-host/cron.d/sorm3-mfi-upload -rw-r--r-- 1 root root /app/asr_billing/cfg/sorm3-mfi/etc-host/cron.d/sorm3-mfi-upload
Выставить данные права можно с помощью команды
chmod 644 /app/asr_billing/cfg/sorm3-mfi/etc-host/cron.d/sorm3-mfi-upload
- Если есть какие-то ошибки в работе, Вы можете найти информацию о них в файле /var/log/cron. К сожалению, отладка крона уже выходит за рамки документации продукта Carbon Billing. Пожалуйста, обратитесь к документации CRON если это Ваш случай.
2. Проблема в формировании выгрузки (в отчётах)
Мы написали краткую статью по отладке отчётов: Отладка отчетов. По ней Вы можете решить такую проблему.
3. Проблема с выгрузкой на FTP
Наша система резервного копирования так же использует FTP-сервера для хранения резервных копий удалённо.
В документаци по отладке выгрузки резервных копий мы описали распространённые причины, почему данные могут не выгружаться: [ALARM Ошибка автоматической резервной копии!]
4. Можно формировать выгрузки, но не выгружать на FTP, чтобы их отлаживать?
Можно, для этого добавьте флаг --debug скрипту upload.sh, например:
/app/asr_billing/cfg/sorm3-mfi/upload.sh regions ip_plan --debug
Если справочники в биллинге заполнены и по структуре запросов есть подходящие данные для выгрузки, то в выводе скрипт напишет пути к файлам:
... 2021-08-11 12:03:01 Пукть к файлу: /app/asr_billing/var/sorm3_data/done//REGIONS_20210811_1203.csv ... 2021-08-11 12:03:01 Пукть к файлу: /app/asr_billing/var/sorm3_data/done//IP_PLAN_20210811_1203.csv
Если в биллинге не заведены данные, которы можно выгрузить, то скрипт напишет что файлы сырой выгрузки пусты, например:
2021-08-11 12:02:49 Файл /app/asr_billing/var/sorm3_data/gateways.csv_raw пуст 2021-08-11 12:02:49 Файл /app/asr_billing/var/sorm3_data/undefined_payment.csv_raw пуст
Отладить это Вы можете по статье Отладка отчетов