Научная статья на тему 'Автоматизированная обработка текстовых файлов тарификации цифровой УПАТС «МиниКом dx-500c» на рабочем месте тоТс с помощью встроенного в пакет MS-Office vba-инструментария'

Автоматизированная обработка текстовых файлов тарификации цифровой УПАТС «МиниКом dx-500c» на рабочем месте тоТс с помощью встроенного в пакет MS-Office vba-инструментария Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
887
172
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФАЙЛЫ ТАРИФИКАЦИИ / АВТОМАТИЗИРОВАННАЯ ОБРАБОТКА / БИЛЛИНГОВАЯ СИСТЕМА / ЦИФРОВАЯ УПАТС «МИНИКОМ DX-500C» / ОПЕРАЦИОННАЯ СИСТЕМА / DIGITAL PABX «MINIKOM DX-500C» / TARIFFING FILES / THE AUTOMATED PROCESSING / BILLING SYSTEM / OPERATING SYSTEM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зенуков Богдан Вадимович, Царьков Виталий Викторович

Приведен обзор основного метода обработки файлов тарификации на ПЭВМ РМО под управлением операционной системы (ОС) Open_DOS цифровой УПАТС «МиниКом DX-500C». Показано, что на сегодняшний день наиболее подходящим методом обработки файлов тарификации, является метод автоматизированной обработки. Сделан вывод о том, что ближайшая тенденция развития такого метода, будет реализована в сертифицированной биллинговой системе DX-500C под управлением ОС Windows.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The review of the main method of processing of files of tariffing is given in PC WPO, under control of the Open_DOS operating system (OS), by digital PABX «Minikom DX-500C». It is shown that today the most suitable method of processing of files of tariffing, the method of the automated processing is. The conclusion that the closest tendency of development of such method, will be realized in the certified billing DX-500C system under control of Windows OS is drawn.

Текст научной работы на тему «Автоматизированная обработка текстовых файлов тарификации цифровой УПАТС «МиниКом dx-500c» на рабочем месте тоТс с помощью встроенного в пакет MS-Office vba-инструментария»

ЗЕНУКОВ1 Богдан Вадимович ЦАРЬКОВ2 Виталий Викторович

АВТОМАТИЗИРОВАННАЯ ОБРАБОТКА ТЕКСТОВЫХ ФАЙЛОВ ТАРИФИКАЦИИ ЦИФРОВОЙ УПАТС «МИНИКОМ DX-500C» НА РАБОЧЕМ МЕСТЕ ТОТС С ПОМОЩЬЮ ВСТРОЕННОГО В ПАКЕТ MS-OFFICE VBA-ИНСТРУМЕНТАРИЯ

Приведен обзор основного метода обработки файлов тарификации на ПЭВМ РМО под управлением, операционной системы. (ОС) Open_DOS цифровой УПАТС «МиниКом. DX-500C». Показано, что на сегодняшний день наиболее подходящим методом, обработки файлов тарификации, является метод автоматизированной обработки.

Сделан вывод о том, что ближайшая тенденция развития такого метода, будет реализована в сертифицированной бил-линговой системе DX-500C под управлением. ОС Windows.

Ключевые слова: файлы, тарификации, автоматизированная обработка, биллинговая система, цифровая УПАТС «Мини-Ком. DX-500C», операционная система.

The review of the main method, of processing of files of tariffing is given in PC WPO, under control of the Open_DOS operating system. (OS), by digital PABX «Minikom DX-500C». It is shown that today the most suitable method, of processing of files of tariffing, the method, of the automated, processing is. The conclusion, that the closest tendency of development of such method, will be realized, in the certified, billing DX-500C system, under control of Windows OS is drawn.

Keywords: tariffing files, the automated, processing, billing system,, digital PABX «Minikom DX-500C», operating system..

Термины и определения сновным методом обработки файлов тарификации

^^цифровой УПАТС «МиниКом DX-500C» на ПЭВМ

УПАТС (Private Automatic Branch eXchange — PABX) — учре- РМО под управлением операционной системы (ОС) Open_

жденческо-производственная. автоматическая, телефонная. DOS является метод поочередного просмотра/копирова-

