Конфигурация

После установки сервера и клиента сервер должен быть настроен, для этого откройте в клиенте пункт меню Сервис=>Настройка=>Конфигурация. В появившейся вкладке в нижней части найдите и нажмите кнопку Создать для создания новой конфигурации сервера.

Если в дальнейшем где-то упоминается Конфигурация сервера, то следует знать, что речь идёт именно об этой конфигурации. В биллинге много различных редакторов конфигурации, ориентироваться в них на стадии освоения системы может быть затруднительно.

images/download/attachments/73596973/server_config_overview.gif

Конфигурация
#--------------------------------------
# Системные настройки сервера
#--------------------------------------
# Путь к временному каталогу, используется обработчиком логов для загрузки логов по FTP и сервером биллинга для хранения промежуточных файлов.
# Если не указан, то используется каталог BGBillingServer/tmp
#temp.dir.path=
#
#-----------------------------------------
# Настройки интерфейса BGBillingClient
#-----------------------------------------
# Порядок элементов в дереве договора клиента
client.gui.contract.tree.order=parameters objects hierarchy status limit mode face balance tariff modules groups web tariffGroup script addAction memo
# Какие лимиты предлагаются на выбор в договоре
client.gui.contract.limit.values==-2000;=-500;=-300;=-150;=-50;=-30;=-10;=0;-5/1;-50/1;-100/1;-15/3;-50/3;-100/3
# Какие лимиты предлагаются на выбор в шаблоне договора
client.gui.pattern.limit.values=-2000;-500;-300;-150;-100;-50;-10;0;5;30;100;15;50;100
#
#--------------------------------------
# XSLT
#--------------------------------------
# Кэширование XSLT-шаблонов памяти: 1 - включить
# Необходимо отключать опцию на момент модификации любых XSLT-шаблонов
xslt.cache=0
 
