Как настроить сканер штрихкодов для срабатывания события ОбработкаВнешнегоСобытия в 1С:Документооборот?

Программист 1С v8.3 (Управляемые формы) 1С:Документооборот IT и автоматизация бизнеса
← На главную

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

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

Различия в режимах работы сканера штрихкодов

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

  1. Режим эмуляции клавиатуры (HID-устройство)
  2. Режим COM-порта (Serial Port Emulation)

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

Режим эмуляции клавиатуры

Когда сканер работает в режиме эмуляции клавиатуры (HID-устройство, Human Interface Device), он воспринимается операционной системой как обычная клавиатура. В этом режиме сканер передает считанный штрихкод в активное окно программы как последовательность символов, точно так же, как если бы эти символы были набраны вручную. Например, если штрихкод содержит "1234567890", сканер просто "напечатает" эти цифры.

Особенности и ограничения:

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

Режим COM-порта: предпочтительное решение

В режиме COM-порта сканер передает данные по последовательному интерфейсу. Многие современные USB-сканеры могут эмулировать COM-порт (Virtual COM Port, VCP) с помощью специального драйвера. Именно этот режим является наиболее предпочтительным для работы со сканерами штрихкодов в 1С, поскольку он позволяет программе напрямую "отлавливать" внешние события от сканера через процедуру ОбработкаВнешнегоСобытия.

Преимущества режима COM-порта:

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

Пошаговая настройка сканера штрихкодов для 1С:Документооборот

Для корректной работы со сканером в 1С, особенно в режиме COM-порта, необходимо выполнить ряд последовательных шагов. Мы разберем каждый шаг подробно.

Шаг 1: Перевод сканера в режим COM-порта

Это самый критически важный шаг, без которого все последующие действия могут быть неэффективны. Большинство современных USB-сканеров по умолчанию работают в режиме эмуляции клавиатуры. Для перевода в режим COM-порта обычно требуется:

  1. Найти инструкцию к сканеру: Каждый производитель предоставляет в руководстве пользователя специальные управляющие штрихкоды.
  2. Отсканировать управляющий штрихкод: Необходимо найти штрихкод, который переводит сканер в режим "Virtual COM Port" (Виртуальный COM-порт) или "RS-232 Emulation". Обычно такие штрихкоды находятся в разделах "Interface Settings", "USB Settings" или "Serial Mode".
  3. Подтверждение: После сканирования сканер может издать характерный звуковой сигнал или индикатор изменит цвет, подтверждая смену режима.

Важно: Если вы используете сканер с физическим COM-портом (RS-232), этот шаг не требуется, так как он изначально работает в нужном режиме. В случае с USB-сканерами, эмулирующими COM-порт, после перевода в этот режим может потребоваться установить соответствующий драйвер виртуального COM-порта (см. Шаг 2).

Шаг 2: Установка драйверов виртуального COM-порта и драйверов 1С

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

  1. Драйвер виртуального COM-порта (для USB-сканеров): Если ваш USB-сканер был переведен в режим эмуляции COM-порта, Windows может не распознать его как COM-порт без специального драйвера. Этот драйвер обычно предоставляется производителем сканера (например, FTDI, Prolific для чипов USB-Serial, или собственные драйверы производителя сканера). После установки драйвера виртуального COM-порта в "Диспетчере устройств" должен появиться новый COM-порт в разделе "Порты (COM и LPT)". Мы обязательно запоминаем его номер (например, COM3, COM7), так как он понадобится для настройки в 1С.
  2. Драйверы 1С для подключаемого оборудования: Для того чтобы 1С могла работать со сканером, необходим программный интерфейс, который транслирует данные с COM-порта в события, понятные 1С. Обычно используются следующие драйверы:
    • "1С:Сканеры штрихкода": Универсальный драйвер, разработанный фирмой "1С". Он устанавливается как внешняя компонента и обеспечивает взаимодействие с большинством сканеров, работающих в COM-режиме.
    • "АТОЛ: Драйвер устройств ввода": Также широко используемый универсальный драйвер, который поддерживает различные модели сканеров и другого оборудования. Он предоставляет более широкий функционал и гибкость настройки.

    Эти драйверы нужно скачать (обычно с сайта 1С или АТОЛ) и установить на компьютер, где работает клиент 1С. Процесс установки обычно стандартный: запуск установочного файла и следование инструкциям мастера.

Без корректно установленных драйверов операционная система и 1С не смогут "увидеть" сканер как COM-устройство и получать от него данные.

Шаг 3: Настройка сканера в конфигурации 1С:Документооборот

