1с получить штрихкод программно

Обновлено: 07.07.2024

Внешний компонент "1С:Сканер штрихкода" (Native) версия для платформы "1С Предприятие 8.3".

Внешний компонент "1С:Сканер штрихкода" (Native) для платформы "1С Предприятие 8.3" поставляется в составе "Библиотеки подключаемого оборудования" (далее - БПО). "1С:Библиотека подключаемого оборудования для мобильных приложений" (далее - МБПО) и предназначен для использования ТОЛЬКО в их составе. Самостоятельное использование внешнего компонента не предусмотрено. Компонент предназначен для получения данных от оборудования – сканеров штрихкодов (далее – ШК) и передаче их в платформу "1С: Предприятие".

Основные возможности

Внешний компонент "1С:Сканер штрихкода" (Native) (далее – ВК или "1С:Сканер штрихкода") позволяет получать данные от подключенных сканеров штрихкодов и передавать их в платформу "1С:Предприятие". Компонент поддерживает следующие операционные системы (далее – ОС): Windows x32/x64, Linux (x32/x64), Android (arm, arm64, x86, x86_64), MacOS(x64). Компонент поддерживает следующие режимы подключения к сканирующему оборудованию: клавиатурный (все ОС), virtual COM (все ОС), Bluetooth (Android, Mac), Broadcast (Android).

Схема взаимодействия с оборудованием


Клавиатурный режим



Ограничения клавиатурного режима

Преимуществами клавиатурного режима является его доступность. Он является умолчанием практически для всех моделей сканеров и доступен на всех ОС. Также его легко проверить, подключив сканер и считав какой-нибудь ШК в текстовый редактор. Однако у этого режима есть и ограничения. На большинстве современных клавиатур от

80 до 110 клавиш, тем не менее, ШК может кодировать последовательность байт каждый из которых может принимать значения от 0 до 255. Т.е., в общем случае, количества клавиш на клавиатуре недостаточно для того чтобы передать данные любого ШК. Для того чтобы обойти это ограничение некоторые сканеры используют Ctrl+X или Alt+X нотацию, которые поддержаны в ВК "1С:Сканер штрихкода". Однако не все модели сканеров предоставляют такие возможности и в случае "нестандартных" значений байт данных в ШК (как правило, значения байт <32 и >127) либо не передают никаких данных, либо передают их не стандартизованной последовательностью клавиатурных событий. Поэтому, если необходимо работать со штрихкодами, содержащими не латинские символы или каким-либо образом кодированные данные (больничные листы и т.д.), то лучше воспользоваться подключением по COM, если сканер это позволяет.

"Auto CRLF"

Как правило "по умолчанию" сканеры в клавиатурном режиме настроены с суффиксом ‘CR’ (клавиша Enter), но не для всех моделей сканеров это так. Иногда суффиксом может быть ‘LF’ или ‘CRLF’. Для обобщения всех этих случаев в ВК, кроме обычных односимвольных суффиксов, предусмотрен специальный суффикс "Auto CRLF", который обозначает, что последовательность, состоящая из CRLF в любом сочетании считается суффиксом. Это может облегчить работу с настройками для некоторых моделей сканеров.

Окно "Тест"

Для проверки работы со сканером на Windows и Linux, есть возможность воспользоваться встроенным в ВК окном "Тест". Для этого нужно нажать кнопку "Тест устройства" в форме настроек компонента. Внешний вид окна представлен на следующем рисунке.


Окно тест делает попытку подключения всего доступного оборудования с заданными в форме настроек параметрами. После чего можно сканировать различные ШК, данные полученные с них будут отображаться в поле данных. Получаемая от оборудования информация может быть представлена в окне "Тест" в 3-х режимах: "Тестовом", "Рабочем" и "Отладка клавиатуры". "Тестовый" режим показывает данные от оборудования с заменой непечатаемых символов на их названия, а также названия специальных клавиш, если данные получены от клавиатуры.

