1с сканеры штрих кода native api что это
Сегодня хочу предоставить вам в помощь ту компоненту, которая у меня получилась, она подходит под ряд тсд :
- honeywell scanpal eda50k( таких у нас 2)
- mobilebase ds5 (основной тсд для работы )
- CipherLab 9700(таких 2 , на них очень хороший сканер шк для сканирования на 5 и более метра ) точную версию не помню в документации к тсд написано 97XX
- AТОЛ Smart.Droid (таких нет) -пользователь с Инфостарта просил добавить в старую версию компоненты , как работает на 100% не знаю, но вроде не жаловался.
Теперь перечислю интенты и поля со строковыми данными, которые отлавливает компонента:
- Интент : scan.rcv.message Поле:data - это под honeywell scanpal eda50k, но на нем нужно настроить такие интенты
- Интент : com.cipherlab.barcodebaseapi.GET_DATA Поле:BarcodeData - это чиперлаб по моему это по умолчанию событие и в поле BarcodeData не строка, а байты, которые я разбирал с помощью драйвера и инструкции по чиперлабам, превращая их в строку
- Интент : app.dsic.barcodetray.BARCODE_BR_DECODING_DATA Поле:EXTRA_BARCODE_DECODED_DATA это под DS5
- Интент : DATA_SCAN Поле:com.hht.emdk.datawedge.data_string это под AТОЛ Smart.Droid.
Все интенты вшиты гвоздями статически)))
Извините за такой подход, писал для себя.
Теперь кратко пробежимся по работе компоненты.
Компонента состоит из .so файлов - библиотека на C++ для работы с платформами 1с и apk файл, в котором вшита логика работы с андроид.
Вся эта прелесть находится в zip архиве в таком варианте и должна попасть в мобильную конфигурацию 1с.
Имя подключения компоненты :
AddInNativeBEN.
Свойства компоненты:
IsEnabled(Включен)(bool)-показывает подключено ли событие отлова сканирования шк .
- StartGetScan(НачатьПолучатьСканирование)(void)-начать получать данные со сканера ТСД. Вызывает внешнее событие при получении данных.
- StopGetScan(ОстановитьПолучениеСканирования)(void)-остановить получение данных со сканера ТСД .
- GetDataTSD(ПолучитьДанныеОТСД)(String)-получает данных о серийном номере устройства модели и версии андроида работает как функция
- GetDataTSDevent(ПолучитьДанныеОТСДсобытие)-получает данных о серийном номере устройства модели и версии андроида. Вызывает внешнее событие
- GetDataTSD и GetDataTSDevent возвращает строку вида СерийныйНомер$Модель$ВерсияАдроидаEndDescription.
Данные внешнего события , которое инициализирует платформа:
Источник: ru.MyDLLForJava.CallAndWorkJava Событие:BarcodeDecodeData Данные: штрихкод
Источник: ru.MyDLLForJava.CallAndWorkJava Событие:DataTSD Данные: СерийныйНомер$Модель$ВерсияАдроидаEndDescription
Хочу заметить, что сам я конечно не проверял , но по описанию Native компонента живет только на клиенте.
Приведу пример кода из 1с :
Код формы рабочей области . т.е той формы, которая живет все время работы приложения.
Далее подписаться на внешнее событие можно где угодно, но я подписался в модуле приложения:
Код в модуле мобильный девайсов:
В принципе можно было сделать во всех формах подписку на внешнее событие и не использовать оповещения, но механизм оповещения был написан для старой версии компоненты , и что бы не переписывать всю мобильную конфигурацию , я воспользовался таким методом .
Прошу обратить внимание на этот код.
Если я что-то написал неправильно - пишите, рад быть просвещенным.
Данная компонента протестирована на мобильной платформе 8.3.10.84, а так же 8.3.15.105 версия андроида 4.4.
Примечание: на 8.3.10.84 при первом запуске есть ошибка связанная скорее всего с неправильной последовательность записи и запуска компоненты. После получения ошибки запускаю еще раз и все отлично работает, даже после перезапуска базы.
02.07.2020 наконец то добрался до модернизации компоненты, как обещал сделал ее более универсальной -
появился новый метод StartMyGetScan("ИмяСобытия","ИмяПолеСоСтроковымиДаннымиШтрихКода").
StartMyGetScan останавливается тем же методом что и StartGetScan -StopGetScan.
Конечно к этому методу идет второй в паре StopGetKeyEvent()- он останавливает передачу нажатия клавиатуры в 1с.
Событие которое вызывается в 1с после нажатия клавиатуры "KeyEventAndroid" источник тот же что и у события штрих-кода.
Если кому то все таки понадобится отлавливать события нажатия клавиш , то замечу, что после установки апк из архива на ТСД , в специальных возможностях его необходимо включить после установки он носит имя "getKeyboard".
Для тех у кого ТСД M3 Mobile SL10, SL10К - один из пользователей , попросил добавить информацию в статью:
В «1С:Управление аптечной сетью» в разделе Настройки подключаемого оборудования (Администрирование – Подключаемое оборудование) должен быть установлен флажок Использовать подключаемое оборудование.
Затем необходимо нажать ссылку Подключаемое оборудование и в открывшейся форме Подключение и настройка оборудования выбрать Тип оборудования - Сканеры штрихкода. Далее нужно создать новый экземпляр оборудования (нажатием кнопки Создать) и заполнить/проверить следующие реквизиты:
- Устройство используется – должен быть установлен флажок;
- Тип оборудования - должно быть указано значение Сканеры штрихкода;
- Драйвер оборудования – выбрать из списка драйвер 1С:Сканеры штрихкода (NativeApi);
- Рабочее место и Наименование – будут заполнены автоматически данными из системы;
- Серийный номер – необязательный реквизит. Можно ввести с клавиатуры заводской номер, указанный на корпусе устройства.
Чтобы сохранить экземпляр необходимо нажать кнопку Записать и закрыть.
Рис. 1. Создание нового экземпляра подключаемого оборудования
Внешняя компонента «Сканер Штрихкода»
После сохранения элемента необходимо нажать на появившуюся на форме кнопку Настроить. В открывшейся форме все реквизиты будут заполнены автоматически.
Рис. 2. Окно настроек драйвера (Windows)
В таблице ниже представлены общие замечания по заполнению данных для Windows и Linux.
Доступные серийные (COM) порты
Устанавливает канал связи, по которому драйвер ожидает поступления данных. В случае Клавиатуры, драйвер будет ожидать событий клавиатуры. В случае одного из доступных COM-портов системы, он будет ожидать данных от него
HID клавиатурного устройства
Имеет смысл, только если в качестве Порта выбрано Клавиатура
Бит данных при передаче по COM порту
(имеет смысл, только если в качестве Порта выбрано COM устройство )
Стоп бит данных при передаче по COM порту
(имеет смысл, только если в качестве Порта выбрано COM устройство )
Диапазон значений от 110 до 256000
Скорость при передаче по COM порту
(имеет смысл, только если в качестве Порта выбрано COM устройство )
код символа от 0 до 127
Символ префикса, передаваемый сканером перед данными штрихкода
код символа от 0 до 127
Символ суффикса, передаваемый сканером после данных штрихкода
Время с начала ввода, за которое ожидается получение клавиатурных событий от сканера
Время с начала ввода, за которое ожидается получение данных от COM порта
Кодировка символов передаваемых сканером (как правило, UTF-8)
клавиша клавиатуры на выбор
Тип выходных данных
Тип выходных данных
Строка – данные как они получены от устройства
Base64 – данные полученные от устройства, преобразованные в Base64
Игнорировать состояние клавиатуры
Тест подключения
Существует много разнообразных видов сканеров - простых, сложных, с возможностью подключения как клавиатура, с возможностью подключения по COM (серийный порт), с накоплением данных и т.д. Во всех случаях, для успешной работы драйвера 1С:Сканера штрихкодов с конкретным оборудованием их настройки должны быть согласованы между собой
Чтобы понять, как сейчас настроен сканер, нужно нажать кнопку Тест подключения.
Рис. 3. Тест устройства (выделены подключенные устройства)
Рис. 5. Тест устройства после считывания штрихкода сканером в клавиатурном режиме
Важно! При сканировании в рабочем режиме нужно, чтобы префикс и суффикс, с которыми настроен сканер (устройство), совпадали с теми, которые указаны в основном окне настроек драйвера.
Рис. 6. Тест устройства после считывания штрихкода сканером в режиме COM-порта
Возможность подключения нескольких сканеров одновременно
Компонент 1С:Сканер шрихкодов версии 9.х позволяет работать одновременно с несколькими устройствами ввода. Однако, ввиду особенностей операционных систем (ОС), существуют некоторые ограничения, представленные в таблице ниже.Может быть подключено до 64 COM устройств (если они доступны, каждое устройство может быть подключено только один раз), и одно клавиатурное устройство.
Может быть подключено до 64 COM устройств (если они доступны, каждое устройство может быть подключено только один раз), и до 64 клавиатурных устройство с уникальным HID.
Штрихкоды, содержащие спецсимволы и символы GS1
Некоторые штрихкоды, такие как PDF417, QR, Datamatrix могут кодировать сложные последовательности символов, часть из которых может быть нечитаемой и/или иметь специальное назначение, например символ GS1 в кодах маркировки. Чтобы определить содержит ли код символ GS1 или другие спецсимволы, нужно перейти в окно Тест устройства и отсканировать сканером тестовый штрихкод.Рис. 7. Штрихкод GS1 Datamatrix для проверки передачи сканером символа GS1
Пример штрихкода в HRI (Human Readable Interpretation) форме GS1:
Рис. 8. Результат сканирования штрихкода для проверки клавиатурным сканером
Большинство сканеров передают символ GS1 либо нажатием клавиши F8, либо сочетанием клавиш Alt(down)+0+0+2+9+Alt(up) (поведение по умолчанию).
Если это не так, то можно настроить сканер и драйвер 1С:Сканер штрихкодов таким образом, чтобы их настройки были согласованы между собой. В этом случае, при сканировании штрихкода с Рис. 7. необходимо получить тот же результат, что и на Рис. 8. В противном случае, вместо ‘GS’ в результате будет отображена другая последовательность символов.
Однако, данные, которые могут быть кодированы некоторыми типами штрихкодов, не ограничиваются только наличием символа GS1, они могут содержать символы произвольного алфавита, как показано на Рис. 9.
Рис. 9. Результат сканирования в COM режиме штрихкода, содержащего данные кодированные последовательностью символов со сложным алфавитом
При работе с такими типами штрихкодов рекомендуется использование режима COM.
Тип выходных данных
В компоненте 1СCканер шрихкодов версии 9.х поддерживаются несколько типов исходящих данных:
Тип Строка предназначен для большинства случаев, поскольку, как правило, данные, полученные от сканера, состоят из символов ограниченного и известного алфавита (например, коды EAN8, EAN13 – только цифры, Code93 – цифры и латинские буквы и т.д.).
Тип Base64 предназначен для случаев, когда данные могут содержать неожиданные, непечатаемые спецсимволы. К таким типам штрихкодов можно отнести: PDF417 ОМС полиса, DataMatrix больничного листа, DataMatrix S1 (контрольные марки продукции, маркируемой средствами идентификации). К специальным символам так же относится и символ с кодом 0, который из-за ограничений технологии NativeApi нельзя передать между внешней компонентой и «1С:Предприятием». Подробнее о таких штрихкодах см. в разделе Штрихкоды, содержащие спецсимволы и символы GS1.
Настройка COM соединения
Стандартные настройки COM соединения драйвера 1С:Cканер штрихкодов отражают стандартные настройки COM большинства сканеров. Однако, в каких-то конкретных случаях это может не так. В таких ситуациях нужно воспользоваться инструкцией настройки своего сканера (устройства) и изменить настройки драйвера 1С:Сканер шрихкодов таким образом, чтобы они были согласованы. При правильной настройке в момент чтения тестовых штрихкодов в режиме COM будут получены результаты, как было показано на рисунках выше.
Android. Сканеры мобильных устройств
Настройка сканера на мобильных устройствах имеет свои особенности. Подключение внешних сканирующих устройств рекомендуется производить заранее в операционной системе.
Устройства, подключаемые через Bluetooth, могут определяться операционной системой по-разному: мультимедийное устройство ввода, внешняя клавиатура, Bluetooth-устройство и пр.
Рис. 10. Bluetooth-устройства, определенные операционной системой, как: мультимедийное устройство ввода, внешняя клавиатура, Bluetooth-устройство
Если сканер подключается, в режиме эмуляции клавиатуры, то в его настройках должен быть включен параметр Устройство ввода.
Рис. 11. Настройка для устройств ввода
Рис. 12. Настройка сканера на мобильном устройстве
Далее необходимо указать драйвер 1С:Сканер штрихкода (Native).
В параметрах подключения нужно выбрать значение Клавиатура для устройств, которые эмулируют режим Клавиатура:
- сканер, встроенный в ТСД;
- сканер, подключенный через USB;
- Bluetooth-устройства, определенные, как устройства ввода.
Для внешних сканеров, подключаемых через Bluetooth, но не являющихся устройством ввода, необходимо в параметрах подключения выбрать само устройство.
Рис. 15. Настройка подключения Bluetooth-устройства
Чтобы такие сканеры не переключались в режим энергосбережения («спящий» режим) драйвером каждый 5 секунд производится опрос устройства.
Тестирование мобильной версии 1С:Сканер штрихкодов можно выполнить на тех же штрихкодах, что указаны выше.
Самым простым и удобным способом установки сканера штрих кода в 1С является подключение с помощью технологии Native API. Она используется не только для создания сканера штрих кода, но и для других внешних компонентов. Благодаря ей возможно создавать программы, которые будут часто взаимодействовать с системой 1С. Ниже описана подробная инструкция, как это сделать.
Первый шаг
Изначально необходимо скачать сам драйвер Native Api. Это можно сделать по ссылке или найти и скачать в интернете. Но будьте внимательны и проверяйте файлы из неизвестных сайтов на вирусы.
Собственный интерфейс, такой как Native API может быть установлен на операционные системы Linux и Windows. Установка и использование бесплатны.
Второй шаг
Теперь необходимо разархивировать его. Открыть папку и нажать на файл установки. Следуйте подсказкам, которые появляются при каждом последующем шаге установки.
Этот драйвер дает возможность подключать сканер штрих кода через Com-порт или USB.
Третий шаг
Как только установка завершена, вы можете приступить к непосредственному соединению сканера штрих кода и используемой программой 1С на вашем персональном компьютере. Для этого необходимо подключить сканер любым удобным способом и открыть 1С.
Четвертый шаг
В программе откройте вкладку «Администрирование» и в ней зайдите в «Поиск оборудования». Найдите строку «Использовать подключаемое оборудование» и установите галочку напротив нее.
Теперь открывается новая вкладка под названием «Подключаемое оборудование», в которую необходимо зайти для дальнейшего подключения.
Пятый шаг
Перед вами открылось новое окно. В нём нужно выбрать тип оборудования, в нашем случае это «Сканеры штрих кода». Для создания пары с устройством нажимаете кнопку «Создать».
Шестой шаг
Во всплывшем окне ставите галочку рядом с пунктом «Устройство используется». Напротив строки «Драйвер оборудования» выбираете тот, у которого в скобочках написано «Native API». Далее сохраняете введенные данные, но окно не закрываете.
Седьмой шаг
В следующем этапе требуется нажать на вкладку «Настроить…» в этом же окне, после чего, программа выведет запрос на установку драйвера. Здесь обязательно нужно выбрать «Установить».
Восьмой шаг
В новом окне сверьте данные:
Сохраните введенные данные и закройте окно.
Это был последний шаг, после которого вы можете использовать сканер штрих кода. Для установки сканера штрих кода на иные операционные системы необходимо использовать другой драйвер. Настоятельно рекомендуем, для подключения сканера штрих-кода по технологии Native API обратиться к квалифицированным специалистам.
Программа предоставляется в виде архива со следующей структурой каталогов:
Component: папка с программным компонентом obrscanner.zip. Компонент представляет из себя zip-архив и содержит в себе файлы динамических библиотек, поддерживающих подключение в режиме NativeAPI 1С для архитектуры i386 и x64 системы Windows, а также манифест для обеспечения правильного процесса загрузки.
Distrib: Содержит необходимые системные файлы для архитектуры i386 и x64 системы Windows, необходимые для обеспечения работы компоненты. Данные файлы необходимо скопировать в системные каталоги Windows в соответствии с расположением в папках в архиве.
InfoBaseShtrih: Содержит тестовую конфигурацию для платформы «1С-Предприятие» версии 8.2 с примером использования компоненты. В данной конфигурации используется вариант компоненты, встроенный непосредственно в конфигурацию (общий макет). В данном варианте не требуется наличие на диске динамических библиотек компоненты или файла архива.
Системные требования:
1. Операционная система: Windows XP и выше, Windows Server 2000 и выше, для архитектуры i386 или x64;
2. Установленная технологическая платформа "1С-Предприятие" версии не ниже 8.2
Требования к установке:
Компонента из архива, находящаяся в каталоге "Component" должна быть встроена в макет конфигурации "1С-Предприятия". Для этого предварительно распакуйте архив на жесткий диск. Запустите конфигуратор 1С-Предприятия. В ветке конфигурации "Общие/Общие макеты" нажмите правую кнопку мыши, и в появившемся контекстном меню выберите пункт "Добавить". В появившемся окне выбора типа макета выберите "Двоичные данные". Перейдите в поле "Загрузить из файла" и выберите файл компоненты "obrscanner.zip".
Затем необходимо скопировать системные библиотеки из папки "Distrib" распакованного архива в каталоги системных файлов Windows. Для 64-битных систем: 64-битные библиотеки должны копироваться в папку System32, 64-битные - в папку SysWOW64. Для 32-битных систем - копировать библиотеки из папки архива SysWOW64 в папку system32 системы Windows. В каждой папке разные версии библиотек, хотя 2 из них имеют одинаковые имена файлов - libiconv.dll и msvcr120.dll, их надо размещать строго по соответствующим папкам. Файлы должны быть скопированы в системную папку именно на том компьютере, на котором будет запущен сервер приложений 1С.
Достоинства
Компонента может работать как на стороне клиента, так и на стороне сервера приложений. В связи с тем, что компонент оформлен в формате NativeAPI, не требует установки и регистрации. Может быть загружен как из файла динамической библиотеки, расположенного на жестком диске, так и из общего макета конфигурации 1С-предприятия. Работает как с обычными, так и с управляемыми формами. Работает на серверах архитектуры i386 и x64 (пока только для Windows, но планируется версия для Linux). Перед тем, как дать программе задание распознать изображение, к нему можно применить массу различных улучшающих эффектов – осветление, увеличение контрастности, выделение контура и т.д. В процессе распознавания можно запустить вращение изображения по 15%. В части отображения изображений штрих-кодов не требует установки никакого дополнительного программного обеспечения на компьютере клиента, так как сгенерированное изображение является стандартным для системы Windows. В отличии от других подобных компонент такого типа имеет следующие неоспоримые преимущества: 1. Генерируемое изображение является векторным, и не зависит от разрешения устройства вывода; 2. При формировании изображения не используются временные файлы на диске, изображение формируется прямо в программе на языке 1С для вставки в таблицу или на форму, что позволяет избежать конфликтов доступа к файлу, а также избежать случаев отсутствия доступа к папкам на жестком диске сервера приложений.
Использование в программах 1С 8.2, 8.3
Компонент распознавания и печати штрих-кодов оформлен в виде внешней компоненты «NativeAPI» для систем «1С-Предприятие» версии не ниже 8.2, и может быть встроен в программу несколькими способами:
- При помощи загрузки динамической библиотеки по указанному пути (в этом случае необходимо указывать путь к динамической библиотеке определенной архитектуры платформы 1С.
- При помощи указания URL к внешнему компоненту, в виде двоичных данных или ZIP-архива, в формате, аналогичном При помощи встраивания в общий макет двоичных данных архива.
Свойства объекта OBRExtension:
Картинка (Picture) - чтение, запись. Установка картинки для распознавания. Возможно два варианта установки данного свойства:
1: В качестве значения свойства устанавливается имя файла изображения. При этом компонента пытается загрузить файл изображения с диска по указанному пути, и определить тип его содержимого. Доступные типы графических файлов – JPEG, PNG, GIF, BMP.
2. В качестве значения свойства устанавливается строка, содержащая двоичные данные, полученные из картинки 1С:
При считывании значения из данного свойства, компонент всегда возвращает двоичные данные текущей картинки, загруженной с диска или захваченной с камеры. Получить готовую картинку 1С можно следующим образом:
Картинка1С = Новый Картинка(Сканер.Картинка);
ТипыСимволов (SymbolTypes) – чтение, запись. Установка/считывание доступных для использования типов штрих-кодов. В качестве значения передаётся строка, содержащая символьные наименования типов штрих-кодов, разделённые запятой. Возможные значения следующие: "ean-13", "ean-8", "upc-e", "upc-a", "isbn-10", "isbn-13", "i2/5", "code-39", "code-128", "pdf417", "qr-code". По умолчанию установлено распознавание всех указанных типов символов.
ПоворачиватьКартинку (RotateBitmap) – чтение, запись. Содержит логическое значение – истина или ложь. В случае установки значения Истина, для наиболее качественного распознавания изображение будет поворачиваться с приращением 15 градусов, до 90 градусов.
ГоризонтальноеРазрешение (DensityX) – чтение, запись. Позволяет задать горизонтальное разрешение камеры, устанавливается число от 1 до 10. Самое мелкое разрешение – 1.
ВертикальноеРазрешение (DensityY) – чтение, запись. Позволяет задать вертикальное разрешение камеры, устанавливается число от 1 до 10. Самое мелкое разрешение – 1.
Яркость (Brightness) - Регулировка яркости переданного программе изображения
Контрастность (Contrast) - Регулировка контрастности переданного программе изображения
ОттенкиСерого (GrayScale) - Преобразование цветного изображения в изображение с оттенками серого
Освещенность (Lightness) - Регулировка освещенности переданного программе изображения
Затемненность (Darkness) - Регулировка затемненности переданного программе изображения
Насыщенность (Saturation) - Регулировка насыщенности цвета переданного программе изображения
СведенныйСвет (SplitLight) - Регулировка сведения цветов переданного программе изображения
Постеризация (Posterize) – Эффект получения обобщённого изображения с ограниченным количеством полутонов
Соляризация (Solarize) – Применение эффекта соляризации к переданному программе изображению. Регулировка глубины эффекта.
ГауссовоРазмытие (GaussianBlur) – Применение фильтра размытия по гауссу к переданному программе изображению. Регулировка глубины эффекта.
Сглаживание (AntiAlias) – Применение эффекта сглаживания к переданному программе изображению. Регулировка глубины эффекта.
Трассировка (Trace) – Применение эффекта выделения контуров изображения к переданному программе изображению. Регулировка глубины эффекта.
Инверсия (Invert) – Применение эффекта негатива к переданному программе изображению. Если переданное значение – Истина, то цвета изображения инвертируются.
Внимание! Для того, чтобы наглядно увидеть, каким образом те или иные параметры преобразования изображения влияют на результирующее изображение, запустите обработку «Обработка сканирования кодов» в демонстрационной базе данных.
ДекодироватьBase64 (DecodeBase64) – Декодирование зашифрованной алгоритмом Base64 строки данных, возвращаемой из внешней компоненты при распознавании.
КодироватьBase64(EncodeBase64) – Кодирование строки данных 1С алгоритмом Base64.
СканироватьРисунок (ScanPicture) – Сканирование рисунка, переданного компоненте в свойстве «Картинка», на предмет наличия штрих-кодов. Декодированные данные возвращаются в программу в виде внутреннего представления 1С массива структур со следующим набором полей:
- ТипКодаСтр – тип распознанного символа в виде текстовой строки с наименованием типа.
- Данные – строка с распознанными данными, закодированная в формате base64. Может быть раскодирована при помощи следующего кода:
- Угол – угол, на который было повернуто изображение для того, чтобы распознать символ. Число с плавающей точкой.
- Аддон – строка с именем дополнения, которое было применено для распознавания.
- Локации – массив структур, содержащих координаты точек контура участка изображения, в котором найден распознанный символ. Каждая структура содержит поля X и Y, являющиеся целыми числами.
Получение описанного массива структур из результирующей строки возможна при помощи следующего кода 1С:
ПолучитьФрагмент (GetFragment) – возвращает фрагмент исходного рисунка, содержащий обнаруженный символ штрих-кода (рис.2). Рисунок возвращается в виде двоичных данных 1С и может быть передан в конструктор встроенного объекта 1С «Картинка»:
В качестве параметра в функцию передается порядковый номер обнаруженного символа, первый фрагмент обозначается единицей.
Свойства объекта SymbolExtension:
ШтрихкодДанные (BarcodeData) – Установка и чтение строки данных для преобразования в штрих-код (подробнее в разделе «Формат штрих-кодов»).
ШтрихкодТип (BarcodeType) – Установка и чтение типа штрих-кода. В качестве значения передается числовой код. Соответствие типов штрих-кодов числовым кодам приведено в таблице:
Читайте также: