Назначение и состав системы
Top Next

Система предназначена для расчета стоимости телефонных соединений, совершаемых с использованием аппаратуры производства фирмы "Юнител": абонентских цифровых концентраторов АЦК-16, АЦК-32, АЦК-256 и АТС TS-004. В состав системы входит программа "Тарификатор", выполняющая основные действия по тарификации, база данных для хранения информации, и программа "Разбор" для конвертации выдаваемой АЦК-16 и АЦК-32 информации в базу данных.


Установка
Previous Top Next

Система поставляется на компакт-диске в виде одного установочного файла с именем "Setup.exe". При запуске данного файла начинается установка системы. Перед началом установки операционная система должна сконфигурировать программу установки:
setupwait1
При готовности операционной системы к установке окно приобретает следующий вид:
setupready
После нажатия на кнопку "Далее" выводится предупреждение о защите авторских прав. Затем пользователю предлагается ввести данные о себе: своё имя и название организации. После предлагается выбрать директорию для установки программы:
setupdir
По умолчанию программа устанавливается в директорию "C:\Program Files\Unitel\Tarificator\". Нажав кнопку "Изменить", пользователь может выбрать для установки программы любую директорию по своему желанию. После выбора директории устаноки программы и нажатия кнопки "Далее" пользователю предлагается выбрать директорию для установки базы данных, так же как директорию для установки программы. По умолчанию база данных устанавливается в директорию "C:\Program Files\Unitel\Tarificator\Database\".
После выбора директории предлагается выбрать тип установки: АТС TS004, полная или выборочная.
setupchoise
По умолчанию предалгается вариант "АТС TS004". При данном варианте будет установлена только программа "Тарификатор" и компоненты, обеспечивающие работу с БД по сети. Установка сервера БД, файлов БД и программ, обеспечивающих запись поступающей от оборудования биллинговой информации, производится при запуске установочной программы ПО АТС TS004, поставляемой отдельно.
При полной установке будут установлены все компоненты системы.
Выборочная установка позволяет выбрать компоненты, которые будут установлены на компьютер:

setupcomponents
Все компоненты могут работать, соединяясь друг с другом по сети, поэтому все компоненты можно устанавливать на разные компьютеры. При этом программу установки следует запустить отдельно на каждом компьютере и, указав выборочную установку, указать только тот компонент, который будет установлен. Наиболее мощный и высокопроизводительный компьютер в этом случае следует отвести для базы данных. Однако, все компоненты могут работать и на одном компьютере.
При работе с АЦК-16 и АЦК-32, настроенных на запись биллинговых данных в SQL БД, не требуется установка программы "Разбор". При работе системы c АЦК-256 или со станцией TS-004 не требуется установка программы "Разбор" и базы данных.
После выбора устанавливаемых компонентов программа готова к установке. После нажатия кнопки "Установить" будет произведено копирование файлов на жёсткий диск компьютера, запись данных в системный реестр и прочие необходимые изменения.
После установки системы выводится окно с информацией о результатах работы программы установки. Если база данных устанавливалась на компьютер, его необходимо перезагрузить. Другие компоненты могут работать без перезагрузки компьютера.
Работа программы установки в любой момент может быть прервана нажатием кнопки "Отмена".


Системные требования

Для работы системы требуется компьютер с установленной операционной системой Microsoft Windows 98/Me/NT4.0/2000/XP. Система может работать на любом компьютере, на который возможно установить данные операционные системы. Для более подробной информации см. Производительность и обслуживание.
Для установки программы тарификации и администрирования БД требуется 5595 Кб свободного дискового пространства.
Для установки программы "Разбор" требуется 1096 Кб свободного дискового пространства.
Для первичной установки сервера базы данных требуется 5012 Кб свободного дискового пространства, но при работе, по мере накопления данных, файлы БД расширяются. При наличии в БД 100 000 абонентов и 2 000 000 биллинговых записей файл базы данных занимает около 500 МВ, и примерно столько же занимает лог-файл базы данных.


Запись данных о соединениях в БД

Основное назначение системы - тарификация соединений. Поэтому в базу данных должны записываться все необходимые данные для тарификации каждого соединения.
После обработки соединения аппаратурой, информация о нём записывается в таблицу базы данных. Каждая строка таблицы содержит информацию об одном соединении. В строке содержатся следующие данные.
Для тарификации соединения необходимы данные об абонентах, участвовавших в соединении. Поэтому каждая строка содержит данные о двух абонентах. Абонент А - инициатор соединения. В случае, если в соединении есть телефонный разговор, абонент А - это абонент, который набирает номер и куда-то звонит. Абонент Б - это абонент, которому поступает входящий вызов (абонент, которому позвонил абонент А). Каждый абонент характеризуется двумя параметрами - номером блока и номером порта. Для их записи таблица содержит следующие поля:
- номер блока абонента А;
- номер порта абонента А;
- номер блока абонента Б;
- номер порта абонента Б.
Абоненты могут быть двух типов - физические абоненты и соединительные линии. Физические абоненты - это абоненты с телефонами, подключенными к обслуживаемому оборудованию. Они могут соединяться друг с другом, а также с абонентами, которые не подключены к обслуживаемому оборудованию. В этом случае соединение просходит через соединительные линии - порты, к которым подключены не телефоны, а линии связи с другим оборудованием, (например, транзитной АТС). Каждая соединительная линия, так же как и физический абонент, характеризуется номером порта и номером блока. Для идентификации абонентов, не подключенных непосредственно к обслуживаемому оборудованию, в таблицу записывается два параметра:
- АОН (автоматически определяемый номер) - телефонный номер абонента А;
- вызываемый номер - номер, набранный абонентом А.
Для правильной работы системы тарификации система должна быть правильно настроена - каждому номеру порта в каждом блоке обслуживаемого оборудования должен быть назначен абонент в соответствующей таблице базы данных. В случае, если для абонента не нужно рассчитывать стоимость соединений (например абоненты с безлимитными тарифными планами), для абонента следует выключить тарификацию. Если какой-либо из портов оборудования не занесён в таблицу абонентов, то соединение, проходящее через данный порт, не может быть тарифицировано. Никаких значений в поля стоимости разговора и услуг для абонентов не будет, в таблицу ошибок тарификации будет добавлена запись об ошибке при тарификации данного соединения.
Для тарификации необходимы данные о времени соединения - время начала соединения, продолжительность разговора, если он был, и т. д. Для хранения временных характеристик таблица содержит следующие поля:
- время активации точки А (абонент А поднял трубку телефона);
- время активации точки Б (зазвонил телефон абонента Б);
- время начала разговорного состояния (абонент Б поднял трубку);
- время окончания разговорного состояния (один из абонентов положил трубку);
- время релаксации точки А (абонент А положил трубку);
- время релаксации точки Б (абонент Б положил трубку или, если разговора не было - перестал звонить телефон абонента Б).
Кроме данных разговора, в записи о соединениях могут также содержаться данные о предоставленных абонентам дополнительных услугах. Для хранения информации об услугах предназначены следующие поля:
- код услуги абонента А;
- код услуги абонента Б.
Механизм предоставления дополнительных услуг в автоматическом режиме следующий. Абонент поднимает трубку и набирает определённый номер, соответствующий какой-либо услуге - например, включение прямого вызова (после включения данной услуги, если абонент после поднятия трубки в течение определённого времени не нажал никакую клавишу, система автоматически начинает набирать установленный абонентом номер). По набранному номеру аппаратура распознаёт и предоставляет услугу абоненту. При этом в записи о соединении будут содержаться только данные абонента А - в поля, предназначенные для записи данных абонента Б, будут записаны значения "null", означающие неопределённость. Такие же значения будут занесены в поля для сохранения времени начала и окончания разговорного состояния. Время релаксации точки А будет равно времени активации точки А. Существует и другой вид услуг - услуги, предоставляемые при разговоре, например, включение абонента в конференцию (одновременный разговор нескольких абонентов). Тогда в записи о соединении будут присутствовать все данные для разговора, но также в поля для записи информации об услугах будут занесены коды услуг для абонента А (например, организация конференции) и для абонента Б (например, добавление в конференцию). При отсутствии услуг в соединении в полях кодов услуг для двух абонентов будет значение 0 ("Без услуги").
Для записи стоимости разговора и услуги для каждого абонента таблица содержит следующие поля:
- стоимость разговора для абонента А;
- стоимость разговора для абонента Б;
- стоимость услуги для абонента А;
- стоимость услуги для абонента Б.
Для записи результатов разбора номера при тарификации (см. Тарифные планы и определение стоимости) и последующего контроля правильности разбора номера предназначены поля:
- префикс;
- код города;
- номер телефона.
Также в таблице есть некоторые вспомогательные поля, которые служат для записи разнообразной технической информации или контроля правильности тарификации.


Тарифные планы и определение стоимости

