Каждый технический специалист или администратор базы данных 1С сталкивался с ситуацией, когда торговое оборудование отказывается работать «из коробки». Типичный сценарий: вы подключили сканер штрихкода Honeywell Eclipse MS5145 к компьютеру, открыли текстовый блокнот, считали штрихкод — все цифры отобразились корректно. Но как только вы открываете документ поступления или рабочее место кассира (РМК) в программе 1С:Розница, сканирование не дает никакого результата. При этом, если ввести те же самые цифры вручную с клавиатуры, система мгновенно находит товар.
В этой статье мы подробно разберем, почему возникает эта проблема, как функционируют различные режимы работы сканеров штрихкода и как правильно настроить оборудование, чтобы автоматизировать процесс подбора номенклатуры.
---
Давайте проанализируем, в чем заключается разница между вводом данных в текстовый редактор и в учетную систему 1С. Когда сканер настроен в режиме эмуляции клавиатуры (также известном как HID-режим), операционная система Windows воспринимает его как обычную дополнительную клавиатуру. Когда лазер считывает черные и белые полосы штрихкода, внутренний контроллер сканера преобразует этот рисунок в последовательность цифр и отправляет их в ПК так, словно пользователь со сверхчеловеческой скоростью нажал кнопки на клавиатуре.
Для текстового редактора Notepad этого достаточно: курсор стоит в поле ввода, и туда последовательно падают символы. Однако 1С — это сложная база данных. Чтобы программа поняла, что пришедшие цифры — это именно штрихкод, который нужно найти в справочнике номенклатуры, должно произойти так называемое внешнее событие (External Event).
За генерацию внешнего события отвечает специализированный драйвер торгового оборудования 1С. Он постоянно слушает поток ввода. Чтобы драйвер зафиксировал окончание ввода штрихкода и инициировал процедуру поиска, сканер должен передать специальный управляющий символ окончания посылки — суффикс. Чаще всего в качестве суффикса используется символ перевода каретки (клавиша Enter, соответствующая ASCII-коду 13 или комбинации 13, 10).
Если в настройках «Подключаемого оборудования» в 1С суффикс не задан или не совпадает с тем, что физически отправляет сканер, программа просто «ждет» продолжения ввода и не запускает алгоритм поиска товара.
---
Если по каким-то причинам вы хотите оставить сканер работать в режиме клавиатуры (например, нет возможности установить драйверы виртуального COM-порта), нам необходимо правильно сопоставить настройки оборудования и конфигурации 1С. Разберем этот процесс по шагам.
Шаг 1. Определение суффикса сканера в Windows
Для начала выясним, настроен ли в самом сканере суффикс возврата каретки (переноса строки). Для этого откройте стандартный блокнот Windows и отсканируйте любой товарный штрихкод. Посмотрите на поведение курсора:
CR (ASCII-код 13) или LF (ASCII-код 10).Enable Carriage Return Debounce или аналогичный код, добавляющий суффикс Enter к посылке.Шаг 2. Настройка параметров в 1С
Теперь перейдем к настройке самой программы. Нам необходимо заставить 1С правильно перехватывать этот суффикс.
Enter). В некоторых случаях требуется указать значение 13, 10 (возврат каретки и перевод строки).'Данные получены: 4601234567890 [CR]' (или аналогичное отображение прерывания). Это будет означать, что драйвер успешно поймал внешнее событие.После выполнения этих шагов в документах поступления и списания товаров при сканировании позиций данные будут автоматически попадать в табличную часть, даже если фокус ввода (курсор) не стоит на каком-то конкретном текстовом поле.
---
Работа сканера в режиме клавиатуры имеет один существенный недостаток. Если в момент сканирования товара пользователь случайно нажмет мышкой на текстовое поле (например, поле «Комментарий» или строку «Поиск»), штрихкод просто напечатается туда в виде цифр, а товар в документ не добавится. На кассовых узлах и складах это приводит к постоянным ошибкам и замедлению работы.
Профессиональным стандартом автоматизации является перевод сканера в режим эмуляции последовательного (COM) порта. В этом режиме данные от сканера передаются по выделенному виртуальному каналу. Программе 1С становится абсолютно неважно, где находится курсор мыши и какое окно сейчас активно — драйвер напрямую перехватит данные из COM-порта и безупречно обработает их.
Рассмотрим, как перевести сканер Honeywell Eclipse MS5145 в режим эмуляции COM-порта шаг за шагом.
Шаг 1. Подготовка и установка драйверов
Прежде чем программировать сам сканер, необходимо подготовить операционную систему Windows:
Шаг 2. Программирование сканера Honeywell Eclipse MS5145
Для перевода физического устройства в другой режим работы нам потребуется считать специальные настроечные штрихкоды из официального руководства пользователя (MetroSelect Configuration Guide).
Шаг 3. Проверка в Диспетчере устройств
Давайте убедимся, что операционная система правильно распознала новое устройство:
Win + X и выберите Диспетчер устройств (или введите devmgmt.msc в строке выполнения).Honeywell USB Serial Device (COM3). Запомните номер выделенного порта (в нашем примере это COM3).Шаг 4. Настройка связи в 1С
Возвращаемся в конфигурацию 1С для финального штриха:
COM3).---
В процессе настройки торгового оборудования у пользователей часто возникают вопросы по ведению сопутствующего учета. В частности, в карточке номенклатуры системы 1С присутствуют три очень похожих по звучанию понятия: «Тип номенклатуры», «Вид номенклатуры» и «Товарная группа». Разберем их различия и назначение, чтобы вы могли правильно организовать структуру каталога товаров.
Проанализируем каждое понятие отдельно:
1. Тип номенклатуры
Это жестко предопределенный системный признак. Вы не можете создавать новые типы номенклатуры в пользовательском режиме — они заложены разработчиками на уровне программного кода 1С.
Товар, Услуга, Работа, Тара, Подарочный сертификат.2. Вид номенклатуры
Это настраиваемый пользователем классификатор (справочник), который объединяет товары со схожими правилами ведения учета и набором дополнительных реквизитов.
Мужская обувь, Молочная продукция, Бытовая химия, Доставка товаров.3. Товарная группа
Это сугубо аналитический и маркетинговый разрез классификации товаров, используемый преимущественно в розничной торговле для управления продажами и распределения товарных потоков.
Алкогольная продукция, Бакалея, Строительные материалы, Канцтовары.Подведем краткий итог по терминологии:
Тип номенклатуры отвечает на вопрос «Что это с точки зрения бухгалтерии?» (физический товар или неосязаемая услуга).
Вид номенклатуры отвечает на вопрос «Как мы это учитываем в системе?» (нужны ли нам размеры, серии, автоматические названия).
Товарная группа отвечает на вопрос «Как мы это продаем?» (на какую кассу отправлять чек, какие скидки применять и как анализировать прибыль).
Соблюдение этих простых правил настройки торгового оборудования и ведения нормативно-справочной информации позволит вашей системе 1С работать как единый, отлаженный часовой механизм.