# Заголовок и адрес к шаблону карточки (доступны в свойствах договора)
contractcard.1=card_inet.xsl:Карта регистрации
#
#--------------------------------------
# Протокол
#--------------------------------------
# Вывод в server.log XML, возвращаемых клиенту в режиме DEBUG - 1
server.response.debug=0
# Заголовок HTTP-пакета, в котором передаётся IP-адрес клиента, если параметр не указан или не передан, то используется request.getRemoteAddr()
# нужен при проксировании запросов с помощью nginx
header.name.remote.addr=X-Real-IP
# Максимальный размер запроса к серверу (в байтах), запросы большего размера обрезаются, что может привести к некорректной работе сервера.
# Признак того, что нужно увеличить - ошибка вида "Модуль null не найден!"
max.post.size=10000000
#
#--------------------------------------
#Копирование параметров договора - шаблоны
#--------------------------------------
# Шаблоны
contract.param.pattern.keys=bank,firm
# Название шаблона
contract.param.pattern.bank.title=Банк (реквизиты)
contract.param.pattern.firm.title=Организация (название, руководство, ИНН/КПП)
# Коды параметров договора, которые будут выделяться
contract.param.pattern.bank.pids=12,34
contract.param.pattern.firm.pids=1,23,8,4,25
#
#--------------------------------------
# Параметр типа "Адрес"
#--------------------------------------
# проверка уникальности адреса договора при вводе - 1, 0 - не проверять
address.unique.check=1
# Формат адреса (доступен также параметр ${comment} - комментарий параметра)
addrs.format=(${index})(, ${city})(, ${area})(, ${quarter})(, ${street})(, д. ${house})(${frac})(, кв. ${flat})( ${room})(, ${pod} под.)(, ${floor} эт.)
# Разрешение создавать дома в редакторе адреса параметров договоров и объектов
#address.create=1
#
#--------------------------------------
# Параметры сущностей адресного справочника
#--------------------------------------
# Для каждой сущности можно завести неограниченное число параметров. Типы параметров могут быть числовые(int), строковые(string), дата(date)
## для страны
address.country=countPeople,test
address.country.countPeople.title=Население страны
address.country.countPeople.type=int
address.country.test.title=Тестовый параметр
address.country.test.type=string
# для города аналогично, но вместо country будет city
# для района аналогично, но вместо country будет area
# для квартала аналогично, но вместо country будет quarter
# для улицы аналогично, но вместо country будет street
# определение почтового индекса по номеру дома
address.street.boxIndexRange.title=Почтовый индекс
address.street.boxIndexRange.type=string
# для дома
address.house=dateConnecting, test, floorRange, entranceRange
address.house.dateConnecting.title=Дата подключения
address.house.dateConnecting.type=date
address.house.test.title=Тестовый параметр
address.house.test.type=string
# определение подъезда по квартире
address.house.entranceRange.title=Диапазон подъездов
address.house.entranceRange.type=string
# определение этажа по квартире
address.house.floorRange.title=Диапазон этажей
address.house.floorRange.type = string
#
#--------------------------------------
# Поведение
#--------------------------------------
# Запрет ввода уже существующего на договоре тарифа с пересекающейся датой, 1 - включен
check.double.tariff=0
# Разрешение платежей и расходов будущим числом
allow.future.payment=0
allow.future.charge=0
# Разрешение платежей и расходов для закрытых договоров
allow.closed.payment=0
allow.closed.charge=0
# Что выводить в поле "сальдо" монитора статуса, 1 - сальдо, 2 - исх. остаток
contract.status.monitor.saldo.show.mode=1
# Запрет установки договору лимита без указания периода в случае наличия заданий на автоматическое изменение лимита, 1 - включение запрета
reject.limit.update=0
# Отключение учёта при активации тарифной опции уже активированных опций
#tariffOption.dontCheckOnActivateAlreadyActivated=1
#
#-------------------------------------
# Статусы договора
#-------------------------------------
# Статусы договора, коды и обозначения
contract.status.list=0:Активен;1:В отключении;2:Отключен;3:Закрыт;4:Приостановлен;5:В подключении
# Статусы договора, запрещённые к ручной установке
contract.status.no.manual.set=1,5
# Не используемые статусы договора (не будут отображаться в списках, но останутся в логах изменений)
contract.status.deprecated=
# При смене статуса договора смена статусов его независимых субдоговоров, 1 - включение
independ.subcontract.status.change=0
#
#--------------------------------------
# Статусы договора, кредитовые договора
#--------------------------------------
# Статус договора, при котором кредитовый договор считается активным
credit.contract.active.status=0
# Cтатусы договора, из которых кредитовый договор может быть переведён в активный статус по платежу
# в случае, если сальдо станет положительным
credit.contract.open.by.payment.status=2,3
# Cтатусы договора, которые перекрываются в будущем активным статусом, при открытии кредитового договора
credit.contract.override.future.to.active.status=2
# Не переводить статус договора в активный по платежу, тоже что пустой список credit.contract.open.by.payment.status
#do.not.open.contract.on.payment=1
# Перечень кодов групп договоров через запятую, которые не активируются по платежу
#do.not.open.groups.on.payment=
#
#-------------------------------------
# Проверки закрытого периода
#-------------------------------------
# Проверка закрытого периода при операциях, 1 - включить
closed.date.enabled=1
# Перечисления кодов групп пользователей, для который проверка закрытого периода отключена
#closed.date.groups.id=1,2,3
# Выборочное отключение проверки закрытого периода
# (договор) удаление расхода
#closed.date.disabled.ActionDeleteContractCharge=1
# (договор) удаление платежа
#closed.date.disabled.ActionDeleteContractPayment=1
# (договор) удаление Услуги
#closed.date.disabled.ActionDeleteContractService=1
# (договор) удаление группы тарифов
#closed.date.disabled.ActionDeleteContractTariffGroup=1
# (договор) удаление тарифного плана
#closed.date.disabled.ActionDeleteContractTariffPlan=1
# (договор) изменение расхода
#closed.date.disabled.ActionUpdateContractCharge=1
# (договор) изменение Даты открытия
#closed.date.disabled.ActionUpdateContractDate1=1
# (договор) изменение Даты закрытия
#closed.date.disabled.ActionUpdateContractDate2=1
# (договор) изменение платежа
#closed.date.disabled.ActionUpdateContractPayment=1
# (договор) изменение Услуги
#closed.date.disabled.ActionUpdateContractService=1
# (договор) изменение группы тарифов
#closed.date.disabled.ActionUpdateContractTariffGroup=1
# (договор) изменение тарифного плана
#closed.date.disabled.ActionUpdateContractTariffPlan=1
# (договор) изменение периода обьектов
#closed.date.disabled.ActionObjectUpdate=1
# (договор) изменение статуса договора
#closed.date.disabled.ActionContractStatusChange=1
#
#----------------------------------------
# Планировщик заданий
#----------------------------------------
# Количество одновременных потоков для выполнения периодических заданий по расписанию
scheduler.periodic.thread.count=5
# Количество одновременных потоков для выполнения асинхронных задач (переобсчёты)
scheduler.nonperiodic.thread.count=5
#
#--------------------------------------
# Загрузчик логов
#--------------------------------------
# Автоматическая генерация заданий на обработку логов
loader.add.process=1
#
#----------------------------------------
# Расширение функциональности
#----------------------------------------
# Логирование вызовов функций скриптов поведения в договорах (1-логировать, 0-нет).
# Логируются выводы print, error и ошибки; после установки перезапустить BGBillingServer
log.function.process=1
#
#----------------------------------------
# Расширение функциональности - динамический код
#----------------------------------------
# Кодировка файлов динамического кода (UTF-8 предпочтительно, по умолчанию)
dynamic.src.encoding=UTF-8
# Каталог размещения динамического кода относительно BGBillingServer
dynamic.src.dir=dyn
#
#----------------------------------------
# BGSecure
#----------------------------------------
# Проверка прав, 0 - не проверять
bgsecure.check=1
# Логирование действий в журнале событий, 0 - не логировать
bgsecure.log=1
#
#----------------------------------------
# Почтовая подсистема
#----------------------------------------
mail.smtp.host=bill.ru
mail.from.email=bill@bill.ru
mail.from.name=BGBilling Server
mail.to.email=bill@bill.ru
mail.to.name=bill@bill.ru
mail.encoding=UTF-8
# Параметры SMTP-авторизации
#mail.smtp.user=
#mail.smtp.pswd=
#
#----------------------------------------
# Система алармов - экстренных оповещений
#----------------------------------------
# На какой адрес высылать оповещения, указать обязательно!
alarm.mail=
#
#----------------------------------------
# Web-интерфейс клиента
#----------------------------------------
# Режим выдачи страниц: xml, либо html - сборка страниц браузером, либо на сервере
web.mode=html
# Разграничение доступа в личный кабинет:
# 1 - вошедший через логин субдоговора видит всю иерархию договоров (по умолчанию)
# 2 - вошедший через логин субдоговора видит только свой договор
#web.sub.contract.auth.mode=1
# Сохранять все ошибки входа (даже если не идентифицирован договор)
#web.error.all=1
# В режиме xml по этому пути браузер будет получать xsl
# Адрес должен быть доступен отовсюду
web.xslt=http://127.0.0.1:8080/bgbilling/xsl/
# В режиме xml при обращении через порт https по этому пути браузер будет получать xsl
# Адрес должен быть доступен отовсюду
web.xslt.https=https://127.0.0.1:8443/bgbilling/xsl/
# Добавление в XML на странице статистике детальной информации по договору - 1
web.add.contract=0
# Страница куда пересылать при выходе с Web-статистики
web.exit.redirect=about:blank
# Логирование Web-запросов пользователя (Web-интерфейс)
webquery.log=0
# Максимальный размер в байтах прикрепляемого файла в Web
multipart.max.post.size=1048576
# Настройка страниц ошибок сервера по ошибкам (можно указывать различные коды ошибок)
server.error.404=/error/error404.html
server.error.403=/error/error403.html
#
#----------------------------------------
# Web-интерфейс, доступ
#----------------------------------------
# MD5-хэш универсального пароля к Web-статистике, хэш можно получить в "Утилиты => Вычисление Digest"
#web.admin.password=21232F297A57A5A743894A0E4A801FC3
# Режим авторизации для доступа к Web-статистике код модуля:режим;код модуля 1:режим
# модуль 0 - ядро
# режим 0 - не разрешена, 1 - по номеру договора, 2 - по текстовому параметру договора
web.auth.modes=0:1
# Максимально количество запросов для договора на сервер статистики в день, 0 - не ограничено
web.max.day.request.count=0
# Длина пароля договора для доступа к статистике
password.length.min=5
password.length.max=10
# Длина автоматически генерируемого пароля
password.length.auto=6
# Допустимые в пароле символы
password.chars=1234567890
#
#----------------------------------------
# Web-интерфейс, доступ, защита от подбора пароля
#----------------------------------------
# После изменения этих параметров потребуется перезагрузить сервер
# Максимальное количество неудачных попыток авторизации подряд
logon.counter.max=20
# Базовый интервал времени в секундах между неудачными попытками авторизации
logon.timeout.period=0
# Время блокировки в секундах после исчерпания количества попыток авторизации
logon.timeout.lock=21600
# Размер кэша паролей
logon.lock.cache.size=100
# Время устаревания записи в кэше паролей в секундах
logon.lock.cache.expired=600
# Алгоритм увеличения времени между попытками (+ или ^)
logon.timeout.action=+
#
#-----------------------------------------
# Web-интерфейс, доступ, восстановление пароля
#-----------------------------------------
# Код текстового параметра, содержащий E-Mail, на который будет высылаться письмо по восстановлению пароля
contract.password.forgot.email.param.id=<числовой код параметра>
# В течение скольке часов после высылки письма можно войти на статистику по ссылке в письме
contract.password.forgot.expire.hour=24
# Ссылка на страницу статистики в письме с восстановлением пароля
contract.password.forgot.link=http://localhost:8080/bgbilling/webexecuter?action=ChangePassword&mid=contract
# Тема письма
contract.password.forgot.email.subject=Восстановление пароля
# Текст письма
contract.password.forgot.email.body=Для восстановления пароля к серверу статистики по договору {contract} - перейдите по ссылке ниже (в течении {hour} часов) и смените пароль.
# набоН символов одноразового пароля
contract.password.forgot.char.array=1234567890QWERTYUIOPLKJHGFDSAZXCVBNMqwertyuioplkjhgfdsazxcvbnm
#
#-----------------------------------------
# Web-интерфейс, временное понижение лимита
#-----------------------------------------
# сообщения при изменении лимита
limit.max.current.msg=Вы не можете в данный момент понизить лимит. Превышено максимально количество не погашенных и/или частично погашенных понижений
limit.max.nopayed.msg=Превышено максимально количество просроченных понижений. Возможность понижения лимита заблокирована
#

Значение большинства параметров пояснены в комментариях, либо присутствует ссылка на главу с более подробным описанием подсистемы.

Если вы не знаете, что ввести в качестве параметра в конфигурацию, возьмите этот параметр из примера, приведённого выше. После сохранения конфигурации выберите строку с ней в таблице и нажмите Установить.

В поле Вид и поведение вы можете изменить текущую тему оформления клиента.

Установка темы оформления отличной от Metal может привести к проблемам с отрисовкой. Смена темы оформления производится пользователем на его страх и риск, нарушение в отрисовке клиента не считается ошибкой ПО.