Техническое задание: Драйвер для сканеров ШК в 1С 10 для Linux

Суть проблемы

В конфигурации "1С:Предприятие" 10-й версии, работающей под операционной системой Linux, отсутствует корректная поддержка сканеров штрих-кода. Существующие решения не обеспечивают корректное завершение ввода (сигнал окончания сканирования), что делает работу с оборудованием невозможной.

Текущая ситуация и проведенные тесты

  • Драйвер NativeAPI из 11-й версии 1С несовместим с 10-й версией и вызывает ошибки при попытке интеграции.
  • Альтернативный драйвер native определяет устройства как COM-порты, что не решает проблему.
  • Тестирование оборудования через утилиту minicom на Linux (дистрибутив ALT) проходит успешно - сканер отправляет символ возврата каретки (CR, код 13).
  • При тестировании в среде 1С 10-й версии символ окончания сканирования (CR) не фиксируется, из-за чего данные не передаются в формы обработки.

Цель проекта

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

Основные задачи

  1. Анализ и адаптация: Изучить исходный код драйвера NativeAPI из 11-й версии 1С и адаптировать его для работы с 10-й версией платформы.
  2. Разработка с нуля: В случае невозможности адаптации - разработать новый драйвер, обеспечивающий функциональность, аналогичную NativeAPI из 11-й версии.
  3. Ключевое требование: Драйвер должен корректно обрабатывать завершающий символ (CR или аналог) от сканера и передавать отсканированные данные в формы 1С.
  4. Совместимость: Решение должно работать под управлением ОС Linux (на примере ALT Linux).

Ограничения

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

Ожидаемый результат

Рабочий драйвер для сканеров штрих-кода, позволяющий использовать это оборудование в 1С 10-й версии под Linux так же стабильно, как это реализовано в 11-й версии.