Стоимость разговоров и услуг для абонентов определяется на основе тарифных планов - набора условий, однозначно определяющих стоимость соединения (включающую в себя стоимость разговора и стоимость услуг) для каждого абонента. Тарифный план принадлежит к тарифной зоне, а тарифная зона, в свою очередь, принадлежит к типу связи. Каждой группе абонентов назанчается группа тарифных планов, куда входят все тарифные планы, имеющие данный номер и название, во всех тарифных зонах всех типов связи. Каждый абонент должен быть включен в какую-либо группу. Группа абонентов не может быть удалена, пока в ней остаётся хотя бы один абонент.
Определение стоимости соединения начинается с поиска данных абонентов. По номеру АТС, номеру блока и номеру порта в таблице абонентов программа ищет абонента А и абонента Б, потом ищет группу, в которую входит абонент А, и группу, в которую входит абонент Б. Из данных групп абонентов читаются следующие данные:
- признак включения тарификации;
- номер группы тарифных планов;
- тип тарификации.
Признак включения тарификации показывает, нужно ли вычислять стоимость соединения для абонента. Если абонент не тарифицируется, стоимость любого разговора и любой услуги для него всегда будет без всяких вычислений принята равной 0.
Тип тарификации показывает, как вычисляется стоимость разговора в зависимости от времени разговора. Есть три типа тарификации - поминутная, посекундная и посекундная со второй минуты. Как тип тарификации влияет на расчёт стоимости разговора, рассматривается далее.
Если данные для одного или двух абонентов не найдены, соединение не тарифицируется, в таблицу ошибок тарификации заносится запись об ошибке при попытке тарифицировать данное соединение. Если найдены данные и для абонента А, и для абонента Б, или найдены данные только для одного абонента и второго абонента в данном соединении нет (такая ситуация возможна в случае предоставления дополнительных услуг или, например, в случае, если абонент, подняв трубку, не стал набирать номер) программа вычисляет продолжительность разговора. Если значения времени начала и окончания разговора не определены (разговора не было) или продолжительность разговора равно 0, стоимость разговора принимается равной 0 без дальнейших расчетов. Если же продолжительность разговора больше 0, начинается расчет стоимости разговора.
Алгоритм расчета стоимости разговоров следующий.
Сначала выясняется тип связи разговора. В системе есть несколько предустановленных типов связи для разговоров: входящая связь, внутренняя, местная, междугородная, международная. Также пользователи могут добавлять свои типы связи, определяемые по набранному номеру.
Для абонента Б (которому поступает входящий вызов) тип связи всегда будет "входящая". Для абонента А тип связи определяется. Если абонент Б - физический абонент, то тип связи - "внутренняя", т. е. абонент А разговаривает с абонентом, подключенным к обслуживаемому оборудованию, без использования другого оборудования. Если абонент Б - соединительная линия, следовательно, разговор совершается с использованием не только обслуживаемого оборудования - начинается выяснение типа связи по номеру. В таблице для каждого типа связи находится два символьных значения - префикс и стартовый префикс (обозначенные в режиме "Типы связи" как "Префикс 1" и "Префикс 2" соответственно). Если в начале номера стоят цифры, совпадающие со строкой "префикс+стартовый префикс" для какого-либо из типов связи, разговор считается принадлежащим к данному типу связи. Если ни один из типов связи не подошёл, то считается, что разговор принадлежит к типу связи "местная". Для международной связи изначально установлен префикс "8", стартовый префикс "10". Для междугородной связи префикс также равен "8", стартового префикса нет.
После определения типа связи определяется тарифная зона, в которую попадает данный разговор. Для каждого типа связи может быть какое-то количество тарифных зон. Тип связи может быть фиксированным или не фиксированным. В поставляемой базе данных к фиксированным типам связи для разговоров относятся местная связь, внутренняя и входящая, а к нефиксированным - междугородная и международная связь. При добавлении пользователем своих типов связи они относятся к нефиксированным. Для не фиксированных типов связи стоимость разговора зависит от набранного номера. Если тип связи, определённый для разговора, не принадлежит к фиксированным, начинается поиск города, в который позвонил абонент. Данные городов находятся в таблице городов. Каждый город относится к какому-то региону. Данные регионов находятся в таблице регионов. Код города состоит из двух частей: код региона и код собственно города. Коды городов в пределах типа связи уникальны, т. е. для каждого типа связи не может быть двух городов с одинаковым кодом (хотя для разных типов связи коды могут совпадать). Для каждого города в таблице хранятся следующие данные: номер тарифной зоны, время задержки тарификации (в секундах) и неоплачиваемое время (в секундах). Программа ищет города, коды которых совпадают с цифрами, идущими в набранном номере после комбинации префикса и стартового префикса, и выбирает из них город с самым длинным кодом. Все остальные цифры в набранном номере, идущие после кода города, считаются местным номером телефона. Если не нашлось ни одного города с подходящим кодом, программа, в зависимости от установок тарификации, может или не тарифицировать запись и добавить в таблицу ошибок тарификации запись об ошибке данного соединения, или взять необходимые значения для фиксированного типа связи "ошибочная" (см. Настройки / Тарификация ). Если город найден, при расчете используются значения для данного города.
Для фиксированных типов связи значения номера тарифной зоны, времени задержки тарификации и неоплачиваемого времени находятся в специальной таблице - по одному набору значений для каждого фиксированного типа связи.
После нахождения всех необходимых данных программа находит тариф для данного разговора. Тариф находится исходя из следующих данных:
- типа связи;
- номер группы тарифных планов абонента;
- номер тарифной зоны;
- времени начала разговора.
Находится тарифная зона с типом связи, к которому отнесён данный разговор, и номером, соответствующим номеру тарифной зоны для найденного города или фиксированного типа связи. В данной тарифной зоне находится тарифный план с номером, соответствующим номеру группы тарифных планов абонента, для которого рассчитывается стоимость разговора. Тарифный план содержит значения базовых тарифов за минуту разговора для каждого из определённых в базе данных типов дней. Изначально в БД определено три типа дней: рабочие дни, выходные и праздничные. Пользователи могут добавлять свои типы дней. При добавлении типов дней значения базовых тарифов для нового типа дней во всех тарифных планах устанавливаются равными 0. Исходя из базового тарифа и времени начала разговора вычисляется тариф разговора. Пользователь может отнести любой день к любому из имеющихся в БД типов дней, отредактировав специальную таблицу-календарь. Программа находит в календаре тип дня для дня, в который начался разговор. Если в таблице нет записи для дня начала разговора, то для субботы и воскресенья принимается тип дня "выходной", а для остальных дней недели - тип дня "рабочий". После этого программа берёт из тарифного плана базовый тариф для данного типа дня. Также для каждого типа дня в базе данных могут быть установлены тарифные интервалы - изменение базового тарифа в зависимости от времени. Например, можно установить, что по рабочим дням ночью, с 0 часов до 6 часов, базовый тариф за минуту разговора будет снижен на 5 копеек, а днём с 9 до 18 часов, наоборот, будет увеличен на пять копеек. Если тарифных интервалов для данного типа дня нет или время начала разговора не попадает ни в один из них, тариф разговора будет принят равным базовому тарифу данного тарифного плана для данного типа дня. Если же время начала разговора попадает в какой-либо тарифный интервал, базовый тариф будет уменьшен или увеличен в соответствии с тарифным интервалом.
Если время разговора меньше или равно неоплачиваемому времени или времени задержки тарификации, то стоимость разговора принимается равной 0. Если Продолжительность разговора больше и времени задержки, и неоплачиваемого времени, от продолжительности разговора отнимается неоплачиваемое время. После этого рассчитывается стоимость разговора, исходя из продолжительности разговора (без неоплачиваемого времени), найденного тарифа с учётом всех изменений, и типа тарификации для абонента. При поминутной тарификации время разговора округляется в большую сторону до целого числа минут, и стоимость разговора вычисляется путём умножения тарифа (стоимости минуты разговора) на число минут разговора. При посекундной тарификации число минут разговора рассчитывается как дробное число, равное времени разговора в секундах, разделённому на 60. Стоимость разговора находится путём умножения тарифа на полученное дробное число. При посекундной тарификации со второй минуты, время разговора округляется до одной минуты, если оно меньше одной минуты, а если время разговора равно минуте или больше, разговор тарифицируется посекундно.
После определения стоимости разговора для каждого абонента находится стоимость услуги для каждого абонента. Стоимость услуг вычисляется в зависимости от кода услуги. Если код услуги равен 0 ("Без услуги") или абонент не тарифицируется, то стоимость услуги принимается равной 0 без дальнейших расчетов. В другом случае программа ищет информацию об услуге в таблице услуг по коду. После нахождения услуги из таблицы извлекаются следующие данные для услуги:
- тип связи;
- номер тарифной зоны;
- признак тарификации в зависимости от времени;
- неоплачиваемое время;
- время задержки тарификации.
Тип связи, номер тарифной зоны, неоплачиваемое время и время задержки при тарификации услуг имеют то же значиение, что и при тарификации разговоров. Признак тарификации показывает, тарифицируется услуга однократно или в зависимости от времени. Если услуга тарифицируется однократно, то стоимость услуги равна тарифу, а время задержки и неоплачиваемое время не используются. Если услуга тарифицируется в зависимости от времени, её стоимость определяется исходя из времени разговора в данном соединении, тарифа, неоплачиваемого времени и времени задержки так же, как определяется стоимость разговора. Если разговора в данном соединении не было, то стоимость услуги, тарифицируемой в зависимости от времени, будет равна 0. Тариф услуги определяется так же, как и тариф разговора с использованием найденных для данной услуги значений типа связи, номера тарифной зоны, номера группы тарифных планов абонента и времени начала разговора (если разговора не было, используется время активации точки А для абонента А или точки Б для абонента Б).
В случае, если при тарификации соединения не удаётся найти тариф разговора или услуги для какого-то из абонентов, соединение не тарифицируется, в таблицу ошибок тарификации записывается информация об ошибке при тарификации данного соединения.
После нахождения стоимости разговора и услуг для обоих абонентов, если при тарификации не произошло ошибок, значения стоимости разговора и стоимости услуги для каждого абонента записываются в поля стоимости разговоров и услуг таблицы соединений в базе данных. Также, для контроля правильности тарификации, в базу данных записываются следующие сведения: номер группы тарифных планов, номер тарифной зоны и тариф разговора для каждого абонента. Если разговора не было, или продолжительность разговора была меньше времени задержки тарификации или нетарифицируемого времени, то тарификация разговора не производится, и в значение тарифа разговора ничего записано не будет.
Также для контроля правильности тарификации записываются результаты разбора набранного номера: в поле "префикс" записывается значение "префикс + стартовый префикс", найденное в таблице типов связи; в поле "код города" записывается найденный код города, состоящий из кода региона и собственно кода города; в поле "номер телефона" записывается телефонный номер вызываемого абонента - набранный номер без префикса и кода города. Если разбор набранного номера по каким-то причинам не производился (например, продолжительность разговора была меньше времени задержки тарификации), эти поля после тарификации останутся пустыми.


Бесплатное время

Тарифные планы могут включать какое-то количество бесплатного времени. При тарификации разговора, если тарифный план абонента для данной тарифной зоны включает бесплатное время, и бесплатное время данного абонента ещё не исчерпано, вместо начисления денежных средств будет произведено списание бесплатного времени с абонента, в соответствии с типом тарификации абонента. Если продолжительность разговора превышает количество бесплатного времени, имеющегося у абонента в данной тарифной зоне, то из тарифицируемого времени разговора будет вычтено оставшееся бесплатное время.
Бесплатное время начисляется каждому абоненту в тех тарифных зонах, тарифные планы которых, относящиеся к группе тарифных планов данного абонента, предусматривают наличие бесплатного времени. Начисление бесплатного времени может производиться автоматически в указанное время установленного дня месяца или вручную по команде пользователя (см. Настройки бесплатного времени). В тарифном плане также может быть установлен предел перехода бесплатного времени. Если установлен предел перехода, и при распределении бесплатного времени у абонента осталось неизрасходованное бесплатное время, то остаток будет добавлен к бесплатному времени. Остаток будет добавляться до тех пор, пока общее количество бесплатного времени абонента не достигнет предела перехода бесплатного времени. Если при распределении сумма остатка бепплатного времени абонента и добавляемого бесплатного времени превышает предел перехода, то абоненту будет добавлено бесплатное время в количестве, равном пределу перехода.
Также начисление бесплатного времени производится при:
1. Добавлении нового абонента в группу абонентов, один или несколько тарифных планов которой предусматривает наличие бесплатного времени.
2. Перемещении абонента в группу абонентов, один или несколько тарифных планов которой предусматривает наличие бесплатного времени. Перед этим бесплатное время, ранее имевшееся у абонента, стирается.
3. При изменении группы тарифных планов, установленной для группы абонентов. Перед этим бесплатное время, ранее имеввшееся у всех абонентов группы, стирается.
Перетарификация разговоров абонентов, тарифный план которых предусматривает наличие бесплатного времени, не производится во избежание повторного списания с абонента бесплатного времени. При попытке повторной тарификации разговора в базу данных записывается рассчитанная ранее стоимость разговора, никаких предупреждений не выдается.


Финансовые операции и счета абонентов

Для контроля финансового состояния абонентов в таблице абонентов базы данных есть поле, в которое для каждого абонента записывается его баланс. При регистрации абонента к его балансу можно добавить какую-то сумму. После этого все финансовые операции, влияющие на состояние баланса абонента, будут отражены в таблице счетов.
По итогам тарификации соединений, в которых данный абонент участвовал как абонент А или абонент Б, ему может быть выставлен счёт за соединения. Счёт выставляется за определённый период. В сумму счёта будет включена стоимость разговоров и услуг всех соединений, совершённых в период, за который выставляется счёт, и не включенных в счета ранее. После выставления счёта баланс абонента уменьшается на итоговую сумму счёта. Абонент может оплатить выставленный счёт, после оплаты счёта его баланс снова увеличится на сумму счёта, счёт помечается как оплаченный. До оплаты счёт можно аннулировать, тогда счёт помечается как аннулированный, баланс абонента также пополнится на сумму счёта, а все соединения, которые были включены в данный счёт, будут помечены как не включенные в счёт. Оплату счёта также можно аннулировать, при этом оплаченный счёт помечается как неоплаченный, баланс абонента уменьшается на сумму счёта. Оплаченный счёт аннулировать нельзя до тех пор, пока не будет отменена его оплата.
Также в счета может включаться абонентская плата, установленная для данной группы абонентов.
Абонент может внести на свой счёт какую-либо сумму (пополнить баланс). При этом его баланс будет увеличен на вносимую сумму. Запись о пополнении баланса можно аннулировать, и баланс абонента будет уменьшен на внесённую ранее сумму.
Программа позволяет также добавлять абоненту разлучные услуги. Услуга должна быть в таблице услуг (режим "Услуги и фикс. связь"). Информация об услуге будет добавлена в таблицу соединений как запись о соединении без разговора, в котором есть только абонент А (абонент, которому добавляется услуга). При выставлении счёта стоимость услуги будет включена в счёт и снята с баланса абонента.
При выписке счёт может быть распечатан.
Подробную информацию о счёте можно просмотреть, щёлкнув два раза мышью на соответствующей записи при работе программы в режиме "Счета". При просмотре подробной информации счёт также можно распечатать.
Отображаемые в окнах с финансовыми данными обозначения денежных единиц можно изменить в настройках операционной системы Windows (панель управления, значок "Язык и региональные стандарты"). Более подробная информация об изменении данных настроек содержится в документации к операционной системе.