станция. ния/удаления файла тарификации с помощью встроенно-

«МиниКом DX-500C» — техническое решение ЗАО ГК «ИН- го менеджера файлов «Alt + F» терминальной программы

ФОРМТЕХНИКА» реализованное в цифровой станции в контроля и управления (ТП) [2, 7]. Это связано с тем, что

виде различных составных технических средств, предназ- встроенный тарификатор DX-500C «F-5» может отображать

наченных для. работы, в «сети специальной телефонной свя- информацию только за текущие сутки 12-часового сеанса,

зи», определяемых спецификацией изделия. ЕКВМ.665110.9- и не способен сортировать и проводить выборку необходи-

009. Оно представляет, собой транзитно-оконечную АТС с мой информации [3, 6].

автономным, управлением. [1]. Зато — это позволяют делать программы-тарификаторы,

РМО — рабочее место оператора DX-500C. версии которых предназначены для коммерческих нужд

ТОТС — терминал отображения, технического состояния IT-рынка. Сегодня их огромное множество, перечислим

DX-500C. лишь самые популярные среди технических администрато-

Биллинг (billing) — специализированное программное обес- ров АТС: Phonekeeper3.0, Billing PhoneKeeper System, Phone

печение для. предприятий связи, обеспечивающее сбор ин- Xpress, WinTariff, PhoneTax2.0, ATS_Tarifficator. Все они

формации об использовании телекоммуникационных IT- написаны и адаптированы под самые распространенные

услуг, их тарификацию, выставление счетов абонентам,, АТС таких производителей, как Siemens, Awaya, Panasonic,

обработку платежей. LG, Multicom, Samsung, Ericsson, Nec, Alcatel, Macrotel и

Mercator, и стоят недешево. С DX-500С вышеприведенные

' — Центр связи Минобороны России, начальник группы;2 — Центр связи Минобороны России, инженер связи.

тарификаторы плохо интегрируются и могут работать на ПЭВМ РМО и ПЭВМ ТОТС с ОС не ниже Windows XP. Хочется отметить, что новый файл тарификации DX-500C создается каждые сутки в 00ч.00мин. в текстовом формате с именем, например, «20103_00.txt». При просмотре в нем данных по конкретному абоненту (факсу, АОНу) за период, превышающий несколько суток, требуется одновременный просмотр и обработка уже нескольких таких файлов. А описанный выше метод работы в ТП не позволяет сразу проводить такой просмотр и обработку, способствует увеличению времени сбора информации и возможности частичной ее утери из-за человеческого фактора:

♦ в ночное и утреннее время — усталость, невнимательность;

♦ в дневное — ограниченная возможность информационного и программного обеспечения ТП, что приводит к ошибочной и неполной выдаче оператором требуемой информации.

Частично достоверность результата повышается, если переносить текстовые файлы тарификации с РМО на ПЭВМ ТОТС и осуществлять на ней необходимую обработку с помощью установленного Excel из состава пакета MS_Office. Но оперативность выполнения задания при этом остается на низком уровне, так как штатными средствами Excel в этом случае

одновременно можно обрабатывать не больше двух файлов, и для анализа данных за неделю, месяц — это не подходит. Поэтому для увеличения производительности мы воспользуемся встроенным в Excel языком объектно-ориентированного программирования Visual Basic for Application (VBA) [4], и разработаем свой автоматизированный метод обработки, который будет обрабатывать все тарификационные файлы формата «20103_00» с расширением *.txt. По сути, данный метод и будет являться усеченной версией коммерческой программы-тарификатора, которая у нас работает на ПЭВМ ТОТС, обрабатывает ранее перенесенные файлы-тарификации с ПЭВМ РМО DX-500C под управлением Open_DOS и не предназначена для обработки формализованных текстовых файлов биллинга с расширением *.blg, РМО DX-500C под управлением ОС Windows. Итак, начнем:

Л В Excel активируем «Режим конструктора». Для этого заходим в «Параметры Excel» через «Кнопка Office», и включаем флаг «Показывать вкладку «Разработчик (Developer)» на ленте».

