... В последних версиях биллинга предусмотрен функционал для интеграции с СОРМ в веб - интерфейсе биллинга. В данном разделе возможна настройка как стандартных схем СОРМ, которые уже добавлены в биллинг, так и новых пользовательских. h3. Первичные настройки Для настройки отчётов *СОРМ* необходимо перейти в раздел *Управление абонентами и тарифами - Оборудование - Настройки СОРМ*. Если до этого Вы ещё не проводили данные настройки - будет открыто окно Мастера создания СОРМ. В нем будет предложено заполнить только название и схему. Если в списке схем нет необходимой для Вас схемы - Вы можете выбрать пользовательскую схему и настроить её под Ваши требования. !master_sorm.png|border=1! h3. Основные настройки !sorm.png|border=1! После выбора схемы и нажатия кнопки *Сохранить* биллинг автоматически создаст в БД все настройки для данной схемы, такие как: *Разделитель.* Разделитель будет общим на все отчёты, которые будут созданы в рамках этой схемы. Пример разделителя *;*(точка с запятой) *Формат даты.* Формат даты будет общим для всех отчётов, которые будут создан в рамках это схемы. Он будет распространяться на *все* поля, которые можно распознать как дату. Пример формата даты *%Y-%m-%d %H:%M:%S* В данном случае: %Y - год %m - месяц %d - день %H - час %M - минута %S - секунда Вы можете настроить любой формат даты, используя эти переменные *Поля в кавычках.* Если данная опция выставлена - биллинг автоматически обернет каждое отдельное поле из отчёта в двойные кавычки. *Кодировка.* utf-8 или cp1251. Файлы, выгружаемые на ftp или доступные для скачивания будут иметь указанную кодировку. Кодировка распространяется на все отчёты. Так же на основной странице доступны кнопки *Установить настройки схемы* и *Подготовить отчёты*. Кнопка *Установить настройки схемы* заменяет все текущие настройки из списка на стандартные, которые соответствуют выбранной схеме Кнопка *Подготовить отчёты* удаляет все текущие отчёты и создает новые стандартные, которые соответствуют выбранной схеме h3. Список отчётов Все отчёты, доступные для выгрузки находятся на вкладке *Отчёты*. Любой отчёт можно удалить в архив и восстановить его обратно. !sorm_reports.png|border=1! h3. Настройки отчётов Каждый отчёт содержит в себе имя, SQL запрос и набор настроек. !main_settings_sorm.png|border=1!
|
!extened_settings_sorm.png|border=1!
|
{info}Внимание: при составлении SQL отчёта обязательно добавляйте последним полем *уникальный ключ* для этого отчёта. *Уникальный ключ* при этом может быть составным, например abonent_id:user_id c помощью операции конкатенации. Последнее поле никогда не будет выгружено в окончательной выгрузке и нужно только для того, чтобы в будущем формировать периодические выгрузки. Добавляйте *уникальный ключ* даже тогда, когда периодические выгрузки нужно выгружать всегда целиком, т.к. последнее поле всегда не будет попадать в выгрузку{info}
|
1)*Период выгрузки*. Определяет интервал, через который будет запускаться данный отчёт. Доступные периоды: ежечасно, ежедневно, только вручную. 2)*Генератор названий*. Определяет как именно будут названы файлы при выгрузке на ftp сервер. В генераторе названий доступные те же переменные, что и в формате даты.
|
... {warning} Примечание: В генераторе названий обязательно формат даты указывайте между символами | и | {warning} Пример генератора названий: *abonents-periodic-|%y%m%d_%H%M%S|.csv* При такой настройке в название файла будет попадать время формирования файла в указанном формате 3)*Папка на FTP*. В этом поле необходимо указать путь до папки на FTP сервере, в которую необходимо выгружать отчёт. Если данной папки не существует на FTP сервере - выгрузка не произойдет 4)*Формат периодичных отчётов* Определяет в каком именно формате будут выгружаться периодичные отчёты, сформированные по указанному SQL шаблону. *Всегда целиком* - означает, что каждый периодический отчёт будет сформирован полностью по всем записям, которые попадут в SQL выборку *Только изменения* - означает, что в каждый периодический отчёт попадет только та запись, которая изменилась с предыдущей выгрузки. h4. Общая логика работы для периодической выгрузки:
|
1) Если это первая периодическая выгрузка и на биллинге нет данных о последней успешной выгрузке на FTP сервер - будут выгружены полностью все записи исходя из SQL запроса 2) Если выгрузка на FTP прошла успешно - на биллинге будет сохранен выгруженный файл в директории */var/local/sorm/reports/abonents/actual/* где *abonents* - имя отчёта в веб интерфейсе.
|
В этом файле последним полем будет указан *уникальный ключ*
|
3) Если происходит периодическая выгрузка и биллинг находит последний актуальный файл в папке с тем именем, которое указано у отчёта в качестве имени начинается сравнение строк по ключам: биллинг смотрит текущий файл и последний актуальный и сравнивает строки с одинаковыми ключами друг с другом. Если в строках находятся изменения - текущая строка попадает в выгрузку. Если выгрузка на FTP проходит успешно - текущий актуальный файл заменяется. {info} Внимание: Актуальный файл на биллинге меняется только для выгрузок на FTP и только в том случае, если выгрузка прошла успешно. При ручном скачивании в csv или при выводе в веб интерфейсе актуальные файл меняться на биллинге не будет!{info}
|