06.04.2022

Настройка драйвера "1С:Сканеры штрихкода"

Для работы с маркированным товаром всем предприятиям торговли, как оптовым, так и розничным, потребуется сканер штрихкодов. В этой статье на примере сканера 1C Atol Impulse расскажем, как подключить устройство к типовой программе 1С.

В поставку входит:

По умолчанию сканер может считывать все необходимые в торговле форматы штриховых кодов GS1 DataMatrix, EAN-8/13/ITF-14, PDF-14, QR и инверсионные коды на пачках сигарет.

Подключение сканера в 1С

Сначала проверим работоспособность устройства. При подключении сканера к компьютеру должен прозвучать мелодичный звук, а при нажатии на "курок" –  подсветиться поле считывания.

Далее в программе 1С в разделе Администрирование – Подключаемое оборудование установить флажок Использовать подключаемое оборудование, после перейти к списку Подключаемое оборудование. Для каждого экземпляра оборудования создается новая настройка – нажмите кнопку Создать и проверьте, что все нужные поля заполнены:

Сохраняем запись нажатием на и переходим к настройке сканера (кнопка Настроить). При открытии формы видим, что основные настройки заполнены значениями по умолчанию, которые в большинстве случаев обеспечивают работу сканера. Поэтому, в подавляющем большинстве случаев можно нажать кнопку "Записать и закрыть" и сканер будет работать.

Описание параметров драйвера

Параметр Диапазон значений Описание
Порт Клавиатура
+
Доступные серийные (COM) порты
Устанавливает канал связи, по которому драйвер ожидает поступления данных. В случае Клавиатуры, драйвер будет ожидать событий клавиатуры. В случае одного из доступных COM-портов системы, он будет ожидать данных от него
HID устройство
HID клавиатурного устройства (только для Linux)
Имеет смысл, только если в качестве Порта выбрано Клавиатура
Бит данных От 1 до 8 Бит данных при передаче по COM-порту
(имеет смысл, только если в качестве Порта выбрано COM-устройство )
Стоп-бит 1-1.5-2 Стоп бит данных при передаче по COM-порту
(имеет смысл, только если в качестве Порта выбрано COM-устройство)
Скорость Диапазон значений от 110 до 256000 Скорость при передаче по COM-порту
(имеет смысл, только если в качестве Порта выбрано COM-устройство)
Префикс NONE
или
код символа от 0 до 127
Символ префикса, передаваемый сканером перед данными ШК
Суффикс NONE
или
код символа от 0 до 127
Символ суффикса, передаваемый сканером после данных ШК
Таймаут клавиатуры
Любое число
 
