вторник, 29 декабря 2009 г.

Добавлены архивные тарифы оператора МТС

Добавлена группа архивных тарифов Red.
Расчет звонков на абонентов тарифного плана Red в данный момент не реализован.

Мелкие улучшения интерфейса

Улучшено поведение интерфейса в некоторых частях программы.

пятница, 25 декабря 2009 г.

Оптимизация вычислений

Уменьшено время вычислений на 20%.
Так же улучшен разбор детализаций от велком в pdf формате.

среда, 23 декабря 2009 г.

Исправлен расчёт тарифа "Крестики-Нолики"

Исправлена стоимость смс.

Изменен расчет общей стоимости по тарифу

Стоимость исключенных услуг не учитывается при сравнении тарифных планов.

понедельник, 21 декабря 2009 г.

Отслеживание состояния аккумулятора.

Добавлены две колонки для наглядного представления состояния аккумуляторов.
Первая колонка "До" показывает состояние активного аккумулятора на начало соединения, вторая колонка "После" - состояние активного аккумулятора после соединения.
Если в детализации для велком аккумулятор слишком рано заканчивается, то это скорее всего означает, что в тарифном плане учет аккумулятора посекундный, в то время как в детализации первая минута округляется до минуты. Аналогичное поведение наблюдается и для GPRS. На сайте велком есть упоминание об особенностях учета аккумуляторов для старых тарифных планов.

Чтение детализации Велком в pdf формате

Добавлено считывание тарифного плана, номера абонента и абонплаты.

четверг, 17 декабря 2009 г.

Уточнения тарифов Велком

Тарифу Велком "На связи" добавлена абонентская плата.
Тарифу Велком "BUSINESS.PRO" изменена тарификация предоплаченного трафика на посекундную. Из-за того, что в детализации предоплаченный трафик указан с посекундной после минуты тарификацией, проверка тарифа может не пройти, если был израсходован весь предоплаченный трафик.

Чтение детализации Велком в pdf формате

Реализовано чтение детализации велком в pdf формате.
Тарифный план, номер абонента и абонплата в данный момент не считываются.
Используемая библиотека для чтения текста из pdf файла не может работать в безопастном режиме - вызывает срабатывание защиты. Придется пользоваться удобным режимом.
Дистрибутив вырос в размере на 1,1 МБ до 3,8 МБ. Радует только то, что этот объем загружается однократно. При последующих запусках загружается только небольшие порции обновлений. Абонентам МТС есть одно утешение - в будущем планируется реализовать чтение детализаций МТС в pdf формате, так что им эта библиотека все равно может пригодиться.

среда, 16 декабря 2009 г.

Уточнен алгоритм учета последней "бесплатной" минуты

Уточнен алгоритм расчета оплаты трафика при наличии аккумулятора льготного трафика.
Уточнение касается следующего и анологичных случаев:
  1. поминутная тарификация;
  2. разговор, например, совершен длительностью 15 секунд;
  3. в наличии есть 20 секунд льготного трафика

В описанном случае стоимость тарифицированной минуты будет состоять из стоимости 20 секунд льготного трафика и 40 секунд обычного трафика (ранее доля льготного трафика была бы равна 15 секундам).

Следует заметить, что описанный случай достаточно редко случается, но алгоритм расчета полностью согласуется с данными из детализаций МТС.

Исправлен расчет абонплаты любимых номеров

Исправлена ошибка в расчете абонплаты.
Абонплата для платных любимых номеров расчитывалась не корректно при определенных условиях.
Исправление повлияло на результат подбора любимых номеров.

среда, 9 декабря 2009 г.

Корпоративные тарифы

Добавлены корпоративные тарифы:



  • МТС: Корпорация 4-9/10-39/40-99/свыше 100 телефонов;

  • Велком: Корпоративный 5/15/30/50/200.

Звонки внутри закрытой группы в данный момент не рассчитываются.

Добавлены "новогодние" тарифы

Добавлен новогодний тариф Велком "Салют минут".

Этот тариф разбит на два: "Салют минут" и "Салют минут (начало)"

Также добавлено новогоднее предложение от Life.

Просмотр исходного документа

Добавлена команда "Смотреть исходный документ".

Эта команда пытается с помощью рабочего стола операционной системы открыть в интернет браузере текущий документ.

Адресная книга

Реализовано сохранение адресной книги в режиме шифрования номеров абонентов.

Команда восстановления внешнего вида

Добавлена команда восстановления внешнего вида.
Приведены в порядок настройки ширины и порядка колонок по умолчанию. Эти настройки устанавливаются при первой загрузке и действуют до тех пор, пока пользователь их не изменил.
Для приведения в порядок внешнего вида интерфейса всем пользователям при очередном запуске будет однократно выполнена команда восстановления внешнего вида.
Настройки, не относящиеся к внешнему виду оставлены без изменений.

Добавление любимых номеров

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

Улучшено чтение детализации МТС

Добавлено распознование WAP услуг, считывание абонплаты из детализации.

Смена любимого номера разбивает детализацию на части, что позволяет корректно проверить детализацию.

вторник, 1 декабря 2009 г.

Начало зимы

Поздравляю всех пользователей с началом зимы!

Надеюсь, осень принесла всем много приятных моментов.

Улучшения интерфейса

Произведено косметическое улучшение интерфейса, добавлены информационные сообщения, введена защита от сбоев с информированием пользователя о непредвиденных ситуациях.
В частности, перед переходом по внешней ссылке предварительно информируется пользователь об адресе перехода и запрашивается его согласие.
Добавлены команды:

  • рассчитать тарифы;
  • определить любимые номера;
  • открыть расчёты

Добавлены опции:

  • поддержка фантомных номеров;
  • фиксированные любимые номера;
  • только предпочитаемые любимые номера.

Колонки в таблицах

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

Выгодность любимого номера

В список любимых номеров добавлена колонка "Выгодность".

Ориентируясь на выгодность каждого любимого номера теперь очень просто подобрать оптимальный набор, убрать невыгодные номера.

Список любимых номеров для каждой части детализации выбранного тарифа можно посмотреть в окошке "Информация о частях детализации" на закладке "Любимые".

Исправлено сохранение адресной книги

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

Предпочитаемые любимые номера и фантомные номера

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

Подбор любимых номеров

Реализован полноценный алгоритм подбора любимых номеров. Используемый алгоритм подбирает набор учитывая стоимость дополнительных платных номеров.

Следует заметить, что используемый алгоритм для достижения максимально точного результата производит большое количество вычислений и его выполнение может занять продолжительное время. Вот основные шаги алгоритма:

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

Не трудно заметить, что вычислительные затраты напрямую зависят от количества претендентов на звание любимого номера. Для того чтобы контролировать количество и качественный состав претендентов введено понятие "Предпочитаемые любимые номера". При включенной опции "Только предпочитаемые любимые номера" алгоритм расчёта берёт список претендентов из списка предпочитаемых любимых номеров, что позволяет значительно снизить вычислительные затраты и предоставить результат удовлетворяющий качественным составом.

При использовании опции "Фиксированные любимые номера" список любимых номеров комплектуется их набора предпочитаемых любимых номеров. При этом не производится расчётов стоимости. Этот способ предназначен для ручного определения набора любимых номеров.

Загрузка результатов расчёта

Реализована операция загрузки результатов расчёта.
Теперь можно хранить результаты расчётов и при необходимости загрузить и просмотреть.

вторник, 24 ноября 2009 г.

Эвристическое определение любимых номеров при открытии детализации.

Реализовано эвристическое определение любимых номеров по следующему алгоритму:
  1. производится пробный расчёт детализации;
  2. все номера с завышенной стоимостью становятся кандидатами для добавления в список любимых номеров.

Далее, из кандидатов в порядке убывания завышенной стоимости выбираются любимы номера по следующим критериям:

  1. принадлежат текущему оператору сотовой связи;
  2. услуга предоставлена не в роуминге;
  3. номер не является "коротким".

понедельник, 23 ноября 2009 г.

Новая колонка в результатах расчёта.

Добавлена колонка "%" - разница в процентах стоимости расчитанного тарифа по отношению к текущему тарифу.

Исправлен расчёт тарифа "Близкий. Для пенсионеров" и архивной группы "Профи" оператора МТС

Исправлена ошибка в логике программы, затронувшая расчёт следующих тарифов оператора сотовой связи МТС Беларусь:
  • Близкий. Для пенсионеров
  • Профи 20
  • Профи 60
  • Профи 120
Теперь эти тарифы стали ещё более выгодными.

Выбор языка интерфейса.

Реализован механизм выбора языка интерфейса.
Выбор осуществляется в меню "Файл > Язык интерфейса".
В данный момент достепен только русский язык интерфейса.

пятница, 20 ноября 2009 г.

Русский текст интерфейса для всех регионов.

Теперь программа всегда отображается с русским текстом интерфейса вне зависимости от установок региональных стандартов операционной системы.

Архивный тариф МТС "Вместе"

Добавлен архивный тариф "Вместе" оператора сотовой связи МТС Беларусь.
Следует принимать во внимание, что при рассчетах не учитывается льгота для звонков внутри сети на абонентов с таким же тарифным планом (стоимость такая же, как и внутри группы "Свой круг").
Группа "Свой круг" реализована через механизм "Любимые номера".

Определение любимых номеров

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

среда, 18 ноября 2009 г.

Чтение детализации МТС

Доработан разбор детализаций оператора МТС Беларусь.
После чтения детализации происходит корректировка датализации:
  • удаляются услуги за первое число следующего месяца (если первого числа заказать бесплатную детализацию за текущий период, то оператор присылает датализацию за весь предыдущий месяц и, вдобавок, за текущий день);
  • дополняется период детализации до месяца, если осталось менее трёх дней;
  • в некоторых случаях период детализации увеличивается, чтобы включать в себя весь день с последней оказанной услугой.

вторник, 17 ноября 2009 г.

Роуминговые тарифы

Добавлены роуминговые тарифы для МТС Беларусь:
  • Зона Африка
  • Зона Америка
  • Зона Азия, Австралия и Океания
  • Зона Европа 1
  • Зона Европа 2
  • Зона Льготный роуминг
  • Зона СНГ

Добавлены роуминговые тарифы для Велком Беларусь:

  • Египед MobiNil
  • Египед Vodafone
  • Россия Megafon
  • Россия МТС

Поддержка роуминговых услуг.

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

четверг, 5 ноября 2009 г.

Обновлены тарифы

Добавлен тариф МТС "Все свои", "Разговорный (начало)".
Добавлены некоторые короткие номера для МТС, Велком.

Поддержка MMS

Добавлено распознование MMS услуг в детализации ВЕЛКОМ.
Нужен пример детализации МТС с MMS услугами.

Теперь, если при открытии встретятся услуги неизвестного типа, то при рассчётах программа их перемещает в список исключённых услуг (раньше просто возникала ошибка открытия детализации). Впоследствии будет реализовано редактирование таких услуг.

среда, 14 октября 2009 г.

Изменения формата настроек

Из-за существенного изменения формата настроек программы с настоящего момента программа старые настройки потеряла. И приобрела некоторые новые.

Приношу всем извинения за небольшое неудобство.

Формат адресной книги остался без изменений, но её теперь необходимо вручную загрузить. Ранее, адресная книга сохранялась в корневой папке диска, на которой находится "домашняя" папка пользователя. Не трудно заметить, что это достаточно туманное определение места хранения книги. Поэтому и было принято решение явно выбирать место хранения. Тем, кто пользовался адресной книгой ранее, придется в меню "Файл" выбрать подпункт "Адресная книга", а в нем "Загрузить" и найти в одной из корневых папок Ваших дисков файл с именем "PhoneBillCheckerAddressbook.xml".

Для отражения изменений в программе обновлен официальный сайт программы http://phone-billing-checker.appspot.com/

Работа с адресной книгой.

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

Изменить место хранения адресной книги можно сохранив её в новом месте.

Работа в безопасном режиме

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

четверг, 8 октября 2009 г.

Сохранение результата рассчёта

Добавлена команда сохранения результата расчёта в "xml" формате.
В этом файле сохраняется только сводная таблица по расчитанным тарифам, без списка оказанных услуг.

Изменения в интерфейсе и небольшое улучшение функциональности

Добавлена поддержка прокрутки таблиц колесом мышки. При нажатой клавише "Shift" прокручивается в горизонтальном направлении.

Небольшой редизайн окна "Информация о частях детализации". Теперь у каждой таблички есть свои настройки колонок.

Научил понимать платные детализации от МТС Беларусь (with special thanks to supervisor).
Так как в примере детализации не было упоминания о тарифном плане, то всегда предлагается тариф "Оптима Рациональный".
В планах на будующее есть создание эвристического подбора тарифного плана, списка любимых номеров. Так что потом его можно прикрутить к разбору этой детализации.
Было бы так же интерестно посмотреть платную детализацию за период, во время которого абонент менял тарифный план.

среда, 7 октября 2009 г.

Блог

Теперь у проекта Phone Billing Checker есть свой блог.