Защита от несанкционированного доступа

Для того, чтобы защитить данные системы, хранящиеся в базе данных, от несанкционированного доступа и изменения, доступ к данным разрешён только зарегистрированным пользователям, идентифицируемым по имени пользователя и паролю. При запуске программы необходимо ввести имя пользователя и пароль, иначе программа не запустится. При изменении параметров подключения к базе данных имя пользователя и пароль могут быть изменены. При этом программа отключается от базы данных, а затем пытается подключиться снова, используя введённые новые параметры. Если введены неправильные параметры подключения к БД (например, если введен неправильный пароль или несуществующее имя пользователя), подключение к БД выполнено не будет. Программа будет продолжать работать, но, поскольку база данных не подключена, невозможно будет изменить какие-либо данные и вообще выполнить любые действия, кроме изменения параметров подключения к базе данных.
В случае, если нет необходимости в защите данных программы от несанкционированного доступа (например, если к компьютеру с программой имеет доступ только один пользователь), имя пользователя и пароль могут сохраняться в реестре операционной системы. В этом случае при запуске программа считает эти данные из реестра, и пользователю не нужно будет вводить имя и пароль при каждом запуске программы.
Пользователи БД разделены на две категории: администраторы, которым разрешено выполнение любых действий с базой данных, и обычные пользователи. Для обычных пользователей разрешения на выполнение каких-либо действий должны быть установлены администраторами. Более подробно об этом рассказано в разделе Пользователи.


Регистрация изменений

Любые изменения данных, производимые через программу "Тарификатор", обязательно регистрируются в специальной таблице БД - журнале изменений. Позже они могут быть просмотрены при работе программы в режиме просмотра журнала изменений.
Записи из журнала изменений можно удалять, используя пункт меню "Настройки/Очистка БД", но сделать это могут только администраторы БД. В программе установлено ограничение, не позволяющее удалять записи об изменениях, с момента внесения которых прошло менее 7 дней.


Общий вид программы

После запуска окно программы выглядит примерно так:
cons
У программы есть несколько режимов работы. Каждый режим работы программы предназначен для выполнения определённых действий. От режима, в котором в данный момент работает программа, зависит внешний вид элементов окна программы. Режимы работы программы перечислены в окне, находящемся в левой части основного окна программы. Есть следующие режимы: "Соединения", "Абоненты", "Группы абонентов", "Счета", "Типы связи", "Регионы", "Коды городов", "Тарифные зоны", "Тарифные планы", "Услуги и фикс. связь", "Календарь", "Отчёты", "Ошибки тарификации", "Журнал изменений", "Пользователи".
Вверху окна программы находится главное меню, не зависящее от режима работы программы. Меню содержит пункты: "Режим", "Настройки", "Вид", "Действие", "Помощь", "Выход".
Пункт меню "Режим" предназначен для изменения режима работы программы при закрытом окне списка режимов. При выборе этого пункта появляется подменю, содержащее пункты, соответствующие режимам работы программы. При выборе какого-либо пункта программ переключается в соответствующий режим.
Пункт "Настройки" содержит подменю со следующими пунктами: "Подключение к БД", "Данные счетов", "Тарификация", "Очистка БД", "Настройка пени", "Выполнить скрипт". Более подробно о каждом из них рассказано в соответствующих разделах.
Пункт "Вид" позволяет включить или отключить находящееся с левой стороны окно списка режимов работы программы, а также находящуюся снизу строку состояния. Список режимов показывает, какой режим работы программы выбран в данный момент. Выбор какого-либо элемента списка позволяет переключиться в соответствующий режим. Закрыть список режимов можно также, нажав на крестик, расположенный в верхней правой части окна списка режимов. В строке состояния выводится количество записей в текущей таблице базы данных (например, для режима работы "Абоненты" будет выводиться количество абонентов в выбранной группе).
Пункт меню "Действие" содержит подменю, дублирующее кнопки, находящиеся на панели инструментов для выбранного в данный момент режима работы.
Пункт меню "Помощь" состоит из двух подпунктов: "Файл справки" и "Версия программы". Первый подпункт выводит на экран этот файл, а второй позволяет посмотреть версию программы "Тарификатор".
Пункт меню "Выход" предназначен для завершения работы и выхода из программы.
Между главным меню и окном списка режимов находится панель инструментов, количество и назначение кнопок на которой зависит от режима работы программы. Только крайняя правая кнопка ("Обновить данные") для всех режимов выполняет одни и те же функции. Эта кнопка обновляет данные в таблицах. При этом становятся видны изменения, которые могли быть сделаны другими программами за то время, которое прошло с момента переключения в соответствующий режим или последнего обновления данных.
В правой части окна программы размещается таблица данных. В этой таблицы отображаются данные, зависящие от режима работы программы. Щелчок правой кнопкой мыши на таблице вызывает появление контекстного меню, пункты которого имеют то же назначение, что и кнопки на панели инструментов. Двойной щелчок мыши на какой-либо из строк таблицы вызывает диалоговое окно с подробной информацией о записи (кроме режима календаря). Щелчок левой кнопкой мыши на заголовке какого-либо столбца в таблице приведёт к сортировке строк в таблице по данным этого столбца.
Более подробно о работе программы в каждом режиме рассказано в соответствующих разделах.


Соединения

Режим работы с соединениями предназначен для просмотра информации о состоявшихся соединениях, тарификации их в ручном режиме, перетарификации при изменении тарифов или других условий тарификации, удаления записей о соединениях, изменения информации о соединениях.
При работе с соединениями окно программы выглядит так:
cons
С правой стороны окна программы в данном режиме находится таблица, в которой визуально отражается информация о соединениях, соответствующих выбранным установкам фильтра. При двойном щелчке на каком-либо соединении из находящихся в таблице или при щелчке правой кнопкой мыши и выборе пункта "Подробная информация" в контекстном меню появляется окно, содержащее подробную информацию о соединении:
consex
Окно содержит три вкладки. На показанной на рисунке вкладке "Абонент А (инициатор вызова)" выводятся данные абонента А. В группе "Исходные данные" отображаются время активации (время поднятия трубки), номер блока, номер порта, услуга. Эти данные при тарификации принимаются в качестве исходных для расчёта. В результате расчёта получаются данные, показываемые в другой группе: номер тарифного плана абонента, номер тарифной зоны, тариф разговора, стоимость разговора, стоимость услуги. Вкладка "Абонент Б (принимающий вызов)" содержит те же данные для абонента Б. На вкладке "Общие данные" представлены данные, общие для двух абонентов:
consexmain
Сюда входят номер АТС, начало разговорного состояния, окончание разговорного состояния, АОН и набранный номер. Эти данные относятся к исходным для процедуры тарификации. Для контроля правильности после тарификации в таблицу соединений записываются также результаты разбора номера.
Для записей, тарификация которых не произведена, все результаты тарификации и результаты разбора номера будут пустыми, так же как и в случае, если при тарификации произойдёт ошибка (см. Ошибки тарификации). Если тарификация произведена без ошибок, но какой-либо абонент не тарифицируется - тарифная зона для этого абонента определяться не будет. Если разговора не было, или его продолжительность была меньше тарифицируемого времени - номер анализироваться не будет, и результаты разбора номера будут пустыми.
Находящаяся внизу кнопка "Применить изменения" позволяет изменить данные записи о соединении. Для изменения данных следует ввести в соответствующих полях нужные данные, а затем нажать на эту кнопку. Изменённые данные будут внесены в БД. Данные, получаемые при тарификации записи (номер тарифного плана, тарифной зоны, тариф разговора, стоимость разговора и услуги для каждого абонента, а также результаты разбора номера), изменить нельзя - они изменяются при изменении исходных тарификационных данных и повторном запуске тарифицирующей функции.
Кнопка "Тарифицировать запись" позволяет тарифицировать одну запись, подробная информация о которой выведена в данный момент. Также тарифицировать одну запись можно, щелкнув на этой записи в таблице правой кнопкой мыши и выбрав в появившемся контекстном меню пункт "Тарифицировать выбранную запись".

При работе с соединениями на панели инструментов находятся следующие кнопки:
Кнопка "Настройка фильтра". Позволяет работать только с записями о соединениях, подходящими под выбранные пользователем параметры. При нажатии этой кнопки появляется окно настроек фильтра: При переключении в другой режим или при выходе из программы настройки фильтра сохраняются, и при следующем переключении в режим счетов или запуске программы будут восстановлены.
consfilter
Кроме фильтрации выводимых записей, также можно настроить вывод данных каждой записи и порядок выводимых данных, убрав ненужные поля в группе настроек "Видимость полей" и расставив оставшиеся поля в нужном порядке.
Также из окна фильтра настраивается порядок сортировки записей. Поле, по которому сортируются записи, выбирает пользователь путём щелчка левой кнопкой мыши на названии поля.
После нажатия кнопки "Применить" будут применены настройки фильтра, и в таблице соединений будут показаны только те соединения, которые подходят под указанные условия. При нажатии кнопки "Отмена" окно фильтра закрывается без изменения текущих установок фильтра.
Установки фильтра сохраняются при переходе в другие режимы и восстанавливаются при входе в режим соединений.
Кнопка "Тарифицировать" - тарифицирует все записи, соответствующие выбранным установкам фильтра. При нажатии на эту кнопку появляется форма тарификации, позволяющая выбрать время тарификации:
tarstart
При нажатии на кнопку формы "Тарифицировать" записи будут тарифицированы. Если при этом выбрана тарификация по времени соединения, то соединение будет тарифицировано по тарифам, действующим на момент совершения соединения. Если выбрана тарификация по текущему времени - соединение будет тарифицировано по тарифам, действующим на данный момент. Если же выбрана тарификация по указанному времени, то соединение будет тарифицировано по времени, указанному в поле ввода времени. При перетарификации (повторной тарификации) следует помнить, что перетарификация разговоров абонентов, тарифный план которых предусматривает наличие бесплатного времени, не производится во избежание повторного списания с абонента бесплатного времени. При попытке повторной тарификации разговора в базу данных записывается рассчитанная ранее стоимость разговора, никаких предупреждений не выдается.
Кнопка "Удалить запись" - удаляет текущую запись из таблицы. Для удаления группы записей следует воспользоваться пунктом главного меню "Настройки / Очистка БД".


Абоненты

Данный режим предназначен для работы с абонентами: добавления новых абонентов, изменения данных абонента, удаления абонентов. Также в этом режиме можно производить финансовые операции с абонентами: выписать абоненту счёт за соединения, пополнить баланс абонента, добавлять услуги абонентам.
При работе в режиме "Абоненты" окно программы выглядит так:
abons
Абоненты в таблице выводятся по группам. Переключится на отображение другой группы можно, используя раскрывающийся список групп, находящийся над таблицей абонентов.
При двойном щелчке мыши на какой-либо строке таблицы или при щелчке правой кнопкой мыши и выборе пункта "Подробная информация" в контекстном меню появляется окно с подробной информацией по соответствующему абоненту:
abonsex
Окно свойств абонента разделено на две закладки: "Общие свойства" и "Номерные свойства". На вкладке общих свойств для каждого абонента можно установить следующие свойства:
- "Ф.И.О". - Фамилия, имя, отчество абонента. Общая длина не более тридцати символов.
- "Группа" - группа абонентов, к которой относится абонент.
- "Номер АТС" - номер АТС, к которой подключен данный абонент.
- "Номер блока" - номер блока обслуживаемого оборудования, в котором находится порт абонента.
- "Номер порта" - номер порта, к которому подключен телефон абонента, в блоке обслуживаемого оборудования.
В режиме просмотра соединений, а также при тарификации соединений абоненты идентифицируются по номеру АТС, номеру блока и номеру порта, поэтому для каждого абонента должна быть установлена уникальная комбинация данных параметров.
- "Лицевой счёт" - номер лицевого счёта абонента. Заполнять это поле необязательно.
- "Баланс" - количество денежных средств на счету абонента. Изменить значение этого поля можно путём добавления услуг абонентам, или пополнения счёта (см. ниже), а также из режима "Счета", путём выписки и оплаты счетов. Денежный символ, показываемый рядом с денежными полями, может быть изменён через панель управления операционной системы Windows, в группе "Язык и региональные стандарты".
- Поля, входящие в адрес абонента: "Город" (не более 30 символов), "Улица" (не более 30 символов), "Дом" (не более 10 символов), "Корпус" (не более 5 символов), "Квартира" (не более 5 символов). Заполнение этих полей необязательно.
- "Договор №" - номер договора, заключаемого с абонентом. Необязательное поле.
- "от" - дата договора, заключаемого с абонентом. Это поле также необязательно для заполнения, но, в случае, если оно не будет правильно заполнено, возможны ошибки в расчёте абонентской платы и выписке счетов за период.
Также в этом окне показывается бесплатное время, имеющееся для абонента в типах связи и тарифных зонах, тарифные планы в которых для данной группы абонентов предусматривают бесплатное время (см. Бесплатное время). Бесплатное время можно изменить, нажав кнопку "Изменить бесп. время".
Поля, необязательные для заполнения (кроме даты заключения договора с абонентом), служат только для удобства работы и никак не влияют на работу программы.
Можно изменить данные абонента, введя в соответствующих полях новые данные и нажав на кнопку "Применить изменения".
Вкладка номерных свойств содержит четыре входящих номера, АОН и категорию АОН, которые установлены для данного абонента:
abonsexnumbers
В случае, если программа установлена для работы с АЦК-16 или АЦК-32, эти данные можно изменить, нажав кнопку "Изменить номерные свойства". При работе с аппаратурой АЦК-256 или TS004 изменять номерные свойства нельзя - они редактируются из ПО управления и конфигурирования (см. Настройки абонентов).
Панель инструментов в режиме "Абоненты" содержит следующие кнопки:
"Добавить абонента" - служит для добавления нового абонента. При нажатии на эту кнопку появляется окно добавления абонента, представляющее собой окно подробного просмотра абонента, но только с пустыми полями и с заголовком "Добавление нового абонента". В полях окна необходимо ввести данные и нажать кнопку "Добавить абонента". Если все данные введены правильно, абонент будет добавлен.
"Выписать счёт" - предназначена для выставления абоненту счёта за соединения. Работа со счетами описана в разделе Счета. Для выставления счёта абоненту пользователь должен иметь разрешение на изменение данных счетов.
"Пополнить баланс" - кнопка позволяет занести указанную сумму на баланс абонента. При нажатии этой кнопки появляется окно пополнения баланса:
balansplus
После нажатия кнопки "Ок" баланс абонента будет пополнен на введённую сумму. Запись о пополнении баланса будет отражена в таблице в режиме Счета. Пополнение баланса, также как и счёт, можно аннулировать, при этом от баланса абонента будет отнята сумма, на которую он ранее был пополнен.
"Добавить услугу" - кнопка позволяет добавить абоненту услугу из таблицы услуг. При нажатии на кнопку выводится окно добавления услуги:
balansminus
При после нажатия кнопки "ОК" в таблицу соединений будет добавлена запись о соединении без разговора с единственным абонентом и одной услугой. При выписке счёта абоненту стоимость данной услуги будет включена в сумму счёта. Так как при добавлении услуги абоненту запись о добавлении услуги вставляется в таблицу соединений, для добавления услуг пользователь должен иметь разрешение на изменение данных соединений.
Кнопка "Удалить абонента" позволяет удалить информацию абонента из базы данных.


Группы абонентов

Каждый абонент должен быть отнесён к какой-либо группе. Данный режим предназначен для работы с группами абонентов: создания новых групп абонентов, изменения данных группы абонентов, удаления групп.
При работе в режиме "Группы абонентов" окно программы выглядит так:
usgroup
При двойном щелчке мышью на какой-либо строке таблицы или при щелчке правой кнопкой мыши и выборе пункта "Подробная информация" в контекстном меню на экран выводится окно с подробной информацией о группе:
usgroupex
Для каждой группы абонентов можно установить следующие свойства:
- "Номер группы" - служит для идентификации группы при тарификации соединений. Не может быть две группы с одинаковым номером.
- "Название группы" - название группы абонентов. Необязательное поле.
- "Гр. тарифных планов" - группа тарифных планов, назначенная данной группе абонентов.
- "Тип тарификации" - один из трёх типов тарификации, выбранный для группы абонентов. Подробнее о типах тарификации и тарифных планах - в разделе Тарифные планы и определение стоимости.
- "Тип абонентов" - указывает, включены ли в данную группу абоненты или соединительные линии.
- "Тарификация" - признак включения тарификации. Если установить "Выключена", то стоимость всех разговоров и услуг для всех абонентов данной группы всегда будет равна 0.
- "С абонентов данной группы взимается абонентская плата" - если убрать галочку в этом переключателе, с абонентов группы не будет взиматься абонентская плата.
- "в размере:" - здесь следует указать размер абонентской платы, если абонентская плата включена.
Введя соответствующие данные и нажав на кнопку "Применить изменения", можно изменить данные группы.
Группе абонентов можно назначить любой тарифный план, существующий хотя бы в одной тарифной зоне одного типа связи. Но если данного тарифного плана не будет в других тарифных зонах, то при тарификации соединений с участием абонентов данной группы, отнесённых программой к тарифным зонам, где данного тарифного плана нет, возникнет ошибка и соединение тарифицировано не будет.
Абонентская плата, установленная для данной группы, будет взиматься со всех абонентов, входящих в данную группу, в момент выписки счетов абонентам, и включаться в выписываемые счета. Более подробно механизм расчёта абонентской платы описывается в разделе Счета.
Группа абонентов не может быть удалена, пока в её составе остаётся хотя бы один абонент. Поэтому, чтобы удалить группу абонентов, необходимо всех содержащихся в ней абонентов перевести в другие группы или удалить.
На панели инструментов в данном режиме три кнопки:
"Создать новую группу абонентов" - позволяет добавить новую группу. При нажатии этой кнопки открывается окно создания группы, аналогичное окну подробного просмотра. После ввода необходимой информации и нажатия кнопки "Добавить группу", группа будет создана.
"Удалить группу" - позволяет удалить группу абонентов. Для удаления группа не должна содержать ни одного абонента.
"Обновить данные" - нажатие этой кнопки обновляет данные в таблице групп абонентов.


Счета

При работе в режиме "Счета" программа позволяет работать с данными об изменении финансового состояния абонентов - счетами и записями о пополнении баланса абонентов. Окно программы в этом режиме выглядит так:
bills
Каждый счёт имеет свой номер. Счета нумеруются по порядку при выписке, аннулированные счета не учитываются (при аннулировании номер счёта стирается). Узнать, какой номер будет у следующего выписываемого счёта, и при необходимости поменять это значение можно, используя пункт меню "Настройки / Данные счетов / Номер следующего счёта". Записи о пополнении баланса не нумеруются.
Панель инструментов содержит следующие кнопки:
"Настроить фильтр" - позволяет показывать в таблице только счета, отобранные по определённым признакам. При нажатии этой кнопки появляется окно настройки фильтра счетов:
billsfilter
Фильтр позволяет комбинировать следующие условия:
- разделение счетов по аннулированию - позволяет просматривать только действующие счета, или только аннулированные, или все;
- разделение по оплате счетов - позволяет выводить в таблице все счета, или только оплаченные, или только неоплаченные;
- разделение по абонентам - позволяет показывать счета всех абонентов, или только абонентов, принадлежащих к определённой группе, или счета только одного абонента.
"Новый счёт" - данная кнопка позволяет выписать новый счёт. При нажатии на кнопку появляется окно нового счёта:
startbill
Счёт может выписываться за следующий расчётный период или за указанный период. При выборе счёта за следующий расчётный период программа анализирует имеющиеся записи о предыдущих счетах и, в зависимости от того, какой период был оплачен предыдущим счётом, выбирает границы следующего расчётного периода. Если конечная дата предыдущего счёта приходилось на конец какого-либо месяца, счёт будет выписан за следующий месяц, от начала и до окончания. Если конечная дата предыдущего счёта не совпадает с концом месяца, следующий расчётный период будет принят равным от дня, следующего после конечной даты предыдущего счёта, до конца месяца.
Если абоненту после регистрации не было выписано ни одного счёта (или выписанные счета были аннулированы, или записи были удалены из таблицы счетов), вместо конечной даты предыдущего счёта будет анализироваться дата регистрации абонента. День регистрации абонента тоже будет включен в расчётный период.
После нажатия на кнопку "Печать" программа произведёт анализ следующего расчётного периода и сообщит о результатах анализа пользователю. Типов сообщений может быть несколько. Нормальной считается ситуация, при которой предыдущий счёт выписан абоненту за позапрошлый месяц, а новый счёт выставляется за прошлый месяц. Или если предыдущий счёт был выписан за прошлый месяц, но не до конца, и новый счёт будет выписан за период от окончания предыдущего счёта до конца прошлого месяца. Также программа не выдаёт дополнительных рекомендаций, если абонент был зарегистрирован в прошлом месяце, и новый счёт будет выписан от дня регистрации абонента до конца месяца. Если же дата окончания предыдущего счёта меньше последнего числа позапрошлого месяца, программа предложит после выписки счёта запустить процедуру повторно, чтобы выписать абоненту счёт за предыдущий месяц и, возможно, за предшествующие месяцы. То же самое программа предлагает сделать, если абонент был зарегистрирован ранее, чем в прошлом месяце, и ни одного счёта ещё не было выписано.
Если предыдущий счет был выписан за период по конец прошлого месяца, программа выдаст предупреждение, что новый счёт будет выписан за ещё не закончившийся текущий месяц. Такое же предупреждение будет выдано, если абонент был зарегистрирован в текущем месяце.
В любом случае, появится диалоговое окно, содержащее кнопки подтверждения формирования счёта и отмены. Если пользователь нажимает на кнопку подтверждения, абоненту выписывается счёт за услуги связи. При нажатии на кнопку "Отмена" окно закрывается без формирования счёта.
При выборе счёта за указанный период оператор сам вводит границы периода счёта. При этом наличие предыдущих счетов не анализируется и никаких предупреждений не выдаётся - программа сразу же приступает к формированию счёта.
Информация о счёте заносится в базу данных. В сумму счёта включается стоимость всех разговоров и услуг по всем соединениям, в которых абонент участвовал как абонент А или абонент Б, которые были тарифицированы и которые не были включены в счёт ранее. От баланса абонента отнимается сумма счёта.
Если выбран предварительный просмотр, вместо вывода на принтер счёт будет показан на экране, и после этого его можно будет распечатать; если предварительный просмотр не выбран, выводится диалоговое окно печати счёта.
При печати (и при предварительном просмотре) счёта доступно три вида детализации счёта:
- детализированный счёт - при печати в счёт будут внесены подробные сведения обо всех соединениях, стоимость разговоров и услуг по которым была включена в сумму счёта;
- не детализированный счёт - никакой информации о соединениях, кроме общих сумм оплаты входящих, исходящих разговоров и общей суммы оплаты услуг, в счёт включено не будет;
- только платные соединения - в счёт будет включена информация только о тех соединениях, стоимость оплаты разговоров или услуг по которым больше ноля.
Счёт можно оплатить, при этом баланс абонента будет увеличен на сумму счёта, а счёт будет помечен как оплаченный.
Выписать абоненту счёт можно также из режима "Абоненты".
"Абонент" - эта кнопка позволяет просмотреть данные абонента, которому был выписан счёт.
"Оплатить счёт" - позволяет оплатить счёт.
"Аннулировать счёт" - позволяет аннулировать счёт за соединения, разовый платёж, а также запись об оплате счёта или пополнении баланса. При аннулировании записи о пополнении баланса баланс абонента будет уменьшен на сумму, на которую он был увеличен при пополнении.
"Обновить данные" - обновляет данные таблицы счетов.
Информацию о счёте можно просмотреть, два раза щёлкнув на запись в таблице счетов или щелкнув правой кнопкой мыши и выбрав пункт "Подробная информация" в контекстном меню. При этом появляется окно подробного просмотра счетов:
billsex
Это окно, кроме просмотра данных счётов, позволяет также аннулировать счета, оплачивать, отменять оплату и распечатывать счета. Так же как и при выписке счёта, при его печати из окна подробного просмотра доступно три вида детализации счёта. Если выбран предварительный просмотр, вместо вывода на принтер счёт будет показан на экране, и после этого его можно будет распечатать. Если предварительный просмотр не выбран, появится диалоговое окно печати счёта. В нижней части окна находится таблица, в которой содержатся записи обо всех операциях по данному счёту(оплата счёта, отмена оплаты, аннулирование счёта).
Отображаемые в окнах с финансовыми данными обозначения денежных единиц можно изменить в настройках операционной системы Windows (панель управления, значок "Язык и региональные стандарты").


Типы связи

Данный режим предназначен для работы с типами связи: создания новых типов связи, изменения информации типа связи, удаления типов связи.
Вид программы при работе в режиме "Типы связи":
link
При двойном щелчке мыши на какой-либо из строк таблицы типов связи или при щелчке правой кнопкой и выборе пункта "Подробная информация" в контекстном меню появляется окно изменения информации соответствующего типа связи:
linkex
Для изменения данных типа связи необходимо ввести нужные данные и нажать кнопку "Применить изменения".
Панель инструментов в данном режиме содержит три кнопки:
"Новый тип связи" - позволяет создать новый тип связи. При нажатии этой кнопки появляется окно создания нового типа связи, отличающееся от окна изменения типа связи только заголовком и отсутствием информации в полях ввода. Создаваемый тип связи будет нефиксированным (тарификация разговоров, отнесённых к данному типу связи, будет зависеть от набранного номера), идентифицироваться он также будет по начальным символам набираемого номера. Поэтому при создании типа связи необходимо задать в полях "Префикс 1" и "Префикс 2" некоторые значения общей длиной от 1 до 8 символов ("Префикс 1" до 4 символов и "Префикс 2" до 4 символов). После этого все соединения, в которых набранный номер начинается с комбинации символов, равной "Префикс 1"+"Префикс 2", будет отнесён к данному типу связи. Не следует создавать два типа связи с одинаковой комбинацией данных символьных полей. Это не приведёт к ошибке исполнения программы, но тарификация соединений может осуществляться неправильно. Для тарификации соединений по новому типу связи необходимо создать в данном типе связи хотя бы одну тарифную зону (см. Тарифные зоны), и отнести к ней все города (или создать в таблице новые), перед кодом которых (состоящие из кода региона, к которому относится данный город, + код собственно города - см. Регионы и Коды городов) в набранном номере будет стоять комбинация из префиксов данного типа связи.
Также в данной тарифной зоне следует создать все тарифные планы, абоненты которых могут позвонить в города, относящиеся к данной тарифной зоне. Например, если есть три группы, "группа 1", "группа 2", и "группа 3", абоненты которых используют тарифные планы с номером 1 (и названием "План 1"), номером 2 (и названием "План 2") и номером 3 (и названием "План 3") соответственно. Абоненты первых двух групп могут позвонить в создаваемую зону, абоненты третьей лишены такой возможности. Значит, в создаваемой тарифной зоне следует создать тарифные планы с номерами 1 и 2.
"Удалить тип связи" - позволяет удалить тип связи. При удалении типа связи будут удалены также все относимы е к данному типу связи тарифные зоны и все входящие в состав этих зон тарифные планы. Звонки во все города, входящие в состав регионов, относимых к данному типу связи, невозможно будет тарифицировать до тех пор, пока они не будут отнесены к существующему типу связи взамен удалённого.
"Обновить данные" - позволяет обновить данные таблицы типов связи.


Регионы

Данный режим предназначен для работы с регионами: добавления новых регионов, изменения информации регионов, удаления регионов. При работе в режиме "Регионы" программа выглядит так:
region
В таблице регионов отображаются все регионы, относимые к выбранному в данный момент типу связи. Выбрать другой тип связи можно, используя находящийся над таблицей раскрывающийся список. В списке отображаются только нефиксированные типы связи.
Двойным щелчком мыши или при щелчком правой кнопкой мыши с последующим выбором пункта "Подробная информация" в контекстном меню можно вывести окно изменения данных региона:
regionex
Для изменения данных следует ввести в соответствующих полях нужные данные, а затем нажать кнопку "Применить изменения".
На панели инструментов в данном режиме есть кнопки:
"Добавить регион" - позволяет добавить новый регион. При нажатии этой кнопки появляется окно добавления нового региона, отличающееся от окна изменения данных только заголовком и отсутствием данных в полях. После ввода данных и нажатия кнопки "Добавить регион" регион будет добавлен в базу данных, если все введённые данные правильны. Не может быть двух регионов, имеющих одинаковый код и относящихся к одному типу связи. При изменении тарифной зоны для всех городов, относящихся к данному региону, тарифная зона будет изменена на введённую.
"Удалить регион" - позволяет удалить регион. При этом будут удалены все города, относимые к данному региону.
"Перейти к городам региона" - позволяет переключиться в режим работы с кодами городов и просмотреть города, относящиеся к выбранному в данный момент региону.
"Обновить данные" - обновляет данные таблицы регионов.


Коды городов

Данный режим предназначен для работы с таблицей городов: добавления новых городов, изменения информации городов, удаления городов. При работе в данном режиме окно программы выглядит так:
state
В таблице городов отображаются все города, относящиеся к выбранным в данный момент типу связи и региону. Тип связи и регион можно выбрать, используя раскрывающиеся списки, находящиеся над таблицей. В списке регионов можно увидеть только те регионы, которые относятся к выбранному в данный момент типу связи. Если в списке регионов выбрать значение "Все регионы", то в таблице городов будут видны города, относящиеся ко всем регионам выбранного типа связи.
При двойном щелчке на любой из строк таблицы городов или при щелчке правой кнопкой мыши и выборе пункта "Подробная информация" в контекстном меню появляется окно изменения информации города:
stateex
Для изменения данных города необходимо ввести нужные данные в соответствующих полях ввода, а затем нажать кнопку "Применить изменения".
На панели инструментов в данном режиме есть кнопки:
"Добавить город" - позволяет добавить информацию о новом городе. При нажатии кнопки появляется окно добавления города, аналогичное окну изменения данных. После ввода необходимых данных и нажатия кнопки "Добавить город" информация о городе будет добавлена в БД, если введены правильные данные. К одному региону не могут относиться два города с одинаковым кодом.
"Удалить город" - позволяет удалить город.
"Перейти к регионам" - позволяет переключиться в режим регионов на тот регион, к которому относится выбранный в данный момент город.
"Обновить данные" - служит для обновления данных таблицы городов.


Тарифные зоны

Данный режим предназначен для работы с тарифными зонами: добавления новых тарифных зон, изменения информации тарифных зон, удаления тарифных зон. При работе в режиме "Тарифные зоны" окно программы выглядит так:
zone
В таблице отображаются все тарифные зоны, относящиеся к выбранному в данный момент типу связи. Двойной щелчок мыши на любой строке таблицы тарифных зон (или щелчок правой кнопкой мыши и выбор пункта "Подробная информация" в контекстном меню) вызывает появление на экран окна с подробной информацией о тарифной зоне:
zoneex
Для изменения данных тарифной зоны следует ввести в соответствующих полях новые данные и нажать кнопку "Применить изменения".
На панели инструментов содержатся следующие кнопки:
"Новая зона" - позволяет создать новую тарифную зону. При нажатии кнопки появляется окно создания новой тарифной зоны, аналогичного окну подробной информации. Для создания новой зоны следует ввести нужные данные в соответствующих полях и нажать кнопку "Добавить зону".
"Удалить зону" - позволяет удалить тарифную зону. При удалении тарифной зоны удаляются также все тарифные планы, относящиеся к данной тарифной зоне. Городам и фиксированным типам связи, относившимся к удаляемой тарифной зоне, во избежания ошибок тарификации следует назначить существующую тарифную зону.
"Редактировать укрупнённые зоны" - позволяет работать с таблицей укрупнённых тарифных зон. Укрупнённые зоны служат для построения отчётов с объединением тарифных зон по какому-либо признаку. Например, создав укрупнённую зону "СНГ" и отнеся к ней все тарифные зоны, входящие в СНГ, можно получать отчёт по всем этим тарифным зонам. При нажатии этой кнопки появляется окно редактирования укрупнённых зон:
bigzones
Расположенная вверху этого окна панель инструментов содержит кнопки, позволяющие создать новую, удалить существующую укрупнённую зону, обновить данные таблицы укрупнённых зон. При двойном щелчке по любой записи таблицы укрупнённых зон или при выборе пункта "Подробная информация" в контекстном меню появляется окно редактирования укрупнённой зоны, которое позволяет изменить данные:
newbigzone
Находящаяся внизу окна редактирования укрупнённых тарифных зон кнопка позволяет закрыть окно и вернуться к работе с тарифными зонами.

"Тарифные планы" - позволяет переключиться в режим тарифных планов и перейти к работе с тарифными планами, относящимися к выбранной в данный момент тарифной зоне.
"Обновить данные" - обновляет данные таблицы тарифных зон.


Тарифные планы

Данный режим предназначен для работы с тарифными планами: создания новых тарифных планов, изменения информации тарифных планов, удаления тарифных планов. В режиме "Тарифные планы" окно программы выглядит так:
tarplans
Каждый тарифный план относится к какой-либо группе тарифных планов. Группа тарифных планов может быть назначена группе пользователей.
Также каждый тарифный план должен относиться к какой-либо из тарифных зон (а каждая из тарифных зон, в свою очередь, должна относиться к какому-либо типу связи). Просмотреть тарифные планы можно, выбрав соответствующую тарифную зону. В тарифной зоне может быть несколько планов с одинаковым номером, но обязательно с разным временем ввода в действие. Также эти тарифные планы могут отличаться базовыми тарифами по разным типам дней, тарифными интервалами, названиями. Действующим будет только один из них - время начала действия которого самое большое, но в то же время не больше, чем настоящее время.
При переключении в режим тарифных планов в таблице будут видны только действующие тарифные планы. Чтобы просмотреть не только действующие тарифные планы, но и их архивные копии, а также тарифные планы, которые начнут действовать позже настоящего времени, необходимо в раскрывающемся списке на панели инструментов выбрать вместо "Действующие планы" пункт "Все планы". После этого будет возможность работать со всеми тарифными планами, имеющимися в БД.
Просмотреть подробную информацию по какому-то из отображённых в таблице тарифных планов можно, два раза щёлкнув мышью на соответствующей записи таблицы, или щелкнув на нужной записи в таблице правой кнопкой мыши и затем выбрав пункт "Подробная информация" в контекстном меню. После этого появляется окно с подробной информацией о тарифном плане:
tarplansex
Можно изменить название тарифного плана и время действия, а также базовые тарифы по разным типам дней и тарифные интервалы. Базовые тарифы редактируются прямо в таблице. Для перевода таблицы в режим редактирования следует два раза щёлкнуть по значению базового тарифа, которое нужно изменить, или выбрать нужную строку в таблице и нажать ""Enter" или "F2". После ввода нужного значения следует нажать "Enter". Для изменения тарифных интервалов нужно выбрать строку с типом дня, тарифные интервалы для которого необходимо изменить, и нажать кнопку "Тарифные интервалы для данного типа дней". После этого появится форма с информацией о тарифных интервалах:
tarints
В этой форме можно просмотреть существующие в данном тарифном плане для данного типа дней тарифные интервалы, создать новый интервал, удалить или изменить существующий. Каждый тарифный интервал определяется начальным временем, конечным временем и изменением базового тарифа (в денежных единицах).
В верхней части окна находится панель инструментов с тремя кнопками, предназначенными для создания нового тарифного интервала, удаления существующего интервала и для обновления данных. Изменить данные тарифного интервала можно, два раза щёлкнув по соответствующей записи в таблице или выбрав пункт "Подробная информация" в контекстном меню, появляющемся при нажатии правой кнопки мыши на таблице.
Ниже панели инструментов располагается диаграмма тарифных интервалов, в которой визуально отображаются имеющиеся тарифные интервалы. Красным цветом закрашиваются интервалы, увеличивающие для абонента стоимость единицы времени, зелёным - уменьшающие. Время, в котором тарифные интервалы отсутствуют, на диаграмме обозначается белым.
Расположенная в нижней части окна кнопка позволяет закрыть окно и вернуться к окну с подробной информацией о тарифном плане.
После внесения изменений в тарифный план следует применить их, нажав кнопку "Применить изменения" в окне с подробной информацией о тарифном плане. Существующий тарифный план без изменений останется в базе данных в качестве архивной копии, вместо него появится новый тарифный план, обязательно отличающийся от изменяемого как минимум временем ввода в действие. Если не изменить время ввода в действие изменяемого тарифного плана, применить изменения не получится - программа выдаст ошибку. Абоненты, использующие данный тарифный план, будут тарифицироваться по измененным тарифам, начиная с даты и времени ввода в действие изменённого тарифного плана. Позже, при перетарификации соединений, для тарификации может быть использовано время соединения - и тогда соединение будет тарифицировано по тарифу, который действовал на момент совершения соединения (если он не был удалён); или может быть использовано текущее время - при этом соединение будет тарифицировано по текущему тарифу; или можно указать время - и соединение будет тарифицировано по тарифу который действовал (или будет действовать) на момент введённого времени.
Архивные копии тарифных планов занимают много места в базе данных, что приводит к увеличению размера файлов БД и снижению производительности программы тарификации. Поэтому ненужные архивные копии следует удалять, используя пункт главного меню "Настройки/Очистка БД".
На панели инструментов в режиме работы с тарифными планами доступны следующие кнопки:
- "Новый тарифный план". Эта кнопка позволяет создать новый тарифный план. После её нажатия появляется окно создания тарифного плана:
newtarplan
В данном окне необходимо ввести номер, время начала действия тарифного плана, и выбрать группу тарифных планов, в которую он будет входить, а потом нажать кнопку "Далее". После этого появится окно редактирования базовых тарифов:
newtardays
После открытия данного окна базовые тарифы по всем тарифным дням равны 0. Их можно изменить прямо в таблице, так же как и при редактировании базовых тарифов уже существующего тарифного плана, как описано выше. Также для каждого типа дня можно добавить тарифные интервалы, выбрав нужный тип дня и нажав на кнопку "Тарифные интервалы для данного типа дней". После ввода всех необходимых данных и нажатия кнопки "Создать план" новый тарифный план будет создан. Если же нажать кнопку "Отмена" на любом из двух окон, создание тарифного плана будет отменено и никаких изменений в данные БД внесено не будет.
- "Создать тарифный план на основе шаблона" - позволяет создать новый тарифный план, используя в качестве шаблона выбранный тарифный план. При этом в новый тарифный план из плана-шаблона передаются название, время начала действия, базовые тарифы по всем типам дней, а также все существующие в плане-шаблоне тарифные интервалы. В момент создания плана все эти данные можно изменить, так же как и при создании тарифного плана без использования шаблона.
- "Удалить тарифный план" - кнопка позволяет удалить тарифный план. Также можно удалить выбранный тарифный план, нажав на кнопку "Del" на клавиатуре. При работе только с действующими тарифными планами следует учитывать, что удаляется только действующий тарифный план, а его архивные копии и версии, вводимые в будущем, останутся. При этом архивная версия с самым большим из всех временем действия, станет действующим тарифным планом. Если архивная версия имеет то же название, что и удалённый тарифный план, то может показаться, что удаления не произошло.
- "Тарифные зоны" - позволяет переключиться в режим работы с тарифными зонами и перейти к тарифной зоне, к которой относится выбранный тарифный план.
- "Группы тарифных планов" - позволяет создавать новые группы тарифных планов, изменять или удалять существующие. При нажатии кнопки появляется окно редактирования групп тарифных планов:
plannames
Группа тарифных планов не может быть удалена, пока в её составе есть хотя бы один тарифный план.
- "Обновить данные" - обновляет данные таблицы тарифных планов.


Услуги и фикс. связь

Данный режим предназначен для работы с услугами и фиксированными типами связи (т.е. типами связи, оплата которых не зависит от набранного номера). В этом режиме можно добавлять новые услуги или фиксированные типы связи, изменять их данные или удалять.
При работе в данном режиме окно программы выглядит так:
servs
В таблице отображаются все услуги или все фиксированные типы связи, в зависимости от того, что из них выбрано в данный момент. Переключаться между ними можно, используя раскрывающийся список, расположенный вместе с кнопками на панели инструментов.
При двойном щелчке мыши на любой строке таблицы или при щелчке правой кнопкой мыши и выборе пункта "Подробная информация" в контекстном меню выводится окно изменения данных соответствующей услуги или фиксированного типа связи:
servsex
Для изменения данных следует ввести в соответствующих полях новые данные и нажать кнопку "Применить изменения".
Панель инструментов содержит следующие кнопки:
"Новая услуга или фикс. тип связи" - позволяет добавить новую услугу или фиксированный тип связи. Такая возможность добавлена к системе для поддержки усовершенствований аппаратуры, например, на случай появления новых услуг.
"Удалить запись" - позволяет удалить услугу или фиксированный тип связи. Удалять какие-либо из предустановленных услуг или фиксированных типов связи не рекомендуется во избежание ошибок тарификации.
"Обновить данные" - обновляет данные таблицы.


Календарь

Данный режим предназначен для работы с типами дней и календарём: создания новых типов дней, изменения информации существующих типов дней, удаления типов дней, а также создания, изменения и удаления записей календаря.
При работе с календарём окно программы выглядит так:
days
В отличие от других режимов работы программы, при работе в этом режиме в окне программы отображаются две таблицы: справа находится таблица типов дней, а слева - собственно календарь. Двойной щелчок мыши на какой-либо записи таблицы типов дней вызывает не появление окна с информацией о типе дня, а изменение типа дня для выбранной записи в таблице-календаре. Для того, чтобы вывести окно с информацией о типе дня, следует выбрать в таблице нужный тип дня и нажать на панели инструментов кнопку "Изменить тип дня". После этого появится окно изменения информации типа дня:
typeday
После ввода новых параметров типа дня для их изменения следует нажать кнопку "Изменить".
Создать новый тип дня можно, нажав на кнопку "Создать новый тип дня". При этом во всех существующих тарифных планах базовые тарифы для созданного типа дня будут равны 0, тарифных интервалов не будет.
Удалить тип дня можно, нажав на кнопку "Удалить тип дня". Удалять типы дня "рабочий" и "выходной" настоятельно не рекомендуется, хотя это и можно сделать, так как они очень важны для работы программы.
Двойной щелчок на календаре не приведёт ни к каким действиям. Создавать записи календаря или удалять их можно только группами. Для этого следует, в зависимости от желаемого действия, нажать на кнопку "Создать записи календаря" или "Удалить записи календаря". Появится окно создания записей календаря:
range
или окно удаления записей календаря, отличающееся от окна создания только заголовком. Потом нужно ввести начальную и конечную даты диапазона, в котором будут созданы или удалены записи календаря, и подтвердить действие. При создании записей суббота и воскресенье будут отнесены к типу дня "выходной", остальные дни - к типу "рабочий". Другие типы дня пользователь должен вводить самостоятельно путём выбора в таблице календаря нужного числа и двойного щелчка мышью на нужном типе дня в таблице типов дней. В случае, если при тарификации записи день, в который состоялось соединение, не будет найден в календаре, программа отнесёт его к типу дня "выходной", если это будет суббота или воскресенье, и к типу дня "рабочий", если это будет другой день недели.
Ненужные записи из календаря следует периодически удалять, так как большое число записей в календаре увеличивает объём файлов базы данных и снижает быстродействие программы тарификации.


Отчёты

