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

Автор: Зенуков Богдан Вадимович, Царьков Виталий Викторович

Журнал: Спецтехника и связь @st-s

Статья в выпуске: 3, 2013 года.

Бесплатный доступ

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

Файлы тарификации, автоматизированная обработка, биллинговая система, цифровая упатс "миником dx-500c", операционная система

Короткий адрес: https://sciup.org/14967162

IDR: 14967162

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

О сновным методом обработки файлов тарификации цифровой УПАТС «МиниКом DX-500C» на ПЭВМ РМО под управлением операционной системы (ОС) Open_ DOS является метод поочередного просмотра/копирова-ния/удаления файла тарификации с помощью встроенного менеджера файлов «Alt+F» терминальной программы контроля и управления (ТП) [2, 7]. Это связано с тем, что встроенный тарификатор DX-500С «F-5» может отображать информацию только за текущие сутки 12-часового сеанса, и не способен сортировать и проводить выборку необходимой информации [3, 6].

Зато – это позволяют делать программы-тарификаторы, версии которых предназначены для коммерческих нужд IT-рынка. Сегодня их огромное множество, перечислим лишь самые популярные среди технических администраторов АТС: Phonekeeper3.0, Billing PhoneKeeper System, Phone Xpress, WinTariff, PhoneTax2.0, ATS_Tarifficator. Все они написаны и адаптированы под самые распространенные АТС таких производителей, как Siemens, Awaya, Panasonic, LG, Multicom, Samsung, Ericsson, Nec, Alcatel, Macrotel и Mercator, и стоят недешево. С DX-500С вышеприведенные тарификаторы плохо интегрируются и могут работать на ПЭВМ РМО и ПЭВМ ТОТС с ОС не ниже 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.

Итак, начнем:

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

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

    А

    В

    С

    п

    Е

    F

    G

    н

    1

    J

    К

    1

    Учетный № записи об абоненте

    Адрес прописки учетного № записи (№№ кластера и порта)

    исходящего абонента своей АТС, который кому-то звонит

    *

    входящего абонента своей АТС, которому кто-то звонит

    № абонента, которому звонит абонент одной подсети

    Адрес регистрации звонка (№№ кластера и порта)

    В

    Дата звонка

    Е

    Время звонка

    -

    Длительность разговора

    Е

    Прочитано ПОГ-файлов

    2

    0

    3

    4

    5

    6

    7

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

    8

    Рис. 1


    Рис. 2


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

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

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

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

Private Sub CommandButton1_Click()

On Error Resume Next dlgAnswer = Application. Dialogs(xlDialogOpen).Show Начало

End Sub

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

Sub Начало()

Dim m As String, a As Variant

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

ЛОГ-файлов")

Cells(2, 10) = Counter

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

Counter

Exit Sub

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

Do

Do While Not EOF(1)

Line Input #1, TextLine

With Worksheets("Лист1")

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

.ColorIndex = 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

With Selection.Borders(xlInsideVertical)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlInsideHorizontal)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

End Sub

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

'Если каталог содержит имена файлов, то возвращает строку: _ число файлов и имена этих файлов, разделенных символом-разделителем, _ иначе – пустую строку "".

Const Разделитель = "| "

Dim MyName As String, i As Integer

Exit Function

End If

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

Do While MyName <> "" ' Начало цикла_____________

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

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

<> vbDirectory Then

End If '

End If

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

Loop

End Function

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

ТОТС готова ( рис. 3 )

Рис. 2

Выводы

  • 1    Реализован метод автоматизированной обработки текстовых файлов тарификации на РМО под ОС Open_DOS УПАТС DX-500C с помощью VBA-инструментария, встроенного в пакет MS-Office ПЭВМ ТОТС.

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

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

  • ЕКВМ.665110.9-009РЭ-УД. Руководство по эксплуатации. Часть 1. -М., 2011. -С. 6, 7.
  • ЕКВМ.665110.9-009РП-УД. Руководство пользователя. -М., 2011. -С. 35, 38, 39.
  • ЕКВМ.665110.9-009РЭ1-УД. Руководство по эксплуатации. Часть 2 -М., 2011. -С. 129 -134.
  • Джон Уокенбах. Microsoft Excel 2010. Профессиональное программирование на VBA -М., 2011. -С. 771 -813.
  • Форум связистов на РАПС. http://raps.edu.ru/forum/index.php
  • ЕКВМ.665110.9-009РЭ1-ЛУ. Руководство по эксплуатации. Часть 2. -М., 2013. -С. 118.
  • ЕКВМ.468313.015РЭ, руководство по эксплуатации, часть 2. -М., 2013. -С. 30.
Статья научная