Описание основной части программы "BG-биллинг" вер. 2.0 Основные понятия Структура биллинга Установка шаг за шагом Платформоспецифичные настройки Настройка сервера биллинга Модули Справочники Договор и шаблоны договоров WEB - интерфейс пользователя Администрирование Планировщик задач Новые тарифные планы Основные понятия Биллинговая система (биллинг) - система подсчета чего-либо. Обычно каких-нибудь услуг связи. Договор - набор данных о клиенте. Содержит перечень потребляемых клиентом услуг, его индивидуальные настройки (логины, пароли). Ядро биллинга - основная часть программы, содержащая редактор договоров, модулей. Основное назначение ядра - ведение базы договоров и их связь с модулями. Модуль - фрагмент программы, который можно динамически (без модернизации основной части программы) подключать. В модулях содержится вся функциональность биллинга. Так, например, модуль DialUp позволяет сопоставить договору логины и пароль, по которым клиент может выйти в Интернет. Понятие модуль имеет два значения: - это просто фрагмент программы; - это обособленный набор данных, для работы с которыми существует свой код. Более подробно о модулях написано здесь. Услуга - способ привязки клиента к модулю. Добавляя клиенту услугу, системе дается понять, что этому клиенту теперь доступны возможности того модуля, к которому относится эта услуга. К оглавлению Структура биллинга Данная биллинговая система выполнена в клиент-серверном варианте. Общая структура изображена на рисунке. Можно выделить три основных части: - серверная часть - обрабатывает запросы клиента и WEB запросы; - клиентская часть - визуализирует работу с сервером; - WEB интерфейс пользователя - позволяет пользователям просматривать и модифицировать свои параметры а также получать оперативные отчеты по модулям (просмотр сессий, звонков и т.д.). Преимущества клиент-серверной технологии заключаются в возможности удаленного управления серверной частью с помощью клиента. К оглавлению Установка шаг за шагом Установка биллинга состоит из следующих шагов: Инструкция по установке. Для простоты приведен пример установки биллинга на диск C: OS Windows 2K(2003) либо XP. Если вы хотите установить систему на другой диск, поменяйте пути везде где необходимо их указать. 1) Установите MySQL Server на диск С: в папку C:\MySQL. Найдите на диске С: или создайте ( если нет ) файл my.cnf ( /etc/my.cnf для UNIX ) - конфигурация MySQL и добавьте туда: [mysqld] set-variable=max_allowed_packet=10M default-character-set=cp1251 Это позволит передавать большие пакеты между сервероми BGBilling и SQL. Если вы это не сделаете, вы не сможете ставить модули. 2) Запустите MySQL через Пуск => Настройка => Панель управления => Администрирование => Службы Найдите службу MySQL и запустите ее. 3) Установите(если нет) JSDK(Java машину), последнюю версию можно найти по адресу http://java.sun.com/j2se. JAVA - язык на котором написан биллинг является интерпретируемым и запускается с помощью специальной программы JAVA - машины. Для нормальной работы необходимо JSDK версии 1.4.1 либо выше. 4) Установите Tomcat(Web - сервер) также на диск C: в папку C:\Tomcat. Внимание, все BAT файлы написаны так, что будут работать только если в пути к Tomcat не будет пробелов. Всвязи с этим не рекомендуется ставить в директорию Program Files. При установке (под Windows 2K) укажите о необходимость установки 'Tomcat as Service'. 5) Извлеките из архива dump и папку bgbilling 6) Запустите mysql.exe < dump для создания базы данных (mysql.exe находится в MySQL/bin). 7) Скопируйте извлеченную папку bgbilling в C:\Tomcat\webapps 9) Установите переменную окружения BGBILLING_SERVER_DIR=C:\Tomcat\webapps\bgbilling\WEB-INF. Для установки переменных окружения в Windows нажмите правой клавишей мышки по ярлыку Мой компьютер затем выберите Свойства => Дополнительно => Переменные среды. В нижнем окошке ( Системные переменные ) нажмите Создать и введете данные как показано на рисунке. После этого необходимо перезагрузить компьютер. 10) Откройте файл C:\Tomcat\webapps\bgbilling\WEB-INF\classes\data\data.properties и произведите настройку подключения к БД: db.driver=org.gjt.mm.mysql.Driver db.url=jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=Cp1251 db.user=bill db.pswd=bgbilling Если база данных MySQL и сервер биллинга ( Tomcat ) стоят на одной машине, то ничего менять не надо. В противном случае вместо 127.0.0.1 укажите IP адрес машины с БД. Параметры db.user и db.pswd определяют имя пользователя и пароль под которыми сервер биллинга будет подключаться к базе данных. Пользователь bill с паролем bgbilling создется при начальном создании БД ( скрипт dump ). Не пытайтесь в этом месте поменять пароль для подключения к серверу биллинга, он меняется через клиента (меню Сервис => Администрирование => Пользователи). 11) Установите модули(если есть). Для установки модулей используйте скрипт bg_installer.sh. Положите рядом с ним архив модуля и запустите bg_installer.sh dialup_1.0.zip(например). 12) Запустите Tomcat ( запуск через службы, аналогично MySQL ). 13) Загрузите клиент биллинга и распакуйте его в произвольное место. На машине, где установлен клиента также должна стоять ява машина ( если клиент устанавливается на другой машине, см. п.3 ). Допустим, вы установили клиента на диск C: ( папка C:\BGBillingClient_2.0 ) 14) В папке BGBillingClient_2.0 найдите файл client.properties. db.server.0.title=TestFirm db.server.0.url=http://127.0.0.1:8080/bgbilling/executer db.server.0.proxy.host= db.server.0.proxy.port= В случае, если клиент установлен на одну с сервером машину, ничего менять не надо. Если необходимо подключиться к серверу с другого рабочего места укажите вместо 127.0.0.1 адрес машины, где установлен сервер BGBilling и, при необходимости, хост и порт прокси, если подключение идет не напрямую. Аналогичным образом вы можете добавить еще один сервер BGBilling, доступный для подключения. Нужно лишь добавить аналогичный набор записей ниже, исправив server.0 на следующий номер. Например: db.server.1.title=NextBilling db.server.1.url=http://www.bill.com:8080/bgbilling/executer db.server.1.proxy.host=my.proxy.com db.server.1.proxy.port=3128 При запуске клиента вам будет предложено выбрать сервер для подключения. 15) Запустите клиента с помощью BATCH файла bgbilling_w9x.bat для Win98/ME либо bgbilling_w2k.bat для Windows2000, XP, 2003. 16) Если все запустилось, вы увидете окошко авторизации ( см. рисунок ). При установке базы биллинга в ней создается единственный пользователь admin c паролем admin. После первого входа желательно поменять пароль в целях безопасности. Если ошибок не выдается, а просто происходит очистка окошек ввода логина и пароля то, скорее всего проблема в сервере. Проверьте логи Tomcat в директории C:\Tomcat\logs на наличие ошибок ( Exception ). Вероятнее всего, сервер не может соеденится с базой данных. Попробуйте взять логин и пароль из файла C:\Tomcat\webapps\bgbilling\WEB-INF\classes\data\data.properties и с их помощью соединиться с БД. Для этого используйте консольный клиент mysql, расположенный в директории C:\mysql\bin. Наберите в командной строке mysql -ubill -pbilling bgbilling. Если соединение не прошло, проверьте, запущен ли сервер MySQL. 17) Если вы устанавливали модули, то про загрузке клиента должно быть выведено сообщение об установке обновлении системы, после чего потребуется перезапуск клиента. К оглавлению Платформоспецифичные настройки 1) Если вы ставите систему под *NIX сервер без графической подсистемы, добавьте в файле catalina.sh строку JAVA_OPTS='-Djava.awt.headless=true'; в начале файла, это позолит BGBilling серверу работать с графикой. 2) Под Debian Linux может возникнуть проблема нехватки прав, необходимо в файле tomcat4/conf/jk2.properties добавить следующее: grant codeBase "file:${catalina.home}/webapps/bgbilling/WEB-INF/classes/-" { permission java.security.AllPermission; }; grant codeBase "file:${catalina.home}/webapps/bgbilling/WEB-INF/lib/-" { permission java.security.AllPermission; }; К оглавлению Настройка сервера биллинга Для хранения логов, временных файлов и другой информации создайте папку на диске C:, например C:\billing. После установки сервера и клиента сервер должен быть настроен, для этого откройте в клиент пункт меню Сервис => Настройка. В появившейся закладке в нижней части найдите и нажмите кнопку Создать для создания новой конфигурации сервера. #режим выдачи страниц: xml либо html - сборка страниц браузером либо на сервере web.mode=html web.admin.password=21232F297A57A5A743894A0E4A801FC3 web.xslt=http://127.0.0.1:8080/bgbilling/xsl/ #путь архивирования договоров contract.archive.path=C:/billing/contr_arch/ #параметры модуля Contract contact.passw.down=5 contact.passw.up=15 #XSLT шаблон для печати баланса contract.xslt=contract_balance_print.xsl #путь, по которому сервер будет искать XSLT файлы server.xslt=http://127.0.0.1:8080/bgbilling/xsl/ #временная папка temp.dir.path=C:/billing/tmp/ #папка для логов log.dir.path=C:/billing/logs/ log.max.size=10MB log.max.backup=1 #настройки почты mail.smtp.host=bill.ru mail.from.email=bill@bill.ru mail.from.name=BG-billing server mail.to.email=bill@bill.ru mail.to.name=bill@bill.ru mail.encoding=windows-1251 #режим безопасности allowAll ( разрешено все, что не запрещено ) либо denyAll ( запрщено все, что не разрешено ) security.mode=allowAll Значение большинства параметров пояснены в комментариях, однако разберем некоторые из них подробнее. #режим выдачи страниц: xml либо html - сборка страниц браузером либо на сервере web.mode=html web.admin.password=21232F297A57A5A743894A0E4A801FC3 web.xslt=http://127.0.0.1:8080/bgbilling/xsl/ web.mode позволяет задать режим выдачи клиену страниц html либо в xml формате. XML - универсальный формат данных, клиент получает XML документ со ссылкой на шаблон преобразования и его браузер самостоятельно собирает страницу. Достоиством данного метода является снижение нагрузки на сервер а недостатком - не все браузеры смогут обработать такой ответ. web.xslt - URL папки, где будут лежать ваши XSLT шаблоны. 127.0.0.1 следует заменить на адрес машины с сервером Tomcat. web.admin.password - MD5 хеш универсального администраторского пароля. С помощью него можно заменить пароль любого клиента для просмотра статистики. Приведенный выше пароль: admin. Для того чтобы его сменить воспользуйтесь утилитой Утилиты => Вычисление Digest. В верхнем окошке введите пароль, вычислите хеш и скопируйте в конфигурацию. Обязательно укажите временную папку, папку для архива удаленных договоров и папку для ведения логов планировщика и загрузчика логов ( используется в модулях IP_1 и IP_2 ). Параметр log.max.size=10MB задает максимальный размер лога, после которого будет создана его копия и лог начнется заново ( так называемый ротейт логов ). Количество создаваемых копий задается log.max.backup=1. Также очень желательно настроить опции почты: #настройки почты mail.smtp.host=bill.ru mail.from.email=bill@bill.ru mail.from.name=BG-billing server mail.to.email=bill@bill.ru mail.to.name=bill@bill.ru mail.encoding=windows-1251 В mail.smtp.host укажите ваш почтовый сервер, адрес и имя подставляемые в поля ОТ письма ( mail.from.email, mail.from.name ). Также укажите адрес и имя администратора ( mail.to.email, mail.to.name ). На этот адрес будут слатся сообщения об ошибках. В кодировке можете указать windows-1251 либо KOI8-R на ваш выбор. Параметр contract.xslt=contract_balance_print.xsl можете не трогать до тех пор, пока вам не понадобилось изменить вид распечатки баланса. server.xslt=http://127.0.0.1:8080/bgbilling/xsl/ - URL, где ваш BGBilling сервер будет брать необходимые ему XSLT шаблоны. При этом он, по сути, обращается к самому себе. Если вы не хотите менять местоположение XSLT шаблонов сервера, трогать этот путь нет необходимости. Если вы не знаете что ввести в качестве параметра в конфигурацию возьмите этот параметр из примера, приведенного выше. После сохранения конфигурации выберите строку с ней в таблице и нажмите Установить. После этого перезапустите Tomcat. К оглавлению Модули Модули необходимы для расширения функциональности системы. В этой главе полагается, что ваш Tomcat с сервером биллинга установлен в C:\Tomcat. Если вы установили его в другое мето, используйте выши пути. Установка модуля производится инсталлятором, который расположен в каталоге C:\Tomcat\webapps\bgbilling\WEB-INF. Для запуска положите zip файл модуля рядом с инсталлятором и запустите bg_installer.bat {имя файла с архивом}. Распаковывать ничего не надо. Для запуска файла с параметрами можете использовать консольные оболочки под Win32 ( типа Far ). Либо Пуск => Выполнить введите C:\Tomcat\webapps\bgbilling\WEB-INF\bg_installer.bat {имя файла - архивом}. Если инсталляция прошла успешно, будет выведено сообщение ( например ): Module dialup version 1.0 was sucsessfull installed! Если выводится сообщение, что JAVA не является программой или командой, то нужно либо прописать в bg_installer.bat полный путь к java.exe ( вспомните куда ставили JDK и поищите там в папке bin ), либо прописать этот путь в переменную окружения CLASSPATH что более предпочтительно. Модуль не установится, если в системе уже имеется модуль таким названием и аналогичной версии. Сведения об установленных модулях хранятся в таблице installed_modules. После того, как установили модуль, необходимо перезапустить Tomcat. После этого должен быть обновлен клиент. Для этого запустите его и подсоединитесь к обновленному серверу биллинга. Если все прошло успешно, будет выведено окошко с сообщением. Данное сообщение означает, что код клиентской части, необходимый для работы с модулем, скопирован. Иначе говоря, уже есть код модуля, но нет обособленной единицы модуля со своими данными. Для того чтобы ее создать, следует запустить редактор модулей и услуг ( меню Модули ). Слева расположена таблица установленных модулей: код модуля, его произвольное название и базовый модуль. Базовый модуль - ни что иное, как программный код, осуществляющий поддержку модуля. А сам модуль - это совокупность данных с уникальным кодом. От одного базового модуля можно породить неограниченное количество модулей. Например, если сделать два модуля от базового модуля DialUp (Доступ в интернет по коммутируемой линии), то каждому из них будут соответствовать свои таблицы в базе, свои списки логинов, свои точки доступа. А код, обрабатывающий все эти данные будет общим. Для добавления нового модуля нажмите кнопку на общей панели инструментов, для редактирования - либо двойной клик по строке таблицы. Изменить можно только название модуля. Удаление модуля: . Внимание!! Удаляя модуль, вы удалите и все связанные с ним данные. Справа расположены услуги, ассоциированные с модулем. Услуги - это способ привязки клиента к модулю. Каждой услуге также соответствует уникальный код. Для редактирования списка услуг модуля воспользуетесь тремя кнопками над таблицей с услугами. К оглавлению Справочники Система справочников необходима для настройки биллинга. В справочниках задаются значения, которые могут принимать различные параметры договоров. Для редактирования справочников выберите пункт меню Справочники => Другие. Для редактирования справочников используется общая панель инструментов. Ниже перечислены назначения справочников. Типы платежей Типы платежей необходимы для разделения платежей клиентов. Далее по ним строятся отчеты. Например: платежи через банк - 20 руб., платежи наличными - 10 руб. Для удобства редактирования платежи построены в виде дерева. Параметр Не редактируемый элемент показывает, что данный тип платежа нельзя заносить и редактировать через редактор платежей в договоре. Такие платежи заносятся системой, например при активизации интернет-карточки. Параметры Группа и Элементы группы показывают, что добавляется в дерево: группа платежей либо название платежа. Типы расходов То же самое, что и платежи, только наоборот. Редактирование аналогично. Параметры договоров В дополнение к стандартному набору параметров договор может иметь набор пользовательских атрибутов. Для этого их надо перечислить и указать их тип. Группы договоров Группы необходимы для логического объединения договоров одного типа. Например: Юр. лица, физически лица. Если снять галочку Группа используется, то она перестанет отображfться во всех редакторах. Группы параметров и Привязка параметров Иногда для разных групп договоров существуют параметры, которые не совпадают друг с другом. Так, для договора на частное лицо параметр Юр. адрес не имеет смысла. Чтобы при редактировании договора отображались только нужные параметры, следует создать группу параметров и в привязке параметров указать необходимый набор атрибутов. Ниже изображены три группы параметров и привязанные к ним наборы атрибутов. Города, кварталы, улицы, фирмы Это простые перечисления, редактирования сложности не представляет. Фирмы - это перечень фирм, использующих данную систему. Таким образом, один биллинг могут использовать несколько организаций. К оглавлению Договор и шаблоны договоров Как уже упоминалось ранее, договор хранит параметры клиента, его баланс, список услуг. Шаблоны договоров созданы для двух целей: 1) они позволяют избежать рутинного заполнения параметров при частом создании однотипных договоров, достаточно указать шаблон и параметры будут указаны автоматически; 2) для автоматического создания договоров. Например, при первом звонке клиента с интернет-картой, ему создается договор по шаблону, который указан для этой карты. Для создания или редактирования шаблонов зайдите в Договор => Шаблоны. Редактирование - с помощью общей панели инструментов. Для создания шаблона, ему необходимо дать имя и указать параметры. Необходимо установить следующие параметры: - лицо (юридическое и физическое) - тип контрагента; - режим (дебет и кредит) - режим обсчета. При дебетовом режиме как только денег станет меньше, чем указано в лимите услуга более не предоставляется. В кредитовый режиме услуга предоставляется в неограниченном количестве, счет выставляется в конце месяца; - лимит - минимальный остаток на счете при дебетовом режиме; - услуги - потребляемые клиентом услуги; - тарифный план; - группы - группы, в которые будет входить договор; - группа параметров - набор атрибутов создаваемого договора; - фирмы - выбор фирмы, которой принадлежит договор. Для создания шаблонов требуется создать в справочнике фирм хотя бы одну фирму и хотя бы одну группу сделать используемой. Шаблон не создается, если не заполнены все параметры. Для создания нового договора выберите пункт меню Договор => Новый договор. В появившемся окошке выберите базовый шаблон и дату заключения договора. Сразу после создания договор называется New contract(). Для переименования нажмите кнопку рядом с названием договора. Появится окно ввода имени договора и комментария. В каждом открытом договоре есть две закладки (переключаются сверху): параметры и отчет. Параметры - это различные настройки договора, включая список используемых модулей, который задается перечнем потребляемых услуг и отображается в дереве. Отчет - это отчет по модулям. В нашем случае отображается список сессий договора из модуля Мой диалап. Для переключения модуля, по которому необходим отчет используются закладки внизу панели. В закладке Параметры слева расположено дерево параметров а справа отображается содержимое и редактор соответствующего узла дерева. Рассмотрим их последовательно. Параметры договора В этой закладке можно изменить фирму-владельца договора, группу параметров, тип лица-клиента. Пользовательские параметры отображаются в виде таблицы. Для редактирования щелкните по второму столбцу. Пароль Пароль необходим клиенту для захода на Web-статистику. В качестве логина вводится название договора более подробно читайте в разделе WEB-статистика. Для смены пароля наберите его в текстовой области на нажмите ОК. В таблице отображается лог смен пароля, его можно сортировать по дате по убыванию и возрастанию. Лимит Смысл лимита подробно объяснен выше в этом разделе. Отображение логов аналогично паролю. Для смены лимита можно использовать как кнопки с предопределенными значениями, так и произвольное значение, указанное в текстовой области. Режим Переключение режима (дебет или кредит), просмотр лога. Группы Редактирование списка групп, в которые входит договор. Тарифный план В таблице отобраются все тарифные планы, которые когда-либо имел клиент с указанием периода действия. Для добавления тарифного плана используйте кнопку . В появившемcя окне введите название тарифного плана и период его действия. В один момент времени у пользователя должен быть только один тарифный план. Баланс Четыре кнопки Приход, Расход, Наработка и Баланс отображают в таблице приходы, расходы, наработку по услугам и баланс пользователя по месяцам. Приходы и расходы можно редактировать, добавляя новые платежи и расходы а также изменяя существующие. Модули При выборе этого узла отображаются все потребляемые клиентом услуги. А в качестве дочерних узлов - относящиеся к этим услугам модули. Чтобы добавить новый модуль добавьте клиенту услугу из этого модуля. Далее нажмите кнопу Обновить. Добавленный модуль должен появится в дереве. Далее его можно выбрать и изменить пользовательскую настройку этого модуля для контракта (для DialUp это список логинов входа). Для удаления договора следует его открыть и нажать на кнопку . После чего нужно ответить на вопрос: удалять его безвозвратно или в архив. После удаления в архив договор будет сериализован в формат XML, сжат в архив ZIP и выложен по указанному вами в contract.archive.path пути. После чего данные из базы будут удалены. В ближайших версиях будет сделано восстановление договора из архива. Поиск договоров осуществляется вызовом меню Договор => Открыть договор либо нажатием аналогичной кнопки на панели инструментов. После этого открывается окно поиска. Поиск можно осуществлять по названию и комментарию с фильтром по группам либо по параметрам договора. При поиске по параметрам следует выбрать параметр и набрать маску поиска. Маска поиска - подстрока, входящая в искомое значение. Кнопка X - отмена поиска, сброс значения. >>> - запуск поиска. Пометка Учитывать скрытые позвояет включить в результаты поиска скрытые договора. После получения списка договоров выберите интересующие вас и нажмите Ok. К оглавлению WEB - интерфейс пользователя Предназначен для предоставления пользователю возможности просмотра и редактирования параметров своего договора без привлечения персонала фирмы. Для того, чтобы зайти на страницу статистики, наберите http://127.0.0.1:8080/bgbilling/webexecuter в окне браузера, 127.0.0.1 - IP адрес хоста, где установлен Tomcat сервер. Если сервер установлен не на текущей машине, используйте другой адрес. После этого будет выведено окошко с предложением авторизироваться. Логин - название договора, пароль задается в свойствах договора. Если авторизация прошла успешна, будет выведено меню статистики. В качестве универсального пароля можно использовать пароль администратора, MD5 хэш которого указан в файле конфигурации сервера. Для смены пароля администратора воспользуйтесь утилитой Утилиты => Вычисление Digest... В верхней текстовой области введите пароль, в нижней должен появится хэш. Скопируйте его и замените значение web.admin.password в файле конфигурации сервера. При установке пароль - admin. При создании договора оно включает лишь просмотр баланса и смена пароля на доступ к статистике. По мере добавления клиенту услуг каждый добавленный модуль создаст свои пункты в меню. Обратите внимание на три последних пункта меню - это "вклад" модуля Мой диалап. Отображаемый в браузере интерфейс может быть легко изменен с помощью шаблонов XSLT, расположенных в каталоге {путь к Tomcat}/webapps/bgbilling/xsl. Можно добавить символику фирмы, рекламу и т.д. Каждый модуль добавляет свой шаблон в каталог при инсталляции. Главный шаблон - main.xsl К оглавлению Администрирование Разграничение доступа в системе BGBilling возможно в двух режимах: мягком (разрешено все, кроме того что запрещено) и жестком (запрещено все кроме того что разрешено). По умолчанию используется первый режим как более простой в использовании. Режимы переключаются установкой параметра security.mode в конфигурации сервера. После установки режима доступ разрешается в первом режиме ко всем действиям кроме указанных для пользователя, во втором - запрещается ко всем действиям кроме указанных. Для сопоставления пользователю набора действий можно использовать как непосредственное указание их для пользователя так и сопоставление пользователю групп действий. И то и другое выполняется на закладке Сервис => Администрирование => Редактор правил и вхождений пользователей. Группы действий используются для группировки аналогичных действий. Для создания и редактирования списка групп используйте Редактор групп, для добавления в группу действий - Редактор правил групп. Кроме того возможно расширение списка действий группы за счет включения в нее подгрупп. Например, существуют группы Редактирование договоров и Просмотр договоров, содержащие необходимые наборы действий. Создав группу Работа с договорами и включив в нее две предыдущие вы тем самым создадите группу, содержащую действия для полного контроля над договорами. Теперь, если вы сопоставите пользователю эту группу, то в первом режиме он будет лишен какого-либо доступа к договорам а во втором получит эту возможность. К оглавлению Планировщик задач Специально для выполнения периодических процессов (снятие абонплат, очистка таблиц) в системе BGBilling предусмотрен планировщик задач, выполняющий какие-либо задачи в заданные интервалы времени. В UNIX для управления им используются скрипты scheduler_start.sh, scheduler_stop.sh, scheduler_reload.sh, расположенные в каталоге WEB-INF сервера. В Windows необходимо запустить скрипт scheduler_install.bat, при этом обязательно должны быть установленны переменные окружения BGBILLING_SERVER_DIR и JAVA_HOME (подробнее про них в инструкции по установке сервера биллинга). После этого можете запускать и останавливать планировщик через список служб. Скрипт scheduler_reload(.bat/.sh) необходимо вызывать каждый раз после того, как был исправлен список задач для планировщика. Автоматически перечитывание задач происходит каждые сутки. Для добавления новой задачи зайдите в Администрирование => Планировщик задач, нажмите кнопку Новый элемент, выберите тип задачи и когда ее запускать. Параметр приоритет показывает приоритет потока, который будет выполнять задачу. Без особой необходимости его не следует менять. Не забудьте поставить Включено. К оглавлению Новые тарифные планы Это основное нововведение версии 2.0 Тарифный план задает стоимость услуги в какой-либо момент времени любого момента времени. Отличием новой системы тарифных планов является их простота и возможность наследования. Тарифный план представляет собой единое дерево. При добавлении в систему новых модулей в дерево добавляются ветки-узлы, соответствующие модулю. Старые тарифные планы некоторое время еще будут поддерживаться для модуля DialUp. Для того, чтобы создать тарифный план,зайдите в меню Справочники => Новые тарифные планы. Нажмите кнопку В верхнем окне введите название тарифного плана. В нашем случае - Новый тарифный план. План можно создать новый а можно расширить от другого, выбранного в выпадающем списке. Для создания нужно нажать кнопку Создать дерево. Как видно из рисунка, создается дерево, содержащее в себе узлы - модули. О редактировании поддерева в каждом модуле читайте в описании этого модуля. Для добавления в узел дерева дочерних элементов нажмите по нему правой клавишей мышки, выберите Добавить и нужный тип узла. На рисунке показано, как в модуль DialUp добавляется узел Услуга. А вот вид дерева после добавления узла: Для того, чтобы редактировать узел нажмите правой кнопкой и выберите в меню Редактировать. Для узла отобразится специфичный для него редактор. Ниже изображен редактор для узла Услуга. После завершения редактирования ( в нашем случае, это выбор услуги ) необходимо нажать кнопку с галочкой для сохранения результата, либо с красным крестиком, если результат не нужно сохранять. Ниже перечислены основные типы узлов, встречающиеся во всех модулях: Название элемента Редактор Вид в дереве Назначение Услуга Фильтр по услуге, все объявленные в ней подэлементы относятся только к этой услуге. Создается, если в модуле есть несколько услуг с разными ценами. Период Фильтр по периоду, просмотр дочерних узлов будет произведен только если текущий момент времени попадает в этот период. Если одна из дат не указана, то она берется бесконечной ( в прошлое или будущее ). Узел период с неуказанными обеими датами просматривает дочерие узлы в любом случае. Фильтр по времени 1) 2) Можно создавать различную стоимость услуг по дням недели, месяца, часам, месяцам. Правила редактирования следующие: - если что-то не введено, то данный параметр может принять любое значение; - можно создавать несколько условий, отображаемых в редакторе 1). Фильтр сработает, если выполнится хотя бы одно из условий; - для редактирования условия нужно вызвать редактор 2) сделав двойной клик по строке условия в редакторе 1), либо нажав кнопку Редактировать; - набор масок дней, часов, дней недели и месяцев, перечисленных в условии должен выполнятся весь, т.е. чтоб сработало условие, нужно совпадение всех масок; - при вводе масок условия часы могут принимать значения от 0 до 23, дни недели от 1 до 7, дни месяца от 1 до 31, месяцы от 1 - 12. При вводе можно использовать символы - ( интервал со входящими концами ) и , ( перечисление ). Для удобства ввода можно использовать записи * ( будут выведены все значения ), а также */n( n - целое число, все что делится на n, например */2 - 0, 2, 4, 6... ), либо *\n ( n - целое число, все что не делится на n ). Элемент каталога Используется в некоторых модулях для упорядочивания содержимого дерева. Наследование тарифных планов. Допустим, у вас есть клиент, с которым у вас особые отношения, например так называемый VIP клиент. Для него необходимо указать свою цену, причем только на одну услугу, другие же предоставлять на общих основаниях. При старой системе вам нужно было бы создать отдельный тарифный план, повторить одинаковые цены и забить отличающиеся. С новыми тарифными деревьями достаточно расширить тариф и забить рядом с ценами родительского дерева цены дочернего дерева. Для наследования тарифного плана нужно нажать кнопку Расширить, выбрав план для расширения. При расширении в дочернем дереве отображаются все узлы дерева - предка, однако при поиске цены просматриваться будут в первую очередь узлы дочернего дерева. В верхнем узле тарифного дерева рядом с названием самого тарифного плана появится в квадратных скобках название тарифного плана - предка. Перекрытие тарифа для договора Еще одна возможность изменения цены для клиента, даже без создания нового тарифного плана. Для расширения тарифного дерева нужно выбрать в тарифных планах клиента расширяемый тарифный план и далее нажать кнопку Расширить тариф ( см. рисунок ). Полученный в результате расшиения тариф будет иметь для данного договора наивысший приоритет, тарифные планы, указанные в таблице, будут игнорироваться. Дополнительные сведения по тарифным планам Во многих узлах позиция дочернего узала не имеет значения. Но иногда она важна, для смены положения узла в родителе нужно в меню узла выбрать пункты Двинуть вверх или Двинуть вниз. Положение узла значимо, например, для временных фильтров. Если цена будет найдена в одном фильтре, следующий уже не будет просмотрен. Поэтому можно располагать самые жесткие ограничения ( праздники, например ) первыми, а остальные после них. Для удаления узла выберите Удалить узел в контекстном меню узла. Тарифные деревья поддерживают возможность поиска по отображению. Для поиска воспользуйтесь текстовой областью над деревом, кнопками Найти и Найти следующее. Найденные узлы подсвечиваются синим цветом. Если вхождений больше нет, дерево свернется. К оглавлению