После установки драйверов переходим к настройке непосредственно в самой конфигурации 1С:Документооборот. Мы выполняем следующие шаги:

  1. Вход в режим "Администрирование": Запускаем 1С:Документооборот и переходим в раздел "Администрирование".
  2. Подключаемое оборудование: Находим пункт "Подключаемое оборудование" и открываем его.
  3. Активация использования: Убеждаемся, что установлен флажок "Использовать подключаемое оборудование". Если он не установлен, мы его устанавливаем и сохраняем настройки.
  4. Создание новой записи сканера: Переходим по ссылке "Сканеры штрихкода" (или аналогичной, если используются другие типы устройств).
  5. Добавление нового устройства: Нажимаем кнопку "Создать" для добавления нового сканера.
  6. Выбор типа оборудования: В форме создания нового устройства выбираем "Тип оборудования" — "Сканеры штрихкода".
  7. Выбор драйвера: В поле "Драйвер оборудования" выбираем установленный нами драйвер. Это может быть "1С:Сканеры штрихкода" или "1С сканеры штрих-кода (COM)", или "АТОЛ: Сканеры штрихкода", в зависимости от того, какой драйвер был установлен на предыдущем шаге.

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

Шаг 4: Выбор COM-порта и скорости обмена

В окне настройки драйвера, которое открывается после выбора драйвера в 1С, нам необходимо указать параметры подключения к сканеру:

  1. Номер COM-порта: В поле "Порт" или "COM-порт" выбираем номер COM-порта, который был присвоен нашему сканеру системой Windows в "Диспетчере устройств" (например, COM3, COM7). Важно, чтобы этот номер совпадал.
  2. Скорость обмена данными (Baud Rate): В поле "Скорость" указываем скорость обмена данными. Для большинства сканеров стандартные значения — 9600 или 115200 бит/с. Часто сканеры автоматически определяют скорость, но если возникают проблемы, можно попробовать разные значения из инструкции к сканеру.
  3. Паритет, биты данных, стоп-биты: Остальные параметры (паритет, количество бит данных, количество стоп-битов) обычно оставляем по умолчанию, если иное не указано в инструкции к сканеру.
  4. Сохранение настроек: После установки всех параметров мы обязательно сохраняем настройки драйвера и самой записи сканера в 1С.

Теперь сканер готов к работе с 1С в режиме COM-порта.

Шаг 5: Тестирование работы сканера

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

  1. Тестирование через драйвер: В окне настройки драйвера в 1С (где мы выбирали COM-порт) обычно присутствует кнопка "Тест устройства" или "Проверка связи". Нажимаем ее и сканируем любой штрихкод. Если тест успешен, в окне должно появиться сообщение об успешном получении данных или сам считанный штрихкод. Это подтверждает, что драйвер 1С взаимодействует со сканером.
  2. Тестирование в 1С: Открываем любую форму в 1С, где теоретически должна срабатывать ОбработкаВнешнегоСобытия (например, форму создания документа, форму списка товаров). Сканируем штрихкод. Если все настроено правильно, 1С должна получить событие и обработать его.

Если после этих шагов ОбработкаВнешнегоСобытия все еще не срабатывает, мы перепроверяем каждый шаг, начиная с перевода сканера в COM-режим и правильности установки драйверов.

Роль процедуры ОбработкаВнешнегоСобытия

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

Структура и параметры

Данная процедура располагается, как правило, в модуле управляемого приложения или в модуле формы, и имеет следующий синтаксис:


Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные, СтандартнаяОбработка) Экспорт
    // Здесь мы описываем логику обработки события
КонецПроцедуры

Мы рассмотрим параметры подробнее:

Пример обработки данных

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


Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные, СтандартнаяОбработка) Экспорт
    Если Источник = "СканерШтрихкода" И Событие = "Scan" Тогда
        СтандартнаяОбработка = Ложь; // Отменяем стандартную обработку, если хотим полностью контролировать процесс

        Сообщить("Получен штрихкод: " + Данные);

        // Пример поиска номенклатуры по штрихкоду
        Запрос = Новый Запрос;
        Запрос.Текст = 
            "ВЫБРАТЬ
            |    Номенклатура.Ссылка
            |ИЗ
            |    Справочник.Номенклатура КАК Номенклатура
            |ГДЕ
            |    Номенклатура.Штрихкод = &Штрихкод";

        Запрос.УстановитьПараметр("Штрихкод", Данные);

        Результат = Запрос.Выполнить().Выбрать();

        Если Результат.Следующий() Тогда
            Сообщить("Найдена номенклатура: " + Результат.Ссылка);
            // Здесь мы можем открыть форму элемента, установить значение в поле и т.д.
        Иначе
            Сообщить("Номенклатура со штрихкодом " + Данные + " не найдена.");
        КонецЕсли;

    КонецЕсли;
КонецПроцедуры

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

Заключение

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

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

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

← На главную