Время с начала ввода, за которое ожидается получение всех данных ШК от сканера в виде клавиатурных сообщений
Таймаут COM-порта Любое число Время с начала ввода, за которое ожидается получение данных от COM-порта
Кодировка COM-порта UTF-8
Windows-1251
Кодировка символов передаваемых сканером (как правило, UTF-8)
Символ GS NONE
или
клавиша клавиатуры на выбор
Клавиша, нажатием которой, передается символ GS (#029)
Тип выходных данных Строка
Base64
Тип выходных данных
Строка – данные как они получены от устройства
Base64 – данные полученные от устройства, преобразованные в кодировку Base64
Игнорировать состояние клавиатуры
Да/Нет
 
Игнорирует CAPSLOCK
Тип лога NONE
В файл
В системный журнал
Устанавливает тип логирования в компоненте.
NONE – логирование выключено.
В файл – лог ведется в файл указанный в параметре "Лог файл".
В системный журнал – лог ведется в системный журнал.
Лог файла
Путь к файлу
 
Путь к файлу лога в который будут записаны данные лога, если параметр "Тип лога" установлен в "в файл"

Проверка подключения сканера ШК в 1С

Для того чтобы сканер и драйвер "1С:Сканеры штрихкода" могли "узнать" друг друга и работать вместе, необходимо чтобы их настройки совпадали между собой. Большинство современных сканеров штрихкодов подключаются к компьютеру по USB и могут функционировать в 2-х режимах: эмуляции клавиатуры или эмуляции серийного порта (его еще иногда называют COM). В режиме клавиатуры сканер производит те же действия, как если бы мы набирали штрихкод (далее – ШК) на клавиатуре. В режиме COM-порта сканер посылает данные в драйвер напрямую. По умолчанию, большинство сканеров настроены как клавиатурное устройство с суффиксом ‘CR’ (символ возврата каретки или нажатие клавиши ENTER) – символ, который вставляет сканер в конце данных ШК, которые он передал. Именно эти настройки являются настройками по умолчанию в драйвере "1С:Сканеры штрихкода", поэтому, в большинстве случаев ничего дополнительно настраивать не придется.

Но есть несколько случаев, при которых настраивать драйвер "1С:Сканеры штрихкода" и/или сам сканер все же придется:

Для того чтобы проверить настройки сканера в драйвере "1С:Сканеры штрихкода" реализовано окно Тест, для того чтобы его открыть в форме настроек необходимо нажать Тест подключения.

В Тесте подключения проверяется подключение оборудования по всем СОМ-портам, поэтому вы точно не пропустите свое устройство, если оно исправно. Отсканировав любой ШК вы увидите его данные в окне Тест, а также от какого устройства они пришли: клавиатуры или COM.

 

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

Если сканер настроен правильно, то при сканировании проверочного ШК с формы, кроме всего прочего вы увидите надпись Ваш сканер настроен правильно.

Таким образом, при помощи окна Тест вы можете определить:

  1. Способ подключения сканера
  2. Текущие настройки сканера
  3. Совпадают ли настройки сканера и драйвера "1С:Сканеры штрихкода" между собой.

Подробнее о тесте подключения

Окно Тест поддерживает несколько режимов работы: Тестовый, Рабочий и Отладка Клавиатуры.

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

Например: 'GS'123456789'GS'https:\/1c.ru'GS''CR'.

Режим Рабочий – отображает данные, так как они передаются в платформу "1С:Предприятие". Если то или иное сообщение, пришедшее от оборудования, не соответствует критериям в настройках (допустим, не совпадает суффикс и/или префикс), то оно не будет отображено в Рабочем режиме так же как не будет передано в платформу "1С:Предприятие" во время штатной работы.

Режим Отладка клавиатуры, показывает всю последовательность переданных клавиатурных сообщений, которые были перехвачены компонентой. Нажатия клавиш в этом случае отображаются как KEY/key в случае нажатия/высвобождения функциональных клавиш и symbol_/_symbol в случае нажатия/высвобождения клавиши печатаемого символа.

Например: 'F12''f12''1_''_1''2_''_2''3_''_3''4_''_4''5_''_5''6_''_6''7_''_7''8_''_8''9_''_9''F12''f12''H_''_H''T_''_T''T_''_T''P_''_P''S_''_S''SHIFTL'';_''shiftl''_;''\_''_\''/_''_/''1_''_1''C_''_C''._''_.''R_''_R''U_''_U''F12''f12''ENTER''enter'

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

Настройка драйвера "1С:Сканеры штрихкода"

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

Наиболее распространенные несоответствия в настройках:

Разрешить эти разногласия можно как изменением настроек драйвера "1С:Сканеры штрихкода", так и изменениями настроек самого сканера. Для изменения настроек драйвера достаточно открыть форму настроек и проставить те значения порта, суффикса/префикса которые можно было видеть в окне Тест.

Если при сканировании ШК EAN8 12345670, в окне Тест отображается !12345670‘SPACE’ - значит сканер подключен как COM-устройство к порту COM7. В качестве префикса выступает символ !, а суффикса ‘SPACE’(пробел).
Можно вернуться к настройкам выбрать в поле пункте Порт COM7, в поле префикс символ !, а в поле суффикс ‘SPACE’ и повторить сканирование в окне Тест в режиме Тестовый и Рабочий и убедиться в работоспособности.

Альтернативой может быть изменение настроек самого сканера, это более длинный и трудоемкий путь, поскольку предполагает изучение документации по сканеру и его перенастройку при помощи настроечных ШК. Но и такой способ иногда может понадобиться(например, на сканере не настроен суффикс), поэтому мы рассмотрим и его.

ВАЖНО! Если на сканере не настроен суффикс, то его лучше настроить. При работе в режиме клавиатуры суффикс это единственный способ понять, что сканер передал все данные целиком, а в режиме COM отсутствие суффикса может приводить к "склеиванию" нескольких подряд идущих сообщений, если они быстро идут одно за другим, в зависимости от модели сканера.

Алгоритм настройки сканера на примере 1C Atol Impulse

  1. Сбросить к заводским настройкам (если он не "из коробки"), отсканировав соответствующий ШК. Для нашего сканера это:

  2. Перевести ШК в тот режим функционирования (клавиатурный или COM), в котором он будет использоваться. Отсканировать соответствующий ШК.

  3. Поскольку, заводские настройки, как правило, совпадают с настройками компоненты по умолчанию, на этом этапе можно проверить функционирование в окне Тест компоненты, отсканировав проверочный ШК с формы окна Тест.
  4. Если после сброса к заводским настройкам в сканере не настроен суффикс, настроить его можно  используя соответствующие настроечные ШК.

Таким образом, пройдя по этим шагам вы сможете согласовать настройки сканера и драйвера "1С:Сканеры штрихкода", если по какой-то причине они были рассогласованы.

Штрихкоды, содержащие спецсимволы и символы GS1, в том числе маркировка

Некоторые ШК, такие как PDF417QRDatamatrix могут кодировать сложные последовательности символов, часть из которых может быть нечитаемой и/или иметь специальное назначение, например символ GS в кодах маркировки. Штрихкод на форме окна Тест уже содержит символы GS в своем составе, поэтому если при его сканировании вы видите надпись Ваш сканер настроен правильно и пометки ‘GS’ в режиме Базовый, то проблем с чтением таких ШК у вас не возникнет.

Большинство сканеров передают символ GS нажатием клавиши F8 в клавиатурном режиме, и это совпадает с настройками компонента по умолчанию.
Однако это не всегда так. Иногда это могут быть клавиши F12, Insert и другие спец клавиши. Если это так, то вместо пометки ‘GS’ в коде будет отображено название соответствующей клавиши. В этом случае нужно закрыть окно Тест и в настройках в поле Символ GS выбрать соответствующую клавишу, после чего вернуться в окно Тест и повторить сканирование.

ВАЖНО!
При работе сканера (устройства) и драйвера "1С:Сканеры штрихкода" в режиме COM, таких сложностей не возникает, ввиду того, что сканер передает код GS напрямую в виде символа #029. Если использовать сканер в режиме COM, то в дополнительной настройке нет необходимости. Некоторые модели сканеров могут не поддерживать чтение и передачу символов разделителей GS, как это делает 1С Atol Impulse.

Данные, которые могут быть кодированы некоторыми типами ШК, не ограничиваются только наличием символа GS, они могут содержать символы произвольного алфавита.

Закодированная последовательность символов содержит символы ‘NUL’ (#000), STX (#002), ESC (#027) и т.д. Естественно, что не все типы сканеров (устройств) содержат таблицы и другие механизмы для того, чтобы преобразовать произвольную последовательность символов в правильную последовательность клавиатурных событий. Как правило, в этом случае, использование сканера в режиме клавиатуры приводит к потерям данных, в виду того, что либо для символа нет сопоставления с клавиатурным событием внутри сканера (устройства), либо оно выполняется неизвестной последовательностью клавиатурных событий.

При работе с такими типами ШК рекомендуется использование режима код подключения по COM.