... {toc:maxLevel=3} {info}Выгрузка подготовлена только для операторов ШПД.{info} h2. Сайт поставщика [Сигналтек АПК СОРМ Визирь-ИС|https://signaltec.ru/sorm/sorm3.html] h2. Как развернуть # Скачайте архив с файлами интеграции и распакуйте в нужной директории: {code} yum install -y wget wget --no-check-certificate https://docs.carbonsoft.ru/download/attachments/157614082/sorm3-signaltec_20211028.tar.gz mkdir /app/asr_billing/cfg/sorm3-signaltec tar xzf sorm3-signaltec_20211028.tar.gz -C /app/asr_billing/cfg/sorm3-signaltec/ {code} # Выполните скрипт настройки, он добавит системный атрибут типам документа (паспорт, загранпаспорт и тд), добавит его всем абонентам, настроит планировщик ОС и ротацию файла журнала {code}/app/asr_billing/cfg/sorm3-signaltec/configure.sh all{code} # Исправьте файл */app/asr_billing/cfg/sorm3-signaltec/config.ini* - укажите там параметры Вашего FTP. Секция FTP в конфигурационном файле должна выглядеть приблизительно так: {code} [ftp] # Данные подключения к FTP ftp_ip=10.90.1.185 ftp_login=carbon ftp_pass=carbon {code} h2. Что нужно знать о выгрузках, скриптах и тд h3. Примечания по архитектуре интеграции * По-умолчанию автоматический делаются выгрузки: ** раз в сутки: abonents ** раз в час: payment_short_daily * Если хотите изменить частоту или набор выгрузок - поправьте */app/asr_billing/cfg/sorm3-signaltec/etc-host/cron.d/sorm3-signaltec-upload* и перезапустите cron * Справочники нужно выгружать только при необходимости вручную, передав имена нужных выгрузок. Примерно так: {code}/app/asr_billing/cfg/sorm3-signaltec/upload.sh gates_short ip_numbering_plan_short switches_short{code} h3. Какие выгрузки формируются - Данные об абонентах -* abonents - Справочные данные -* ip_numbering_plan -* payments -* services -* supplement_services -* switches -* telcos -* doc_types -* gates -* ip_data_points_long -* pay_types h3. Какие не формируются и почему * ip_data_points - в биллинге не хранятся данные по точкам подключения трафика. * termination_causes - в биллинге не хранятся данные о причинах завершения соединений Эти справочники Вы можете сформировать и загрузить на FTP вручную. Обязательно обсудите с поддержкой Сигналтек. h3. Как сделать выгрузку вручную Скриптом upload.sh, в качестве параметров через пробел перечислите нужные отчёты для выгрузки, например: {code}/app/asr_billing/cfg/sorm3-signaltec/upload.sh ip_numbering_plan_short{code} Можете запустить без параметров, скрипт напишет краткую справку и список отчётов которые можно выполнить: {code:title=Команда}/app/asr_billing/cfg/sorm3-signaltec/upload.sh{code} {code:title=Вывод} 2021-10-06 22:42:22 скрипт запущен Укажите какие отчёты надо выгружать. Например: upload.sh abonent abonent_ident abonent_address abonent_service Справочники и данные об абонентах, которые можно выгрузить этим скриптом: abonents ip_numbering_plan_short payments_short_complete payments_short_daily services supplement_services switches_short telcos_short doc_types_short gates_short ip_data_points_long pay_types Ещё скрипт можно запустить с дебагом, тогда файлы будут созданы, но без выгрузки на FTP. Например: upload.sh abonent --debug {code} h3. Получение отчётов об выгрузках и ошибках с FTP Визирь сохраняет отчёты о выгрузках на FTP: * Файлы с расширением *txt* содержат сводный отчёт: сколько было сделано выгрузок за сутки, сколько удачных, сколько неудачных, какое количество данных в них содержалось * Файлы с расширением *doc* содержат отчёт по конкретной выгрузке, *если в ней были ошибки*. Если выгрузка была полностью корректной - файла ods не будет. В отчёте будут выделены красным столбцы, в которых обнаружены ошибки. В последней колонке - пояснение, какая именно ошибка была обнаружена. Для удобства работы с отчётами добавлен скрипт *error_reports.sh*, он позволяет получить список файлов на FTP и скачать необходимые файлы на сервер биллинга. Если запустить его без аргументов, Вы получите справку: {code} Укажите, что нужно сделать: list - получить список файлов с ошибками за сегодня list all - файлы с ошибками за всё время list dd.mm.yyyy - файлы с ошибками за выбранную дату ДД.ММ.ГГГГ (ДД или ДД.ММ тоже работают) download - скачать самый последний файл в папке с отчётами об ошибках download file - скачать выбранный файл Например: ./error_reports.sh list ./error_reports.sh download abonents_2021_10_07_10_25.csv.invalid.ods {code} h2. Отладка h3. Данные из биллинга не выгружаются, при запуске upload.sh - ошибки Пример вывода скрипта upload.sh {code}# /app/asr_billing/cfg/sorm3-signaltec/upload.sh abonents --debug 2021-10-28 18:11:24 скрипт запущен Statement failed, SQLCODE = -413 conversion error from string "29.02.1989" After line 1 in file /cfg/sorm3-signaltec/reports/abonents.sql 2021-10-28 18:11:24 ......запускаем скрипт постобработки выгрузки abonents.sh cat: /app/asr_billing/var/sorm3_data/abonents.csv_raw: Нет такого файла или каталога 2021-10-28 18:11:24 ......количество строк после постобработки: 0 (в сырой выгрузке было 0) 2021-10-28 18:11:24 Выгрузка abonents.csv_raw нет сформирована, возможно произошла ошибка при получении данных из биллинга 2021-10-28 18:11:24 скрипт завершен{code} h4. В чём причина Это может случиться, если какие-то данные заведены неверно, как в примере выше: в 1989 году нет 29 февраля, и СУБД не может конвертировать неверные данные в правильный формат datetime. Другой причиной может быть формат, в котором данные замели, если он отличается от используемого в SQL-апросах. Например, если какой-то из стандартных [реквизитов|CarbonBilling:Реквизиты] поменяли. Чаще всего это паспортные данные или адреса. h4. Как решить # Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные). Отладить SQL запросы Вы можете по статье [CarbonBilling:Отладка отчетов] # Повторите выгрузку вручную скриптом *upload.sh* h3. Из биллинга выгружается пустой файл Пример вывода скрипта upload.sh {code}# upload.sh payments_short_daily 2021-10-28 17:49:55 скрипт запущен 2021-10-28 17:49:55 Файл /app/asr_billing/var/sorm3_data/payments_short_daily.csv_raw пуст 2021-10-28 17:49:55 скрипт завершен{code} h4. В чём причина Тут возможны несколько причин: # Данных действительно нет. #* Например, за сегодня сутки не было платежей. #* Ещё пример: выгружаете справочник, который ещё не заполнили, допустим не успели завести [коммутаторы|CarbonBilling:Взаимодействие с коммутаторами] и выгружаете справочник *switches_short*. # Данные в справочниках есть, но их недостаточно. #* Например, завели абонентов без паспортных данных и услуг. #* Ещё пример - завели коммутаторы, указали количество портов, но не указали адрес коммутатора #* Ещё пример - добавили новую платёжную систему, но не провели повторную конфигурацию ./configure.sh prepare_payment_report h4. Как решить # Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные). Отладить SQL запросы Вы можете по статье [CarbonBilling:Отладка отчетов] # Повторите выгрузку вручную скриптом *upload.sh* h3. Выгрузки проходят, но с ошибками, на FTP в папке "errors" есть файлы .ods, что делать? Пример вывода скрипта error_reports.sh {code}# ./error_reports.sh list cd ok, каталог=/errors 2021-10-28 00:16:40 abonents_2021_10_28_00_15_01.csv.invalid.ods{code} h4. В чём причина Причины могут быть разные: неверный формат данных, каких-то данных не хватает, обновилось ПО Сигналтек и изменились требования, и т.д. h4. Как решить # Скачайте отчёты на компьютер и откройте в Excel или LibreOffice Calc. # В каждой строке красным отмечены поля, в которых обнаружены ошибки. В последней колонке написано, что эти ошибки значат. # Обычно, они достаточно говорящие, например если абоненту или платежу не завели какие-то обязательные данные. # Исправьте ошибки - заведите данные или адаптируйте SQL-запросы под особенности Вашей выгрузки (например, каких-то абонентов выгружать не нужно, т.к. они служебные, или какие-то данные Вы храните в другом формате или реквизите, чаще всего это адреса и паспортные данные). Отладить SQL запросы Вы можете по статье [CarbonBilling:Отладка отчетов] # Повторите выгрузку вручную скриптом *upload.sh*
|