Лисканер - эмулятор сканера линейных штрихкодов и GS1 Datamatrix
Интеграция - Сканер штрих-кода
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Лисканер — эмулятор сканера штрихкода для 1С
Лисканер — программа для Windows, которая заменяет физический сканер штрихкода при работе с 1С (и не только). Она «печатает» код в активное окно так же, как это делает настоящий сканер, работающий в режиме клавиатуры (HID), включая специальный непечатаемый символ-разделитель GS (0x1D), без которого коды маркировки товаров («Честный знак», GS1 DataMatrix) вводятся некорректно.
Три способа ввести код:
- Вручную — печатаете код текстом, разделитель GS задаётся читаемым плейсхолдером
<GS>.
- Из файла — открываете txt-файл сразу с несколькими кодами; разделители — пробел, перевод строки, запятая, точка с запятой в любом сочетании; коды уходят по очереди с паузой.
- По фото — открываете снимок этикетки, выделяете рамкой нужную область (с зумом и панорамированием для точного попадания в мелкий код), программа распознаёт QR-код, DataMatrix или линейный штрихкод.
Чем лучше простых имитаторов ввода?
- Вручную — печатаете код текстом, разделитель GS задаётся читаемым плейсхолдером
<GS>. - Из файла — открываете txt-файл сразу с несколькими кодами; разделители — пробел, перевод строки, запятая, точка с запятой в любом сочетании; коды уходят по очереди с паузой.
- По фото — открываете снимок этикетки, выделяете рамкой нужную область (с зумом и панорамированием для точного попадания в мелкий код), программа распознаёт QR-код, DataMatrix или линейный штрихкод.
Чем лучше простых имитаторов ввода?
Большинство готовых утилит «эмуляции сканера» просто подставляют текст через буфер обмена или обычную печать символов — и спотыкаются именно на разделителе GS, критичном для кодов маркировки. Лисканер поддерживает два способа его передачи (как символ Unicode напрямую или как настраиваемую комбинацию клавиш) — под то, как конкретная база 1С настроена принимать код в разделе «Подключаемое оборудование».
Инструкция по использованию:
Окно программы устроено одинаково для всех трёх способов ввода: сверху — переключатель режима, посередине — область ввода, ниже — куда отправлять код, внизу — свёрнутые по умолчанию расширенные настройки.
Способ 1. Ввод вручную
Вводите код текстом в поле ввода. Если в коде нужен разделитель GS (для кодов маркировки), набирайте его как читаемый плейсхолдер <GS> — перед отправкой программа заменит его на настоящий байт 0x1D.
- Откройте вкладку «Вручную» (выбрана по умолчанию).
- Введите или вставьте код в текстовое поле, например:
010460043012340017240101<GS>2110. - Выберите в списке окно-получатель ваше окно с открытой 1С.
- Нажмите «Отправить в 1С».
Способ 2. Распознавание по фото
- Переключитесь на вкладку «По фото» и нажмите «Открыть фото...», выбрав снимок этикетки, упаковки или экрана с кодом.
- Если на фото код занимает маленькую область, приблизьте его: колёсиком мыши — зум к точке под курсором, зажатой правой кнопкой — панорамирование по фото. Кнопки «−» / «+» и «100%» дают точный масштаб, «По размеру окна» возвращает фото целиком в кадр.
- Выделите рамкой (левая кнопка мыши) область с кодом — не обязательно идеально плотно, но чем точнее, тем надёжнее распознавание.
- Нажмите «Распознать выделенную область» (или «Распознать всё фото», если выделение не нужно).
- Программа покажет распознанный текст, где символ GS подсвечен цветом и отмечен как
<GS>— текст можно поправить вручную перед отправкой. - Выберите в списке окно-получатель ваше окно с открытой 1С
- Нажмите «Отправить в 1С».
Способ 3. Пакетный ввод из txt-файла
- Переключитесь на вкладку «Из файла».
- Нажмите «Открыть txt-файл...» и выберите файл с кодами. Разделители внутри файла — пробел, табуляция, перевод строки, запятая, точка с запятой — в любом сочетании, можно не приводить файл к единому формату.
- Коды появятся списком; выберите нужные строки или оставьте без выделения.
- Выберите в списке окно-получатель ваше окно с открытой 1С
- Нажмите «Отправить выбранные» (только отмеченные коды) либо «Отправить все по очереди» — тогда между кодами выдерживается пауза, которую можно задать рядом с кнопкой открытия файла.
Расширенные настройки
Свёрнуты по умолчанию, разворачиваются кнопкой «Расширенные настройки» внизу окна. Здесь находится точная подстройка под особенности конкретной базы 1С:
- задержка перед первой отправкой (время на переключение в режиме «вручную»);
- задержка между отправкой отдельных символов — если приложение не успевает обрабатывать быстрый ввод;
- кодировка — кодировка отправки — под то, что ожидает принимающее приложение (для 1С обычно подходит по умолчанию Unicode или Windows-1251);
- в 1С в разделе «Подключаемое оборудование» должен быть настроен порт в режиме клавиатура;
- что отправлять после кода — Enter, Tab или ничего.
Требования к работе
|
Параметр |
Значение |
|---|---|
|
ОС |
Windows (использует системный WinAPI |
|
Установка |
Не требуется — доступна сборка в один .exe-файл, запускается двойным кликом |
|
Права |
Не требуются администраторских прав для обычного запуска |
|
Связь с 1С |
Не нужна — программа не интегрируется в 1С как расширение/внешнюю обработку, а работает снаружи, эмулируя ввод с клавиатуры |
|
Совместимость с 1С |
Любая конфигурация — важен лишь способ приёма штрихкода в 1С (обычный ввод с клавиатуры или настройка через «Подключаемое оборудование») |
Для распознавания по фото качество снимка важнее его разрешения: даже небольшое чёткое фото этикетки со смартфона распознаётся увереннее, чем размытое или сильно сжатое изображение, даже с учётом встроенного зума.
Внутреннее устройство
Приложение написано на Python и состоит из пяти небольших модулей с чётким разделением ответственности, без внешних сервисов и без сети.

- main.py — графический интерфейс на Tkinter. Собирает окно из плиток выбора режима, области ввода, блока «Куда отправлять» и свёрнутых расширенных настроек; вызывает остальные модули и не содержит логики низкого уровня сам по себе.
- code_parser.py — одна функция разбора текста файла на отдельные коды по регулярному выражению, которое считает разделителем любую последовательность пробелов, переводов строки, запятых и точек с запятой.
- barcode_reader.py — обёртка над библиотекой zxing-cpp: принимает выделенную область изображения и возвращает список найденных кодов (формат и текст, с разделителем GS1 как символом 0x1D внутри текста, если он встретился).
- keyboard_emulator.py — ядро эмуляции. Через прямые вызовы WinAPI
SendInput(черезctypes, без сторонних библиотек) посимвольно «печатает» код в активное окно, отдельно обрабатывая символ GS двумя способами (как Unicode-код 0x1D либо как настраиваемую комбинацию клавиш) и завершая ввод Enter/Tab. - window_utils.py — перечисляет открытые окна Windows для списка «Окно-получатель» и, если он выбран, передаёт фокус ввода нужному окну перед отправкой кода.
Проверено на следующих конфигурациях и релизах:
- Управление нашей фирмой, редакция 3.0, релизы 3.0.14.143
- Розница, редакция 2.3, релизы 2.3.26.22
- Розница, редакция 3.0, релизы 3.0.14.143
Вступайте в нашу телеграмм-группу Инфостарт
См. также
5185 руб.
29.07.2020 46902 248 194
3050 руб.
22.04.2019 124915 739 207
24400 руб.
19.04.2021 31069 70 59
07.07.2023 7015 4 alfanika 2
7320 руб.
28.07.2020 33368 88 37
2196 руб.
18.01.2017 152654 235 237
06.11.2026 231 nick_ne_znik 3
