Свой\чужой: обучаем сервис извлечения штрих-кодов. 

Константин Широбоков
Дата создания: 8 октября 2010 в 10:31

7 дней назад:

…Стоя в достаточно уютной для банка кабинке кассы, вручаю оператору бумажки с непривлекательной (для меня) суммой дорожного налога и довольно интересным (для меня, опять же) двумерным штрих - кодом. Отсчитывая последние десятки рабочих минут на часах, девушка подносит сие графическое творение к сканеру штрих – кодов и … тишина, нарушаемая лишь моей вырвавшейся улыбкой. Пара минут клацанья ее симпатичными ноготками по клавиатуре все же привели к расставанию меня и N-ой суммы денег, но запомнилось мне не это…

Сегодня:

            Вспомнив эту ситуацию я подумал…нет, не о ее ноготках, а о том самом “промахе” в работе автоматической идентификации документов посредством штрих-кода. В данном случае было потеряно чуть менее двух человекоминут. Во что же выльется ошибка идентификации документов, вернувшихся в компанию, если на них не удается прочесть данные штрих-кода?

По сему, эта статья призвана осветить основные причины ошибок распознавания картинки штрих-кода с документов и способы их устранения.

Как все начинается:

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

Исходное положение:

На документ нанесен “стандартный” штрих-код DIRECTUM. Документ пропускается через сканер (рассматриваем данный способ получения графической копии, поскольку захват с факса или с e-mail начинается с этого же самого этапа). Скан-образ обрабатывается сервисом извлечения штрих – кодов (далее BR).

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

Ситуация два: Обработка скана BR`ом влечет к возникновению ошибок, извлечение штрих-кода не происходит.

Возможные причины зафиксируются в этом случае в представлении журнала событий ОС DCTSEventLog (Пуск\выполнить\ eventvwr.msc \DCTSEventLog).

 

  1. Ошибка с содержанием текста:

  

Возможные причины и способы устранения ошибки следующие:

 

Причина

Решение

1

Недостаточное качество изображения штрих-кода на скан-образе.

Увеличить параметры сканирования до рекомендуемых: 300 dpiи 8 градаций серого.

Примечание: Могут использоваться и прочие, если сканер формирует изображения с достаточным качеством.

2.

Некорректные значения параметров настройки BR.

В конфигурационном файле службы преобразования DCTSTransformationService.exe.config задать следующие настройки:

BarcodeColor="GrayScale8Bits"

BarcodeMaxResolution="300"

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

3.

Нанесен неподдерживаемый тип штрих-кода или некорректный штрих-код.

BR обрабатывает следующие типы штрих – кодов:

  •Code11;
  •Code39;
  •Code93;
  •Code128;
  •Codabar;
  •Inter2of5;
  •EAN13;
  •EAN8;
  •UPCA;
  •UPCE;
  •Add2;
  •Add5.
 

В DIRECTUMи его бизнес- решениях чаще всего используется тип CODE128. Некорректный штрих-код может быть получен при использовании в нем символов кириллицы (CODE128 не поддерживает кириллицу).

Примечание: Штрих-кодCODE128 с кириллицей сформируется, но ничем не распознается.

4.

Недостаточный размер изображения штрих-кода.

Размер штрих-кода может быть увеличен. При этом вероятность успешного распознавания значительно возрастает и при меньшем разрешении сканирования.

 

2.  Ошибка с содержанием текста:

 

Connector:Connection time out. HRESULT=0x800A1527 - Client:An unanticipated error occurred during the processing of this request. HRESULT=0x800A1527 - Client:Sending the Soap message failed or no recognizable response was received HRESULT=0x800A1527 - Client:Unspecified client error. HRESULT=0x800A1527.

 

 

Причина

Решение

1

Недостаточный таймаут на выполнение операции.

Увеличить значение константы DCTSExecutionTimeout.

Примечание:Значение задается в миллисекундах. Т.о. следует указать 30000-60000.

 

3. Ошибка с содержанием текста:

 

 

 

 

Причина

Решение

1

Отсутствие на сервере с установленной службой преобразования MSSОAP.

Установить на машине со службой преобразования MSSOAP: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=C943C0DD-CEEC-4088-9753-86F052EC8450&displaylang=en

 

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

понравилась 3 пользователям

Комментарии (2)
Комментарии доступны только для зарегистрированных пользователей.




Теги
4.7 4.8 awards isbl is-builder sql server бизнес-решение введение в is-builder видео дайджест документ интеграция клик настройка отчет разработка сообщество справочник сценарий функция
показать все теги