Комплектация ПО:
Программа предоставляется в виде архива со следующей структурой каталогов:
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-архива, в формате, аналогичном ПолучитьНавигационнуюСсылку.
- При помощи встраивания в общий макет двоичных данных архива.
Пример использования:
Процедура ПриНачалеРаботыСистемы()
ПутьКМакету = "ОбщийМакет.КомпонентаШтрихКода";
Если ПодключитьВнешнююКомпоненту(ПутьКМакету, "OBRLib",
ТипВнешнейКомпоненты.Native) Тогда
СканерОбъект = Новый("AddIn.OBRLib.OBRExtension");
ШтрихОбъект = Новый("AddIn.OBRLib.SymbolExtension");
Иначе
СканерОбъект = Null;
ШтрихОбъект = Null;
Сообщить("Невозможно подключить внешнюю компоненту!");
КонецЕсли;
КонецПроцедуры
Свойства объекта 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. Может быть раскодирована при помощи следующего кода:
Данные = СканерОбъект.ДекодироватьBase64(ДанныеСканирования[Сч].Данные);
- Угол – угол, на который было повернуто изображение для того, чтобы распознать символ. Число с плавающей точкой.
- Аддон – строка с именем дополнения, которое было применено для распознавания.
- Локации – массив структур, содержащих координаты точек контура участка изображения, в котором найден распознанный символ. Каждая структура содержит поля X и Y, являющиеся целыми числами.
Получение описанного массива структур из результирующей строки возможна при помощи следующего кода 1С:
ДанныеСканирования = ЗначениеИзСтрокиВнутр(Коды);
ПолучитьФрагмент (GetFragment) – возвращает фрагмент исходного рисунка, содержащий обнаруженный символ штрих-кода (рис.2). Рисунок возвращается в виде двоичных данных 1С и может быть передан в конструктор встроенного объекта 1С «Картинка»:
Рисунок = Новый Картинка(ПолучитьФрагмент(1));
В качестве параметра в функцию передается порядковый номер обнаруженного символа, первый фрагмент обозначается единицей.
Свойства объекта SymbolExtension:
ШтрихкодДанные (BarcodeData) – Установка и чтение строки данных для преобразования в штрих-код (подробнее в разделе «Формат штрих-кодов»).
ШтрихкодТип (BarcodeType) – Установка и чтение типа штрих-кода. В качестве значения передается числовой код. Соответствие типов штрих-кодов числовым кодам приведено в таблице:
1 |
Code 11 |
2 |
Standard Code 2 of 5 |
3 |
Interleaved 2 of 5 |
4 |
Code 2 of 5 IATA") |
6 |
Code 2 of 5 Data Logic |
7 |
Code 2 of 5 Industrial |
8 |
Code 3 of 9 (Code 39) |
9 |
Extended Code 3 of 9 (Code 39+) |
13 |
EAN |
16 |
GS1-128 (UCC.EAN-128) |
18 |
Codabar |
20 |
Code 128 (automatic subset switching) |
21 |
Deutsche Post Leitcode |
22 |
Deutsche Post Identcode |
23 |
Code 16K |
24 |
Code 49 |
25 |
Code 93 |
28 |
Flattermarken |
29 |
GS1 DataBar-14 |
30 |
GS1 DataBar Limited |
31 |
GS1 DataBar Extended |
32 |
Telepen Alpha |
34 |
UPC A |
37 |
UPC E |
40 |
PostNet |
47 |
MSI Plessey |
49 |
FIM |
50 |
LOGMARS |
51 |
Pharmacode One-Track |
52 |
PZN |
53 |
Pharmacode Two-Track |
55 |
PDF417 |
56 |
PDF417 Truncated |
57 |
Maxicode |
58 |
QR Code |
60 |
Code 128 (Subset B) |
63 |
Australia Post Standard Customer |
66 |
Australia Post Reply Paid |
67 |
Australia Post Routing |
68 |
Australia Post Redirection |
69 |
ISBN (EAN-13 with verification stage) |
70 |
Royal Mail 4 State (RM4SCC) |
71 |
Data Matrix |
72 |
EAN-14 |
74 |
CODABLOCKF |
75 |
NVE-18 |
76 |
Japanese Postal Code |
77 |
Korea Post |
79 |
GS1 DataBar-14 Stacked |
80 |
GS1 DataBar-14 Stacked Omnidirectional |
81 |
GS1 DataBar Expanded Stacked |
82 |
PLANET |
84 |
MicroPDF417 |
85 |
USPS OneCode |
86 |
Plessey Code |
87 |
Telepen Numeric |
89 |
ITF-14 |
90 |
Dutch Post KIX Code |
92 |
Aztec Code |
93 |
DAFT Code |
97 |
Micro QR Code |
98 |
HIBC Code 128 |
99 |
HIBC Code 39 |
102 |
HIBC Data Matrix |
104 |
HIBC QR Code |
106 |
HIBC PDF417 |
108 |
HIBC MicroPDF417 |
110 |
HIBC_BLOCKF |
112 |
HIBC Aztec Code |
128 |
Aztec Runes |
129 |
Code 32 |
130 |
Composite Symbol with EAN linear component |
131 |
Composite Symbol with GS1-128 linear component |
132 |
Composite Symbol with GS1 DataBar-14 linear component |
133 |
Composite Symbol with GS1 DataBar Limited component |
134 |
Composite Symbol with GS1 DataBar Extended component |
135 |
Composite Symbol with UPC A linear component |
136 |
Composite Symbol with UPC E linear component |
137 |
Composite Symbol with GS1 DataBar-14 Stacked component |
138 |
Composite Symbol with GS1 DataBar-14 Stacked Omnidirectional component |
139 |
Composite Symbol with GS1 DataBar Expanded Stacked component |
140 |
Channel Code |
141 |
Code One |
142 |
Grid Matrix |
Опция1 (Option1), Опция2 (Option2), Опция3 (Option3) – Дополнительные опции, требующиеся для некоторых типов штрих-кодов.
Угол (Angle) – Угол поворота результирующего изображения в градусах.
Первичный (Primary) – Дополнительные данные для составных штрих-кодов.
ЦветФона (BackColor) – Цвет фона (подложки) изображения сгенерированного штрих-кода. В качестве параметра могут использоваться следующие значения:
- Целое число, в котором упакованы значения RGB цвета. Упаковку можно произвести по следующей формуле: Красный + (Зеленый * 256) + (Синий * 65536);
- Строка с наименованием цвета на английском языке. Список соответствии наименований цветов представлен в таблице. Все наименования цветов соответствуют наименованиям Web-цветов в 1С.
ЦветТекста (TextColor) – Цвет шрифта, используемого при отображении надписи сгенерированного штрих-кода. Требования к передаваемому значению такие же, как и для свойства «ЦветФона».
ЦветШтриха (BarColor) – Цвет, используемый при отображении графических элементов (штрихов) сгенерированного штрих-кода. Требования к передаваемому значению такие же, как и для свойства «ЦветФона».
ВыводитьТекст (ShowText) – Для типов символов, в которых возможен вывод надписи в изображении штрих-кода (например, EAN-13) позволяет включать и отключать отображение надписи. В случае присвоения значения «Истина» надрись будет отображена, в противном случае – отключена.
ПолеСлева (MarginLeft), ПолеСверху (MarginTop), ПолеСправа (MarginRight), ПолеСнизу (MarginBottom), ОтступСлева (PaddingLeft), ОтступСверху (PaddingTop), ОтступСправа (PaddingRight), ОтступСнизу (PaddingBottom) – отвечают за размеры отступов и полей. Соответствие параметров показано на рисунке.
ТолщинаРамки (BorderWidth) – Установка толщины рамки вокруг штрих-кода (0 – рамка не используется).
РазмерШрифта (FontSize) – Установка размера шрифта человекочитаемой текстовой метки, выводимой вместе с штрих-кодом. Допускаются значения в виде целых чисел от 7 до 72.
СемействоШрифта (FontFamily) – Текстовая строка с наименованием семейства шрифта, с применением которого будет отображена текстовая метка на штрих-коде. Допустимые значения – наименования шрифтов, установленных в системе (на сервере, где будет запущена компонента). Например – «Arial», «Times New Roman», «Tahoma».
СтильШрифта (FontStyle) – Текстовая строка, содержащая набор стилей шрифта, с применением которого будет отображена текстовая метка на штрих-коде. В случае применения нескольких стилей возможно их перечисление через запятую. Допустимые значения:
- Bold – жирный шрифт
- Italic – наклонный шрифт
- Underline – подчеркнутый шрифт
- Strikeout – зачеркнутый шрифт
Пример значения: «Bold, Italic».
Методы объекта OBRExtension:
СоздатьРисунок (GenPicture) – Сгенерировать векторный рисунок в формате WMF (windows metafile) в соответствии с установленными ранее параметрами. Параметры метода:
Ширина: Ширина результирующего изображения
Высота: Высота результирующего изображения
Возвращаемое значение: двоичные данные, которые могут быть переданы в конструктор встроенного объекта 1С «Картинка».
Условия распространения
Программное обеспечение распространяется в виде ZIP-архива с упакованными двоичными файлами. Код программы в комплект поставки не входит, но может быть предоставлен для собственного использования, но не для коммерческих целей.
Техническая поддержка:
Бесплатная техподдержка в течение 1 месяца с момента покупки. Возможно приобретение платной технической поддержки.
Правила работы магазина
Пожалуйста, обратите внимание на правила работы магазина. Рекомендуем вам перед покупкой воспользоваться услугой подбора решения под ваши задачи, чтобы покупка оказалась максимально эффективной.