i2 Разместим на «Лист1» нижеприведенную таблицу (рис. 1) для обработки данных файлов тарификации, и кнопку «выбрать директорию», через меню «Разработчик/ Вставить/ Элементы ActiveX». В каждом столбце, кроме «Прочитано

m А g Е i_i

1— 1 Учетный № записи об абоненте а Адрес прописки учетного № записи (№№ кластера и порта) В № исходящего абонента своей АТС, который кому-то звонит а № входящего абонента своей АТС, которому кто-то звонит а № абонента, которому звонит абонент одной подсети Адрес регистрации звонка (№№ кластера и порта) а Дата звонка а Время звонка Длительность разговора В Прочитано ЛОГ-файлов

2 0

3

4

5

6

■ ■

7 Выбрать директорию ■

8

Рис. 1

А I В 1 С О Е F G H I J

1 Учетный № записи об абоненте Адрес прописки учетного № записи (№№ мат. платы и порта) № исходящего абонента своей АТС, который кому-то звонит № входящего абонента своей АТС, которому кто-то звонит № абонента чужой АТС, которому звонит абонент своей АТС, Одной подсети Адрес регистрации звонка (№№ мат. платы и порта) Дата звонка Время звонка Длительность разговора

2 ' 1 ' 2 ' 3 ' 4 ' 5 ' 6 ' 7 ' 8 ' 9

3

Рис. 2

ЛОГ-файлов», активируем фильтр сортировки через меню «Сортировка и фильтр».

13 На «Лист2» и «ЛистЗ» разместим таблицы (рис. 2) для подсчета данных тарификации:

14 Запускаем Visual Basic Editor (VBE) с помощью клавиш <Alt + F11> либо через вкладку «Разработчик»: Developer/ Code/Visual Basic.

15 В VBAProject (Книга1) правой кнопкой мыши на ярлыке листа (Лист1) открываем модуль кода (View Code). И заносим следующий VBA-код:

Private Sub CommandButton1_Click() On Error Resume Next

dlgAnswer = Application. Dialogs(xlDialogOpen).Show Начало

End Sub

16 Правой кнопкой мыши на ярлыке листа (Лист1) открываем проект программного модуля (Module) через вкладку Insert. И заносим следующий VBA-код:

Sub Начало()

Dim m As String, a As Variant

If ActiveWorkbook.Name <> "mdubase.xls" Then Exit Sub If ActiveSheet.Name <> "Лист1" Then Exit Sub 'Сформируем адрес рабочего поля m = Range("A2").CurrentRegion.Address a = Split(m, ":") a(0) = "$A$3" m = Join(a, ":") 'Почистим рабочую область и отформатируем как текстовые поля With Range(m) .ClearContents .NumberFormat = "@" .AutoFilter 'Убираем фильтр End With

ПоКолонкам 'Сольем все логи в рабочую область ФорматЗаголовка 'Отформатируем заголовки рабочего поля

'Закрепим окно, чтоб заголовки не прокручивались и _по-ставим фильтр With ActiveWindow .FreezePanes = False .Split = False End With With ActiveWindow .SplitColumn = 0 .SplitRow = 2

.FreezePanes = True End With

Selection.AutoFilter 'Ставим фильтр Range("C2").Select

End Sub Sub ПоКолонкам() ' Переписывает содержимое ЛОГ-файлов в рабочую область _

Лист1 с разбивкой по колонкам

Dim MyPath As String, TextLine As String, _ a As String, Check As String, _ Counter As Integer, i As Integer 'ChDir MyPath

Counter = 0

a = Dir("*.txt") 'Фильтруем в директории ЛОГ-файлы (с расширением txt) If a = "" Then

MyPath = CurDir

MsgBox (" В директории " & MyPath & " - нет ЛОГ-файлов")

Cells(2, 10) = Counter

'Worksheets("Лист1").Cells(2, 10) =

Counter

Exit Sub

End If

i = 3 'Рабочая область начинается с 3 строки Do

Open a For Input As #1 'Открываем файл ЛОГ 'Debug.Print a Do While Not EOF(1) Line Input #1, TextLine 'Debug.Print TextLine