Этот режим позволяет создавать, редактировать, выводить на предварительный просмотр и печать отчёты, представляющие в визуальной форме разнообразную информацию, содержащуюся в базе данных.
После переключения в режим "Отчёты" программа выглядит так:
report
Отчёты, так же как и другая информация, необходимая для работы программы, хранятся в базе данных. Отчёты разделены на группы. В правой части находится таблица, в которой отображаются отчёты, входящие в выбранную группу. При выборе другой группы из раскрывающегося списка групп, находящегося над таблицей отчётов, в таблице показываются отчёты, которые входят в эту группу. При выборе пункта "Все группы" в таблице показываются отчёты, входящие во все группы, а также отчёты, не входящие ни в одну из групп. Отчёты, не входящие ни в какую группу, можно увидеть только в этом режиме.
Рядом с раскрывающимся списком групп отчётов находится кнопка "Группы отчётов". При нажатии этой кнопки появляется окно групп отчётов, позволяющее создавать новые группы отчётов, а также удалять или изменять существующие группы:
reportgroups
В верхней части окна групп отчётов находится панель инструментов с тремя кнопками: "создать группу", "изменить группу" и "удалить группу". При удалении группы отчётов все отчёты, входящие в эту группу, будут помечены как не входящие ни в одну группу, и работа с ними будет возможна только при работе со всеми группами отчётов. Расположенная в нижней части окна кнопка позволяет закрыть окно и вернуться к работе с отчётами.
При двойном щелчке на каком-либо отчёте из таблицы или при щелчке правой кнопкой мыши и выборе пункта "Подробная информация" в контекстном меню появляется окно изменения данных, позволяющее просмотреть название, группу отчёта, комментарий к нему, а также изменить все эти данные:
reportex
Для изменения данных отчёта необходимо ввести новые данные, а потом нажать кнопку "Применить изменения".
Панель инструментов программы в режиме отчётов содержит следующие кнопки:
- "Предпросмотр отчёта". При нажатии этой кнопки отчёт загружается из выбранного файла и выводится на предварительный просмотр в новом окне:
repprev
Из окна предварительного просмотра отчёт можно распечатать. Можно распечатать отчёт без предпросмотра, нажав следующую кнопку:
- "Печать отчёта" - эта кнопка загружает отчёт из файла и выводит его на печать без предпросмотра.
- "Редактировать отчёт" - эта кнопка позволяет внести изменения в форму отчёта. Отчёт редактируется в окне редактора отчётов, который открывается в новом окне:
repedit
О том, как вносить изменения в отчёты, объясняется в документации по редактору отчётов, поставляемой в комплекте биллинговой системы. Документация в файле "fr_rus.chm" в html-справки. Новые отчёты нужной формы также можно получить, обратившись к разработчику системы.
- "Создать новый отчёт" - эта кнопка предназначена для создания нового отчёта. При её нажатии открывается пустое окно изменения данных, в котором следует ввести данные (название, группу, комментарий) для создаваемого отчёта, а потом нажать кнопку "Добавить отчёт". При нажатии кнопки "Отмена" новый отчёт не создаётся. После подтверждения создания нового отчёта открывается окно редактора отчётов, и в нём открывается пустой бланк отчёта.
- "Загрузить отчёт из файла" - позволяет загрузить отчёт из файла отчёта FastReport (обычно имеющего расширение ".frf") в базу данных. При нажатии этой кнопки открывается окно диалога выбора файла. После выбора файла открывается окно изменения данных, в котором в качестве названия для загружаемого в БД отчёта введено имя выбранного файла. Название отчёта может быть изменено. После ввода всех необходимых данных и нажатия кнопки "Добавить отчёт" отчёт будет добавлен в базу данных.
- "Удалить отчёт" - позволяет удалить отчёт из БД.
- "Дублировать отчёт" - позволяет создать копию отчёта под другим именем (и, если нужно, в другой группе). Удобно при создании нового отчёта на основе существующего. Исходный отчёт не изменяется.
- "Сохранить отчёт в файл" - позволяет выгрузить отчёт из БД в файл. При нажатии кнопки появляется диалог сохранения файла, в качестве имени файла предлагается использовать название отчёта. К имени файла будет добавлено расширение frf, если пользователь не добавил расширение к имени файла. Исходный отчёт не изменяется.
- "Обновить данные" - обновляет данные в таблице отчётов, показывая изменения.
Отчёты служат для визуального представления информации, содержащейся в разных таблицах базы данных. Для того, чтобы редактировать, печатать или просматривать какой-либо отчёт, пользователь должен иметь разрешение на просмотр данных таблиц, к которым этот отчёт обращается. Например, для вывода на печать поставляемого в стандартной комплектации отчёта "По абоненту (список)" пользователь должен иметь разрешения на просмотр данных таблиц абонентов, соединений, услуг и фиксированной связи. Администраторы могут производить любые действия с отчётами, также как и с любыми другими объектами базы данных.


Ошибки тарификации

Данный режим позволяет просматривать записи об ошибках, произошедших при тарификации соединений, и удалять их.
При работе в данном режиме окно программы выглядит так:
tarerrors
На панели инструментов в данном режиме есть две кнопки:
"Информация о соединении" - позволяет просмотреть данные соединения, при тарификации которого произошла ошибка. Окно, в котором выводятся данные о соединении, аналогично окну с подробной информацией о соединении режима "Соединения".
"Удалить" - позволяет удалить запись об изменении из таблицы.
"Обновить данные" - обновляет данные в таблице.
В таблицу записи могут быть добавлены в результате следующих ошибок, происходящих при тарификации:
- не найдены данные абонента А (в таблице абонентов нет абонента с номером блока и номером порта, соответствующим тем, которые записаны в таблице соединений для соответствующего соединения для абонента А);
- не найден тариф разговора для абонента А (отсутствует тарифный план, указанный для данного абонента, или нет тарифной зоны, полученной в результате тарификации);
- не найден тариф услуги для абонента А;
- не найдены данные абонента Б;
- не найден тариф разговора для абонента Б;
- не найден тариф услуги для абонента Б;
- не найден город по найденному номеру.
Какие именно ошибки произошли в данной записи, можно выяснить, дважды щёлкнув по нужной записи в таблице, или щёлкнув на записи правой кнопкой мыши и выбрав пункта "Подробная информация" в появившемся контекстном меню. Появится окно подробного просмотра, в котором ошибки, происшедшие при тарификации, рассматриваются более подробно:
tarerrorsex


Журнал изменений

Данный режим предназначен для просмотра изменений, внесённых в базу данных всеми пользователями. Любые изменения, вносимые в базу данных, будут отражены в таблице изменений и могут быть просмотрены в этом режиме. Программа в режиме просмотра изменений выглядит так:
chreg
На панели инструментов в данном режиме находится только одна кнопка: "Обновить данные". Это связано с тем, изменения регистрируются программой автоматически, а удалить записи можно только, используя пункт меню "Настройки / Очистка БД".
При двойном щелчке мыши на любой строке журнала изменений или при щелчке правой кнопкой мыши и выборе пункта "Подробная информация" в контекстном меню на экран выводится окно подробного просмотра изменения:
chregex
В данном окне, кроме тех данных, которые выводятся в таблице, можно также прочитать полный текст инструкции SQL, осуществлявшей данные изменения. Инструкция SQL однозначно определяет произведённые изменения.


Пользователи

База данных защищена от несанкционированного изменения информации. Изменять информацию могут только пользователи базу данных. Режим работы с пользователями позволяет изменять пароль пользователя, добавлять новых пользователей, удалять пользователей.
При работе в данном режиме окно программы выглядит так:
users
Панель инструментов содержит следующие кнопки:
"Добавить нового пользователя" - позволяет добавить пользователя. При нажатии на кнопку появляется окно добавления пользователя:
newuser
Для добавления пользователя необходимо ввести данные в соответствующих полях и нажать кнопку "Добавить пользователя".
"Удалить пользователя" - позволяет удалить пользователя. Удалить пользователя "DBA" нельзя, в связи с особенностями работы базы данных.
"Обновить данные" - обновляет данные таблицы пользователей.
При двойном щелчке мыши на любой из строк таблицы или при щелчке правой кнопкой мыши и выборе пункта "Подробная информация" в контекстном меню выводится окно с подробной информацией о соответствующем пользователе:
usersex
В этом окне можно изменить пароль пользователя и установить для него разрешения на выполнение различных действий с базой данных. Для пользователей, являющихся администраторами, наличие разрешений значения не имеет, так как администраторы могут производить любые действия с базой данных. Другие пользователи не могут выполнять не разрешённые им действия. Разрешить или запретить пользователю какие-либо действия, так же как и просматривать, какие разрешения установлены для пользователя, могут только администраторы. В случае, если пользователь пытается выполнить действие, которое ему не разрешено, программа выдаёт сообщение об ошибке, в котором будут следующие слова: "Error -121: Отказ в полномочиях: у вас нет полномочий на ... ". Например, такое сообщение получает пользователь, пытающийся переключиться в режим регионов, просмотр данных в котором ему не разрешён:
accessdenied
Многие действия зависят от других действий. Например, чтобы пользователь мог просматривать данные соединений, для него также должен быть разрешён просмотр данных абонентов, и поэтому при включении для пользователя разрешения на просмотр соединений для него также автоматически включается разрешение на просмотр данных абонентов. В свою очередь, для просмотра данных абонентов необходимо разрешение на просмотр данных групп абонентов, и так далее. Таким образом, при разрешении пользователю просмотра соединений включаются также разрешения на просмотр абонентов, групп абонентов, типов связи, тарифных зон, тарифных планов, услуг и фиксированной связи. При выключении любого из этих разрешений просмотр соединений для пользователя также запрещается. Для изменения данных в каком-то из режимов требуется разрешение на просмотр данных в этом режиме.
В именах пользователей и паролях можно использовать символы кириллицы.
В поставляемой базе данных есть один пользователь - "DBA" с паролем "sql". Он является администратором БД.
При соединении с БД, регистр символов вводимых имени пользователя и пароля не учитывается.
Если система используется для работы с АЦК-16 и АЦК-32, и для конвертации текстовых файлов используется программа Razbor, при установке настроек подключения к БД в программе Razbor следует помнить, что пользователь, от имени которого программа подключается к БД, должен иметь разрешение на изменение данных в режиме "Соединения", иначе Razbor не сможет конвертировать данные в БД.


Подключение к БД

Данный пункт меню позволяет изменить параметры подключения к базе данных. При выборе этого пункта открывается окно с настройками подключения:
dbsets
При нажатии кнопки "Применить" текущее подсоединение к БД отключается, и программа пытается подключить базу данных, используя введённые параметры. В случае, если настройки применяются успешно, новые параметры подключения будут сохранены в реестр Windows и восстановлены при следующем запуске программы. В случае, если включен параметр "Сохранять пароль и восстанавливать при запуске программы", то имя пользователя и пароль также будут сохранены в реестр и восстановлены при следующем запуске. Если этот параметр выключен, для следующего запуска программа необходимо будет ввести имя пользователя и пароль в окне ввода пароля:
login
Если же успешно применить настройки и подключиться к БД не удастся, работа с программой станет невозможной до ввода действующих параметров подключения.
При первом запуске после установки системы программа запросит ввод имени пользователя и пароль. По умолчанию пользователь - "DBA", пароль - "sql". После первого запуска пароль можно изменить, используя режим "Пользователи". Если имя пользователя или пароль введены неправильно или требуется изменение других настроек, после окна ввода пароля появится окно настроек подключения к БД. Настройки по умолчанию следующие.

Сервер БД: для АЦК-256 или TS004 - "TS004";
для АЦК-16 или АЦК-32 - "ts_Billing".
База данных: "ts_Billing".
Путь библиотеки БД: "[Директория БД Sybase]\win32".
Файл библиотеки БД: "dblib8.dll".
Параметры клиента: "links=TCPIP".
Параметры сервера: пустая строка.
Тип сервера: "stClient".
Преобразование: "Нет".
Кроме ввода правильных параметров, для работы также должна быть запущена база данных, сетевая или локальная.


Настройки абонентов

При выборе пункта "Настройки абонентов" появляется следующее окно:
abonssettings
Окно настроек абонентов содержит только один пункт: тип установки программы. При выборе типа установки "Для АЦК-16 или АЦК-32 (Standalone)" программа разрешает изменять номерные свойства абонентов в режиме работы с абонентами, при выборе пункта "Для станции TS004 или АЦК-256 (Complex)" - запрещает, так как в этом случае номерные свойства абонентов должны изменяться через ПО управления и конфигурирования станции.
Выше типа установки программы находится кнопка синхронизации абонентов. Данная кнопка предназначена для занесения данных об абонентских портах в таблицу абонентов на этапе установки программы. При запуске процедуры синхронизации абонентов программа читает данные конфигурации абонентских портов из БД технической информации и для каждого абонентского порта записывает в таблицу абонентов одного абонента. На каждый блок каждой АТС, указанный в базе данных технической информации, создается отдельная группа абонентов. Для всех групп абонентов устанавливается тип тарификации - поминутная, тип абонента - абонент, тарификация включается, номер тарифного плана устанавливается наименьший из существующих, а при отсутствии тарифных планов - 0.
ВСЕ ЗАНЕСЕННЫЕ РАНЕЕ АБОНЕНТЫ И ГРУППЫ АБОНЕНТОВ ПРИ ЗАПУСКЕ ПРОЦЕДУРЫ СИНХРОНИЗАЦИИ УДАЛЯЮТСЯ!
При работе с аппаратурой АЦК-16 или АЦК-32 запуск процедуры синхронизации не имеет смысла, так как данная аппаратура не имеет своей технической БД нужного формата.


Данные счетов

При выборе данного пункта появляется окно настроек счетов:
billsets
Первым пунктом в настройках стоит "Номер следующего счёта". Следующий счёт за соединения будет выписан под номером, равным указанному в данной строке ввода. При необходимости его можно изменить.
Также можно изменить данные организации, вносимые в клиентские счета. Предусмотрены следующие данные:
- название организации;
- телефон для клиентов;
- номер ИНН организации;
- БИК;
- номер расчетного счета;
- номер корреспондентского счёта;
- название банка организации.
Для изменения настроек счетов пользователь должен иметь разрешение на изменение данных счетов.


Тарификация

В настройках тарификации можно изменить тип вставки записей в БД и тип обработки ошибочных записей. При выборе этого пункта меню появляется окно изменения настроек тарификации:
tarsets
Записи могут тарифицироваться перед вставкой в БД. Параметр "Тарификация функцией" управляет обработкой информации о соединениях перед записью её в БД. Если выбрано "Включена", то программа, добавляющая информацию о соединениях в БД, будет сразу же тарифицировать соединения. Если тарификация фукнцией выключена, информация о соединениях будет добавляться в БД без какой-либо обработки.
Тип обработки ошибочных записей имеет следующий смысл. Если при тарификации разговора в начале набранного номера обнаружен префикс какого-либо из типов связи, но при этом код города для данного типа связи найти не удалось, возникает ошибка поиска кода города. При этом программа может действовать двумя способами:
1. Не тарифицировать соединение, информацию об ошибке занести в специальную таблицу базы данных, в которой её можно просмотреть из режима "Ошибки тарификации".
2. Тарифицировать соединение, взяв информацию для специального типа связи "Ошибочный".
Так как программа пытается тарифицировать разговор (и, соответственно, разобрать набранный номер) только в том случае, если его продолжительность больше 0 секунд, при отсутствии разговора такой ошибки возникнуть не может - если длительность разговора равна 0 или его не было, стоимость разговора в данном соединении будет равна 0 для каждого абонента без дополнительных вычислений.
Для изменения настроек тарификации пользователь должен быть администратором базы данных.


Настройки бесплатного времени

Окно редактирования настроек бесплатного времени позволяет распределять бесплатное время абонентам, группа тарифных планов которых предусматривает наличие бесплатного времени в одной или нескольких тарифных зонах (см. Бесплатное время), а также настраивать автоматическое распределение бесплатного времени.
freetalksettings
Для того, чтобы вручную распределить бесплатное время, нужно нажать кнопку "Ручной запуск распределения бесплатного времени" и подтвердить запуск процедуры. После этого появится сообщение об успешном завершении процедуры распределения или сообщение об ошибке.
Также можно включить автоматическое распределение бесплатного времени по указанным числам месяца в указанное время. Изменять настройки бесплатного времени могут только пользователи, являющиеся администраторами БД.


Очистка БД

По мере накопления информации размер базы данных и занимаемое ей на жёстком диске место увеличивается, а быстродействие БД уменьшается. Чтобы избежать этого, следует очищать БД, удаляя ненужную информацию.
Информация удаляется из четырёх таблиц базы данных. Могут удаляться данные о соединениях, счета, архивные версии изменённых тарифных планов и записи из журнала изменений. Для каждой таблицы в окне настроек автоматической очистки есть по вкладке:
clean
Из таблицы соединений, по выбору пользователя, могут удаляться записи:
1. все;
2. только тарифицированные;
3. за которые хотя бы одному абоненту выписан счёт;
4. за которые выписан счёт двум абонентам (абоненту А и абоненту Б).
Если включен параметр "Удалять записи в зависимости от времени соединения", будут удалены записи только о тех соединениях, с момента которых прошло количество дней, большее указанного пользователем.
Счета могут быть удалены:
1. все;
2. только аннулированные;
3. все, кроме неоплаченных (оплаченные и аннулированные).
Если включен параметр "Удалять счета в зависимости от времени выставления", будут удалены записи только те счета, с момента выставления которых прошло количество дней, большее указанного пользователем.
Архивные версии тарифных планов могут удаляться:
1. с момента изменения которых (с момента начала действия тарифного плана с уже внесёнными изменениями) прошло количество дней, большее, чем указанное пользователем;
2. все.
Записи из журнала изменений удаляются только по прошествии с момента изменения количества дней, большего, чем указанное пользователем. Указанное пользователем количество дней не может быть меньше 7.
Очистка БД может происходить в двух режимах: ручном и автоматическом. В ручном режиме записи по выбранным параметрам из соответствующей таблицы удаляются, когда пользователь нажмёт кнопку "Очистить вручную". В автоматическом режиме база данных сама удаляет из таблиц записи, соответствующие выбранным параметрам, в указанное время. Время очистки базы, так же как и параметры удаления записей, можно настроить для каждой таблицы отдельно.
Параметр "Автоматическая очистка" для каждой таблицы включает автоматическую очистку. Если этот параметр для какой-либо из четырёх таблиц выключен, автоматическая очистка этой таблицы производится не будет. Группа настроек, озаглавленная "Запускать процедуру очистки" позволяет настроить время запуска автоматической очистки для каждой таблицы. "Время запуска" означает время суток, в которое будет запускаться процедура, по выбранным дням. Целесообразно выставить такое время, когда нагрузка на аппаратуру и базу данных будет минимальной, например, ночью. Запуск процедуры можно настроить по определённым дням недели или по определённым числам месяца.
Изменять параметры автоматической очистки БД и удалять записи из журнала изменений могут только администраторы. Для ручной очистки соединений, счетов и тарифных планов необходимо иметь разрешения на изменение данных в соответствующем режиме.


Настройка пени

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


Выполнение скриптов

При совершенствовании системы или устранении обнаруженных ошибок может потребоваться изменение структуры базы данных. Это действие можно выполнить путём выполнения скриптов, представляющих собой набор инструкций на языке SQL. При необходимости изменения структуры БД специалистами фирмы-разработчика будет написан соответствующий скритп. Затем данный скрипт будет сохранён в SQL-файле, представляющем собой обычный текстовый файл, имеющий расширение "sql" и содержащий набор инструкций на языке SQL. Файл со скриптом будет выслан пользователям системы по электронной почте или передан другим способом. Для внесения изменений в БД необходимо выбрать в главном меню пункт "Настройки / Выполнение скриптов". Откроется окно скрипта:
script
Окно содержит поле текстового ввода и панель инструментов с двумя кнопками. В поле текстового ввода можно вручную набирать инструкции SQL для изменения структуры или данных БД. Каждая инструкция SQL, в том числе последняя, при выполнении её из программы должна обязательно оканчиваться точкой с запятой.
На панели инструментов есть две кнопки:
"Выполнить скрипт" - эта кнопка запускает набор инструкций, набранных в поле текстового ввода, на исполнение. В случае, если инструкции правильные, они будут выполнены. В противном случае пользователь получит сообщение об ошибке.
"Загрузить скрипт из файла" - эта кнопка предназначена для загрузки скрипта из SQL-файлов (или других текстовых файлов). При нажатии на кнопку появляется диалог открытия файла. После выбора и открытия файла содержащийся в нём тест будет занесён в поле текстового ввода.
Для того, чтобы выполнить скрипт, пользователь должен иметь разрешение на изменение объектов базы данных, которые изменяет данный скрипт. Изменять многие объекты БД могут только администраторы.
Расположенная в нижней части окна скрипта кнопка позволяет закрыть окно и продолжить работу с программой.


Производительность и обслуживание

Производительность системы сильно зависит от аппаратного обеспечения, объёма информации, содержащейся в базе данных, а также вида соединений.
Выбор аппаратного обеспечения зависит от интенсивности предполагаемой нагрузки. Если предполагается обрабатывать до нескольких десятков соединений в сутки, может использоваться компьютер, подходящий под минимальные требования для выбранной операционной системы. В случае большей нагрузки, рекомендуется использование более совершенного аппаратного обеспечения. При тестировании программы были получены следующие данные: тарификация 2 млн соединений, содержащих около 85% соединений с междугородными и международными разговорами, занимает в среднем 3 часа. Тестирование производилось на компьютере со следующими характеристиками:
процесоор: Intel Pentium4 2400C, включена технология Hyper Threading;
оперативная память - PC3200 (DDR400), 1 Gb, работает в двухканальном режиме (512 MB х2);
жесткий диск - SATA Seagate 70 Gb, 7200 rpm, кэш 8MB;
операционная система - MS Windows XP Service Pack 2.
Городские АТС рассчитаны на меньший объём соединений в сутки, причём большая часть из них - внутренние или местные, не требующие нахождения параметров города по коду. Определение города по коду в набранном номере может занимать до 97% времени тарификации соединений. Таким образом, указанные параметры компьютера, на который установлена система, обеспечивают необходимую производительность для тарификации всех соединений, которые может совершить станция TS-004. АЦК-16, АЦК-32 и АЦК-256 рассчитаны на меньшее количество соединений.
Даже в том случае, если быстродействия компьютера хватает для выполнения всех необходимых операций, рекомендуется использование RAID-массивов вместо одного жёсткого диска. Использование RAID-массивов в случае выхода из строя одного из дисков массива, позволяет восстановить информацию с остальных. Это существенно повышает надёжность всей системы. Использование RAID-массивов, начиная с пятого уровня (RAID-5) со SCSI - контроллерами повышает также быстродействие системы. Также, для дополнительной защиты данных от потери, рекомендуется периодически (чем чаще, тем лучше) выполнять резервное копирование данных с жёсткого диска (или RAID-массива) путём записи файлов базы данных ("ts_Billing.db" и "ts_Billing.log") на сменные носители (CD-RW, USB-Flash, ZIP и др).
Ещё один сильно влияющий на производительность БД фактор - количество информации, содержащейся в базе данных. Миллион соединений, записанный в базу данных вместе с ещё шестью миллионами соединений, будет тарифицироваться значительно медленнее, чем тот же миллион соединений, но записанный в базу данных, где информации о других соединениях нет. Поэтому необходимо периодически очищать базу данных, удаляя из неё ненужную информацию (см. Очистка БД).


Информация по версиям программы
Previous Top

1.0.0.1 - первая версия, предназначенная для коммерческого распространения в составе комплекса "Unit Bill".

1.0.0.2 - добавлена возможность выписки счёта с детализацией только по оплачиваемым соединениям.

1.0.0.3 - добавлена возможность изменения сортировки данных в таблицах по любому столбцу, по выбору пользователя.

1.0.0.4 - изменены режимы работы с абонентами и группами абонентов: свойства "тип абонента" и "отсутствие тарификации" переведены из режима абонентов в режим групп абонентов.
Исправлена ошибка обновления значения свойства, управляющего обработкой ошибочных значений кодов городов.

1.0.0.5sb - устранены некоторые мелкие недостатки. Незначительно изменён вывод данных в режиме соединений.

1.1.0.0pr - добавлена возможность изменения видимости и порядка выводимых полей в режиме просмотра соединений.

1.1.0.0 - изменена работа с тарифными планами, введено понятие "группа тарифных планов". Добавлена возможность включения бесплатного времени в тарифные планы абонентов.

1.1.0.1 - устранены ошибки при изменении видимости и порядка полей в режиме соединений

1.2.0.0 - программа изменена для совместимости с ПО управления и конфигурирования АЦК-256. Данные номерных свойств абонентов, начиная с данной версии, будут храниться, в зависимости от типа установки, в нескольких таблицах, расположенных в другой БД, или в одной таблице, расположенной в этой же БД.
Исправлена ошибка вывода действующих / всех версий тарифных планов.

1.2.0.1 - Исправлена ошибка в работе с данными ПО управления и конфигурирования АЦК-256. БД сделана единой для работы с оборудованием АЦК-16, АЦК-32, АЦК-256 и TS-004. В программу внесены соответствующие изменения.

1.2.0.2 - Добавлена возможность сортировки выводимых записей в режиме соединений по убыванию или по возрастанию. Переделан механизм сохранения данных фильтра соединений в реестр операционной системы.

1.2.0.3 - Исправлена ошибка, не позволявшая вводить тарифы с точностью до 4 знаков после запятой.

1.2.0.4 - Добавлено указание города, в который звонил абонент, в детализированные счета.