Пользовательские отчеты позволяют настроить получение на регулярной основе информации, которую невозможно получить с помощью стандартных отчетов в Офисе оператора связи (ООС). Для этого в конфигурации ООС сохраняется SQL-запрос, входные и выходные данные. Отчеты вызываются из ООС, в меню Отчеты > Пользовательские отчеты:
Настройка включает 3 шага:
В файле hoper_configuration.yml необходимо в разделе widgets добавить данные для подключения к hccp:
specifications: default: ... widgets: ... hccp_reports: public_url: 'https://hccp.example.ru' # Внешний адрес ПОА url: 'http://hccp-hydra:3000' # внутренний адрес ПОА с указанием контейнера и порта. Контейнер указывается непосредственно hccp, на котором будет авторизовываться hoper login: hccp_user # пользователь с доступом в ПОА password: hccp_user_password # пароль пользователя с доступом в ПОА |
Задать пароль и логин hccp можно в офисе оператора связи.
Для этого необходимо войти в ООС, перейти в юридическое лицо нашего клиента, откроется окно:
Затем, необходимо перейти в Агент HCCP→Службы:
В файле hccp.yml необходимо добавить информацию о новом отчете:
reports: - code: missing_prices title: Родительские подписки на услуги с неопределённой ценой short_title: Подписки с неопределённой ценой parameters: - label: Дата и время проверки code: d_oper type: datetime default: now |
где
code
– идентификатор отчётаtitle
– наименование отчёта, отображается на странице отчетаshort_title
– краткое наименование отчета, отображается в списке отчетовparameters.label
– наименование строки ввода параметровparameters.code
– код параметраparameters.type
– тип параметраdefault
– значение по умолчанию, которое выбирается, если параметр не заполнен.В файле reports.yml необходимо добавить код SQL-запроса, выводимые поля и сортировку:
reports: - code: missing_prices sql: | SELECT S.VC_ACCOUNT, S.VC_DOC_CODE, C.VC_PARENT_DOC, S.VC_OBJECT, S.VC_SERVICE, S.D_BEGIN, S.D_END, '/subjects/users/edit/' || S.N_CUSTOMER_ID VC_CUSTOMER_URL FROM SI_V_SUBSCRIPTIONS S, SD_V_CONTRACTS C WHERE S.N_PAR_SUBSCRIPTION_ID IS NULL AND C.N_DOC_ID = S.N_DOC_ID AND :d_oper BETWEEN S.D_BEGIN AND NVL(S.D_END, :d_oper) AND SD_PRICE_ORDERS_PKG_S.GET_PRICE_LINE_PRICE( num_N_SERVICE_ID => S.N_SERVICE_ID, dt_D_OPER => :d_oper, num_N_CONTRACT_ID => S.N_DOC_ID) IS NULL ORDER BY VC_ACCOUNT binds: - d_oper fields: - code: VC_ACCOUNT type: string name: Лицевой счёт - code: VC_DOC_CODE type: string name: Договор - code: VC_PARENT_DOC type: string name: Базовый договор - code: VC_OBJECT type: string name: Точка оказания услуги - code: VC_SERVICE type: string name: Услуга - code: D_BEGIN type: datetime name: Дата начала - code: D_END type: datetime name: Дата окончания - code: VC_CUSTOMER_URL type: link name: Страница абонента totals: rowcount: enabled: true name: Количество amount: enabled: false fields: [] |
Итоговый отчет будет выглядеть следующим образом: