Некорректное распознавание трек-номера

Сообщения о найденный в программе ошибках

Moderator: Moderators

Инженегр
Posts: 43
Joined: Mon Dec 03, 2012 9:04 pm

Некорректное распознавание трек-номера

Post by Инженегр »

Пришла посылка. На ней два трека: A0001413******** и RA*********RU. При добавлении в программу нового трек-номера вбил их в строку через ";" (вбивал в той последовательности, в которой выложил и здесь).
1) если вбивать треки через ";" и при этом не использовать пробелы, то предложил только сервис "rus", а после продолжения вывалилось окно "Некорректный трек-номер. Ошибка подсчёта контрольной суммы".
2) если повторить действия, описанные в п.1, но через ";" с пробелами, то программа предлагает сервисы "rus" и "ru_tkenergy", но в итоге опять же вываливается всё то же окно.
3) если вбить только первый трек-номер, то предлагается сервис "flexpr" и достигается успех.

Резюме:
1. необходимо доработать распознавание нескольких треков, чтобы одинаково обрабатывались ";", "_;_", а так же другие возможные комбинации как то "_;" и ";_" (для краткости в кавычках знак пробела был заменён на нижнее подчёркивание)
2. проверить правильность распознавания треков при перечислении их через ";"

P.S. посылка пришла из Малазии
Flanker
Posts: 455
Joined: Thu Dec 20, 2012 4:54 pm
Has thanked: 64 times
Been thanked: 37 times

Re: Некорректное распознавание трек-номера

Post by Flanker »

Офигеть, даже не знал что можно добавить несколько треков сразу. Попробовал — реально работает! :)
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: Некорректное распознавание трек-номера

Post by MetalFan »

думаю, что и так сойдет... вбивание треков через ";" - это побочная фишка.
под это заточен только алгоритм проверки, ни распознавание сервисов ни чего другое работать корреткно не будет, да и не надо, имхо
wbw, MetalFan
Инженегр
Posts: 43
Joined: Mon Dec 03, 2012 9:04 pm

Re: Некорректное распознавание трек-номера

Post by Инженегр »

В моём видении разное восприятие программой разделения трек-номеров является некой нестабильностью программы. При различном разделении трек-номеров программа выдаёт различные результаты, да ещё и при применении любой комбинации разделения программа вываливает окно ошибки контрольной суммы. Да, программа работает, но для получения нужного результата приходится путём проб и ошибок искать нужную комбинацию и последовательность действий. Впрочем, хозяин - барин. Я лишь указал на обнаруженный камень, об который споткнулся.
Относительно второй строчки что-то не разобрался в том, какую мысль хотели до меня донести. Могли бы Вы её перефразировать?
Flanker
Posts: 455
Joined: Thu Dec 20, 2012 4:54 pm
Has thanked: 64 times
Been thanked: 37 times

Re: Некорректное распознавание трек-номера

Post by Flanker »

На сколько я понял, функционала добавления двух треков в один через разделитель официально вообще нет. Он работает, так сказать, случайно. Отсюда ошибка проверки контрольной суммы, так как наверняка проверяет строку, а не разбивает её. И сервисы поэтому определяет неправильно.
Относительно второй строки имелось ввиду тоже самое — данный функционал не подразумевался в принципе, он работает частично случайно )
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: Некорректное распознавание трек-номера

Post by MetalFan »

Flanker wrote:он работает частично случайно
ну конечно, пара десяток строк кода в программу сами добавились)))
конечно же поддержка н-ких треков через разделитель была добавлена специально, но только в одном месте - в момент старта опроса сервисов трека.
в будущем можно сделать более правильно - дать пользователю вводить н-ко треков к посылке и давать выбирать для них свои наборы сервисов... а события складывать в одну кучу...
wbw, MetalFan
Инженегр
Posts: 43
Joined: Mon Dec 03, 2012 9:04 pm

Re: Некорректное распознавание трек-номера

Post by Инженегр »

а вот теперь стало интересно. по какому алгоритму работает программа сейчас? ввели трек-номера через знак-разделитель, каким-либо образом выбрали правильные системы для отслеживания. а дальше... я так понимаю, что при проверке новых событий происходит четыре итерации проверки (пример для моего случая):
1) проверка сервисом "rus" трек-номера A0001413********;
2) проверка сервисом "rus" трек-номера RA*********RU;
3) проверка сервисом "flexpr" трек-номера A0001413********;
4) проверка сервисом "flexpr" трек-номера RA*********RU.
Получается, что итерации 1 и 4, проводимые программой, являются безуспешными. Правильно ли я понял как нынче работает программа?
MetalFan wrote:дать пользователю вводить н-ко треков к посылке и давать выбирать для них свои наборы сервисов...
добавить отдельную ячейку для ввода второго трек-номера? вполне вариант. за одно решится вопрос со знаком-разделителем трек-номеров )
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: Некорректное распознавание трек-номера

Post by MetalFan »

Инженегр wrote:Правильно ли я понял как нынче работает программа?
Абсолютно правильно. К сожалению пока это реализовано так.
Инженегр wrote:добавить отдельную ячейку для ввода второго трек-номера?
нет, надо как-то более красиво сделать...
wbw, MetalFan
Инженегр
Posts: 43
Joined: Mon Dec 03, 2012 9:04 pm

Re: Некорректное распознавание трек-номера

Post by Инженегр »

MetalFan wrote:нет, надо как-то более красиво сделать...
ну тогда классический современный вариант: ячейка для ввода трек-номера, а справа (или слева) кнопка, допустим, в виде плюса, при нажатии на которую появляется доп.строка для второго (третьего???) трек-номера.
User avatar
MetalFan
Administator
Posts: 9143
Joined: Fri Sep 14, 2012 9:50 am
Location: Moscow
Has thanked: 348 times
Been thanked: 943 times

Re: Некорректное распознавание трек-номера

Post by MetalFan »

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