Статья описывает логику формирования выгружаемых файлов и информацию о данных, которые можно выгружать с помощью модуля. Информация представлена в форме таблиц.
Содержание таблиц:
- поле — наименование полей выгружаемых справочников;
- значение — данные, которые будут в файле выгрузки для соответствующих полей справочников. Может содержать:
- значение поля. Например, ФИО Клиента для справочника Клиенты;
- объяснение, как будет получено значение поля. Например, как будет получено Имя пользователя для справочника Клиенты;
- указание источника данных в формате "таблица.поле". Например, значение ИНН для справочника Клиенты будет получено из поля vatnum таблицы БД profile;
- отслеживается — информация о том, будет ли запись выгружена повторно, если значение объекта изменится;
- комментарий.
Логика работы модуля
Для каждого выбранного справочника формируется отдельный файл. Файлы выгрузки располагаются в отдельной папке. Если в настройках активна опция Использовать общую папку для всех файлов выгрузки, то все файлы выгрузки будут расположены в общей папке. Необходимые папки будут созданы автоматически при первой выгрузке справочников или при изменении пути в настройках модуля.
Название файла состоит из названия справочника и даты выгрузки, например, payment_2023_06_16_04_14_50. Каждый объект в файле выгружается на новой строке, поля отделяются указанным в настройках разделителем, каждое значение поля берётся в кавычки, например:
"3_19"/"587"/"2023-06-16 03:27:46"/"11750.0000"/"RUB"/"Банковский перевод"/"bank-account=123465789 bank-name=<bank_name>"/"4"/""
"3_19"/"589"/"2023-06-16 04:14:07"/"-1.5000"/"RUB"/"ЮKassa"/""/"4"/""
Объект в файле выгрузки — это строка с данными, например, клиент, платёж и т.д.
Если отсутствует значение для выгрузки, то будет сформирована строка "".
Если в настройках справочника поле выключено, то оно отсутствует в структуре файла. Если выключить все поля справочника, то будет сформирован пустой файл.
Если объект уже выгружался, то при изменении он будет выгружен повторно с новым значением. Например, при изменении статуса платежа или данных клиента.
Если перед выгрузкой объект был несколько раз изменён, то будет выгружено только его последнее значение. Например, у ВМ сменилось три владельца. В выгрузку попадут данные последнего владельца.
Выбор плательщика
Справочник Клиенты
Алгоритм выбора плательщика зависит от опции Выгружать данные отдельно по каждому договору в настройках модуля:
- опция включена — для каждой пары "клиент-договор" будут созданы отдельные записи, плательщик при этом выбирается из договора;
- опция выключена — для клиента выбирается последний (по ID) не выключенный плательщик. Если у клиента есть договор на таком плательщике, то будет выгружен он, иначе договор не будет выгружен.
Чтобы включить опцию:
- Перейдите в раздел Инструменты → Выгрузка для СОРМ.
- Активируйте справочник Выгружать данные клиентов → активируйте опцию Выгружать данные отдельно по каждому договору.
ID клиента формируется по шаблону:
- "account.id_contract.id" — если опция включена и у клиента есть договор;
- "account.id" — если опция выключена или договора нет.
Другие справочники
Для других справочников ID клиента формируется аналогично выгрузке, описанной выше. Если включена опция Выгружать данные отдельно по каждому договору, то для формирования ID выбирается последний (по ID) подписанный договор:
- подписанных договоров нет — будет выбран последний договор;
- договоры отсутствуют — будет использован шаблон без ID договора — "account.id".
Клиенты
Файл выгрузки формируется на основе данных клиентов, зарегистрированных в BILLmanager у всех провайдеров.
Внутренние пользователи
Файл выгрузки формируется на основе данных пользователей всех клиентов, зарегистрированных в BILLmanager на всех провайдерах.
История авторизации пользователей
Содержимое файла выгрузки зависит от опции Option EnableDbAuthlog в конфигурационном файле платформы /usr/local/mgr5/etc/billmgr.conf:
- если опция есть, то данные берутся из таблицы core_auth_log;
- если опция отсутствует, то данные берутся из файла /usr/local/mgr5/var/billmgr.auth.log.
Начиная с версии BILLmanager 6.77 фиксируются данные о Сетевом порте и User-agent авторизации. Данные будут фиксироваться только для новых авторизаций, выполненных после обновления платформы до актуальной версии.
Пример:
- Сетевой порт: 56190;
- Данные о User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/114.0.
При первой выгрузке все записи об авторизации считаются новыми, поэтому модуль СОРМ выгрузит их все. В последующие запуски будут выгружены только новые записи авторизации с момента последней выгрузки.
Отслеживаемые поля отсутствуют.
Платежи
Файл выгрузки формируется на основе данных всех платежей, зарегистрированных в BILLmanager.
Выгрузка производится для всех платежей, включая банковские.
Банковские платежи
Файл выгрузки формируется на основе данных всех банковских платежей, зарегистрированных в BILLmanager.
Отслеживаемые поля отсутствуют.
IP-адреса
Выгружаются адреса IPv4 и IPv6 из таблицы ip в БД. На момент выгрузки услуга для IP-адреса должна быть открыта или находиться в обработке, а дата окончания услуги должна быть позже даты выгрузки.
Отслеживаемые поля отсутствуют.
Домены
Выгружаются данные услуг с типом продукта "Домен". На момент выгрузки услуга домена должна быть открыта или находиться в обработке, а дата окончания должна быть позже даты выгрузки.
При первой выгрузке все записи о доменах считаются новыми, поэтому модуль СОРМ выгрузит их все. В последующие запуски будут выгружены только новые записи авторизации с момента последней выгрузки.
Запись будет выгружена повторно, если изменится владелец услуги или услуга будет выпущена заново.
Отслеживаемые поля отсутствуют.
Сообщения из запросов
Выгружаются все сообщения переписки "сотрудник-клиент", кроме резюме, внутренних комментариев и скрытых сообщений.
Если тикет был разделён, сообщения отделённого тикета будут выгружены повторно, начиная с того сообщения, с которого произошло разделение. Остальные изменения не отслеживаются для повторной выгрузки.