With WorksheetsC^^^") Check = Mid(TextLine, 1, 6): .Cells(i, 1) = Check Check = Mid(TextLine, 7, 8): .Cells(i, 2) = Check Check = Mid(TextLine, 16, 6): .Cells(i, 3) = Check

Check = Mid(TextLine, 25, 5): .Cells(i, 4) = Check

Check = Mid(TextLine, 34, 5): .Cells(i, 5) = Check

Check = Mid(TextLine, 55, 8): .Cells(i, 6) = Check

Check = Mid(TextLine, 64, 8): .Cells(i, 7) = Check

Check = Mid(TextLine, 73, 5): .Cells(i, 8) = Check

Check = Mid(TextLine, 79): .Cells(i, 9) = Check End With

i = i + 1

Loop Close #1

Counter = Counter + 1 a = Dir 'Выбираем следующий ЛОГ-файл Worksheets("Лист1").Cells(2, 10) = Counter Loop Until a = "" End Sub Sub ФорматЗаголовка() With Rows("1:1")

.HorizontalAlignment = xlGeneral .VerticalAlignment = xlCenter .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext .MergeCells = False End With

Сетка End Sub

Sub Сетка() Range("A1:I2").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin

.Colorlndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin

.ColorIndex = xlAutomatic End With

With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

With Selection.Borders(xllnsideVertical) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With

With Selection.Borders(xllnsideHorizontal) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With End Sub

Function Директорий(MyPath As String) As String

'Если каталог содержит имена файлов, то возвращает строку: _

число файлов и имена этих файлов, разделенных символом-разделителем, _ иначе — пустую строку "". Const Разделитель = "| "

Dim MyName As String, i As Integer

If "\" <> Mid(MyPath, Len(MyPath), 1) Then MsgBox ("Неправильно задан путь к каталогу" & vbCrLf & _

"Он должен оканчиваться символом ""\......&

vbCrLf & MyPath) Exit Function End If

MyName = Dir(MyPath, vbDirectory) ' Получение первого вхождения

Do While MyName <>.....Начало цикла_

' Игнорировать текущий директорий и охватывающий каталог

If MyName <> "." And MyName <> ".." Then 'Побитовое сравнение

If (GetAttr(MyPath & MyName) And vbDirectory) <> vbDirectory Then

Debug.Print MyName ' Показать запись, если она - не имя каталога Директорий = Директорий & MyName & Разделитель i = i + 1 End If ' End If

MyName = Dir ' Получение следующего элемента Loop

If i <> 0 Then Директорий = i & Разделитель & Директорий End Function

Все, программа-тарификатор для автоматизированной обработки текстовых файлов тарификации РМО на ПЭВМ ТОТС готова (рис. 3)

Рис. 2

Выводы

Л Реализован метод автоматизированной обработки текстовых файлов тарификации на РМО под ОС 0реп_Б08 УПАТС БХ-500С с помощью УБЛ-инструментария, встроенного в пакет МЯ^йсе ПЭВМ ТОТС.

Ближайшая тенденция развития такого метода будет реализована в сертифицированной штатной биллинговой системе тарификации DX-TAXC0M-500Net (артикул ПО № 19602.4) для ПЭВМ РМО под ОС Windows-7[5]

Литература

1. ЕКВМ.665110.9-009РЭ-УД. Руководство по эксплуатации. Часть 1. - М., 2011. - С. 6, 7.

2. ЕКВМ.665110.9-009РП-УД. Руководство пользователя. -М., 2011. - С. 35, 38, 39.

3. ЕКВМ.665110.9-009РЭ1-УД. Руководство по эксплуатации. Часть 2 - М., 2011. - С. 129 - 134.

4. Джон Уокенбах. Microsoft Excel 2010. Профессиональное программирование на VBA - М., 2011. - С. 771 - 813.

5. Форум, связистов на РАПС. http://raps.edu.ru/forum/ index.php

6. ЕКВМ.665110.9-009РЭ1-ЛУ. Руководство по эксплуатации. Часть 2. - М, 2013. - С. 118.

7. ЕКВМ.468313.015РЭ, руководство по эксплуатации, часть 2. - М., 2013. - С. 30.

i Надоели баннеры? Вы всегда можете отключить рекламу.