Также для проверки правильности настроек сканера на форме Тест расположен проверочный ШК, отсканировав который можно понять правильность настройки сканера. В случае если настройки сканера и ВК "1С:Сканер штрихкода" настроены одинаково (совпадают настройки суффикса, префикса и специальных клавиш на сканере и в ВК), то в поле данных будет выведено "Ваш сканер настроен правильно" ("Your scaner configured correctly"). В случае, когда неправильно настроен суффикс и/или префикс будет выведено соответственно "Данные соответствуют проверочным частично."("The data correspond to the verification partly."), "Неверно настроен суффикс"("Suffix configured wrong"), "Неверно настроен префикс"("Prefix configured wrong").

Android Braodcast

Установленные настройки ВК в МБПО на ТСД Атол Smart.Lite



Настройки ТСД Атол Smart.Lite на Broadcast



Свойства

Компонента не содержит свойств.

Методы

Название (алиас) Параметры Возвращаемое значение Описание
ПолучитьНомерВерсии(GetVersion - - Метод возвращает строку текущей версии компоненты
ПолучитьОписание (GetDescription) - - Метод возвращает описание компоненты
ПолучитьОшибку (GetLastError) - - Метод возвращает последнюю ошибку при работе компоненты
ПолучитьПараметры (GetParameters) - - Метод возвращает XML документ с описанием настроечных параметров компоненты, передаваемых через метод УстановитьПараметр (SetParameter)
УстановитьПараметр (SetParameter) - - Метод устанавливает значение одного из параметров, список которых может быть получен методом ПолучитьПараметры (GetParameters)
Подключить (Open) - - Метод подключает устройство
Отключить (Close) - - Метод отключает устройство
ТестУстройства (DeviceTest) - - Метод запускает тест устройства

Настройки ВК

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

Название параметра
RU/EN

Standard Intent Extra NONE Стандартный ключ intent.extraПользовательсктй Intent Extra/User Intent Extra Пользовательский ключ intent.extra (из настроек ТСД)Пользовательское Intent Action/User Intent Action Пользовательский intent.action (из настроек ТСД)Пользовательская Intent Category/User Intent Category Пользовательский intent.category (из настроек ТСД)Тип данных/Extra data type

String Тип данных используемого ключа intent.extra

Возвращаемые события

В случае успешного получения данных от устройства компонента кодирует их соответствующим образом (Строка, Base64) и передает в 1С:Предприятие в виде одного из следующих событий:

Внешний компонент “1C:Печать штрихкодов” (Native) для платформы «1С: Предприятие 8.3»

Внешний компонент "1С:Печать штрихкодов" для платформы "1С:Предприятие 8.3" поставляется в составе «1С:Библиотеки подключаемого оборудования» (далее БПО) и «1С:Библиотеки стандартных подсистем» (далее БСП) . Компонент предназначен для формирования изображений штрихкодов в формате PNG на основе передаваемых в компонент данных и параметров построения изображения. Компонент может использоваться только совместно с программными продуктами системы "1С:Предприятие 8" на рабочих местах, обеспеченных Лицензией на использование системы программ "1С:Предприятие 8".

  • Основные возможности
  • Алгоритм генерации изображений ШК
  • Невозможность генерации изображения
  • Свойства
  • Методы
  • Особенности работы с GS1 кодами
  • Пример генерации изображений штрихкода с помощью библиотек БПО и БСП

Основные возможности

Внешний компонент "1С:Печать штрихкодов" позволяет формировать изображения штрихкодов следующих типов: EAN8, EAN13, EAN13 AddOn 2, EAN13 AddOn 5, ITF14, RSS14, EAN128, Code39, Code39 Full ASCII, Code93, Code128, Code16k Industrial 2 of 5, Interleaved 2 of 5, CodaBar, PDF417, QR, GS1 databar extended stacked, DataMatrix ASCII, DataMatrix Base256, DataMatrix Text, DataMatrix C40, DataMatrix X12, DataMatrix Edifact, GS1 Datamatrix. Компонент позволяет автоматически определять тип штрихкода исходя из передаваемых параметров (см. раздел «Свойства компонента»).

Алгоритм генерации изображений ШК

Внешний компонент "1С:Печать штрихкодов" реализует следующий алгоритм генерации изображений ШК:



    5. Генерация изображения ШК с учетом заданного угла поворота и других параметров визуализации. Графически это можно представить следующим образом:


В случае успешной генерации изображения ШК свойство Результат будет содержать значение 0.

Невозможность генерации изображения

В случае, когда генерация изображения ШК невозможна, например из за несоответствия ЗначенияКода переданному ТипуКода или когда запрошены Ширина или Высота меньшие чем МинимальнаяШирина или МинимальнаяВысота кода, изображение будет сгенерировано в любом случае, однако вместо изображения ШК, оно будет содержать текст ошибки («invalid barcode» или «size too small») и значение свойства Результат будет содержать значение > 0.

Свойства

* Устаревшие свойства не используются в актуальных версиях компонента и будут удалены (станут недоступны) начиная с версии 10.1.1.1.

Методы

Особенности работы с GS1 кодами

К GS1 типам кодов относятся – EAN128, GS1 Datamatrix и GS1 Databar extended stacked. При задании ЗначенияКода GS1 кодов допускается две формы ввода:

  1. В виде Строки. В этом случае ЗначениеКода должно содержать код GS1 в HRI (Human Readable Inеrpretation) виде, в котором коды групп применения заключены в круглые скобки, например, (01)04600822901507(11)161109(30)2434. В этом случае компонент интерпретирует строку как код GS1, раскрывает скобки, добавляет символ GS в конце каждой группы переменной длины и генерирует изображение, добавив графический символ начала кода FNC1.
  2. В виде Строки Base64. В этом случае внешняя система передает в компонент двоичные данные, содержащие в соответствии со стандартом GS1 группы применения и символ GS завершения группы переменной длины. Компонент генерирует изображение полученных данных, добавляя в штрихкод лидирующий графический символ FMC1. Проверка данных на соответствие стандарту GS1 не производиться. Пример входного значения - MDEwMDg1MTc2ODAwMzAyMDIxPktvbzNLUkx0Z0YicB05M2RHVno=

Пример генерации изображений штрихкода с помощью библиотек БПО и БСП

В состав БПО и БСП включены и необходимые методы по инициализации компоненты “1C:Печать штрихкодов” (Native) и генерации изображений штрихкодов в прикладных решениях 1С.
Для генерации картинки штрикода необходимо использовать метод «ИзображениеШтрихкода()» общего модуля «ГенерацияШтрихкода»
Внешняя компонента будет загружена и инициализирована автоматически при первом вызове этого метода.
Подробное описание возможных значений входящих параметров даны в описании функции конструктора для заполнения структуры входящих параметров «ПараметрыГенерацииШтрихкода()» общего модуля «ГенерацияШтрихкода» .

Пример использования компоненты в составе БПО или БСП может быть представлен следующим листингом

Внешняя компонента "1С:Сканер штрихкода" для платформы "1С:Предприятие 8.3"

Для работы 1С:Предприятия со сканерами штрихкодов применяется внешняя компонента системы 1С:Предприятие "1С:Сканер штрихкода", версия 9.0.х . Она принимает от сканера прочитанный им штрихкод и передает его для обработки в 1С:Предприятие. Компонента также может использоваться для работы с другими устройствами, способ передачи данных которыми аналогичен способу передачи данных сканером штрихкодов. Компонента "1С:Сканер штрихкода", версия 9.0.х разработана по технологии NativeAPI.

Свойства

Компонента не содержит свойств.

Методы

Название (алиас) Параметры Возвращаемое значение Описание
ПолучитьНомерВерсии(GetVersion) - - Метод возвращает строку текущей версии компоненты.
ПолучитьОписание (GetDescription) - - Метод возвращает описание компоненты
ПолучитьОшибку (GetLastError) - - Метод возвращает последнюю ошибку при работе компоненты.
ПолучитьПараметры (GetParameters) - - Метод возвращает XML документ с описанием настроечных параметров компоненты, передаваемых через метод УстановитьПараметр (SetParameter).
УстановитьПараметр (SetParameter) - - Метод устанавливает значение одного из параметров, список которых может быть получен методом ПолучитьПараметры (GetParameters).
Подключить (Open) - - Метод подключает устройство
Отключить (Close) - - Метод отключает устройство.
ТестУстройства (DeviceTest) - - Метод запускает тест устройства

Настройка компоненты (Windows,Linux)

Настройка компоненты происходит при помощи формы настройки (Рис. 1.), доступ к которой может быть получен средствами БПО.


Рис. 1. Форма настройки компоненты "1С: Сканер штрихкода"(Native)

Параметры настройки (Windows,Linux)

-Клавиатура (по умолчанию)

Параметр задает порт оборудования, через который данные от оборудования должны поступать к компоненте. В случае "Клавиатура", компонента в качестве источника данных будет воспринимать клавиатурные события в системе. В случае "COM1-N", компонента в качестве источника данных будет оживать данные от соответствующего COM-порта в системе.Бит данных (только для "COM1-N") Параметр задает количество бит данных (параметр должен совпадать с тем, который указан при конфигурировании сканера).Стоп-бит (только для "COM1-N") Параметр задает количество стоп-бит (параметр должен совпадать с тем, который указан при конфигурировании сканера). Скорость (только для "COM1-N") -110
-300
-600
-1200
-2400
-4800
-9600 (по умолчанию)
-14400
-19200
-38400
-56000
-57600
-115200
-128000
-256000 Параметр задает скорость передачи данных (параметр должен совпадать с тем, который указан при конфигурировании сканера).Префикс (только для Windows) Один из кодов символов от 0 до 127 или NONE (по умолчанию) Параметр устанавливает один из кодов символов, как символ префикса, который сигнализирует компоненте о том, что со следующего символа начинаются символы штрихкода (параметр должен совпадать с тем, который указан при конфигурировании сканера).Суффикс Один из кодов символов от 0 до 127 (по умолчанию 13 (CR)). Параметр устанавливает один из кодов символов, как символ суффикса, который сигнализирует компоненте о том, что символы штрихкода окончены (параметр должен совпадать с тем, который указан при конфигурировании сканера).Таймаут клавиатуры Число (по умолчанию 75 (мс)) Параметр устанавливает максимальную задержку между последовательно идущими символами при работе в режиме "Клавиатуры"Таймаут COM-порта Число (по умолчанию 5 (мс)) Параметр устанавливает максимальную задержку между последовательно идущими символами при работе в режиме "COM1-N"Кодировка COM-порта

-UTF-8 (по умолчанию)

Параметр устанавливает кодировку входящего потока данныхСимвол GS (только для "Клавиатуры")

-NONE (по умолчанию)

-Строка (по умолчанию)

Параметр устанавливает тип выходных данных. В случае Строка данные будут передаваться без изменений. В случае Base64 данные будут передаваться в виде строки содержащей данные кодированные в Base64.

ВАЖНО!
Настройки драйвера должны совпадать с настройками сканера

Параметры настройки (Android)

-Клавиатура (по умолчанию)

Параметр задает устройство, через которое данные должны поступать к компоненте. В случае "Клавиатура", компонента в качестве источника данных будет воспринимать клавиатурные события в системе. В случае одного из Bluetooth, компонента в качестве источника данных будет оживать данные от соответствующего Bluetooth устройства.Тип выходных данных

-Строка (по умолчанию)

Параметр устанавливает тип выходных данных. В случае Строка данные будут передаваться без изменений. В случае Base64 данные будут передаваться в виде строки содержащей данные кодированные в Base64.

ВАЖНО!
Настройки драйвера должны совпадать с настройками сканера

Возвращаемые события

В случае успешного получения данных от устройства компонента кодирует их соответствующим образом (Строка, Base64) и передает в 1С:Предприятие в виде одного из следующих событий

Читайте также: