В
Для этого понадобится ActiveX-компонент BarcodeGenerator от Душелова. Разработчиком заявлена поддержка формата QR и многих форматов штрих-кодов.
Качаем и распаковываем архив, запускаем батник reg.bat. Для работы компонента нужен .NET Framework 2.0.
На форму помещаем ActiveXControl с именем axcTest, GUID равным {A7E27105-8C26-331E-BE0B-0308B687EAAC} и ProgID равным Душелов.Barcode1C. Значения ширины и высоты компонента у меня равны 180.
Скрипт генерации крайне прост:
axcTest.ActiveXObject.ТипШтрихкода = 'QR Code';
axcTest.ActiveXObject.Сгенерировать();
Больше свойств и методов описано в файле документации.
Например, сохранение кода в графический файл:
Для вышеописанного тестового примера будет:
Такой QR-код можно использовать в карточке контакта или контрагента для быстрого звонка с мобильного по указанному номеру, ещё его можно выводить в печатные формы.
Здравствуйте! Есть такой вопрос:
Стоит задача, в рамках которой мы должны генерировать двумерный штрих код по трем полям.
Есть поля: Артикул, серийный номер и дата производства... Вопрос в том, какими символами их нужно разделять, чтобы сканер потом это распознал?
Нужно ли будет каким-то особым образом настраивать сканер?
Алёна, это зависит от того, куда передаётся и чем обрабатывается информация от сканера. Для обычных одномерных кодов сканеры чаще всего просто имитируют ввод цифр с клавиатуры.
В двухмерном может быть строка произвольной структуры, если её получать от сканера как одну строку и разделять программно. Например, программы для телефонов умеют специальным образом обрабатывать гиперссылки, телефонные номера, email и т.д.
Если разбирать строку в Terrasoft, можно разделить части хоть пробелом, хоть каким-то # примерно так:
var CodeText = '123#456#31.04.2012'; var NumberParts = CodeText.split('#');
Получим массив из 3 строковых элементов.
Александр, спасибо за быстрый ответ! К сожалению, я пока не знаю, как именно будет обрабатываться информация из сканеров, выясню это у клиента.
Здравствуйте!
В Terrasoft установили данный вариант, но на открытии карточки, где расположен ActiveXControl, выдается ошибка (файл во вложение).
Пробовали установить в Visual Studio, так же возникает ошибка.
Марина, а батник reg.bat отработал без ошибок? Файл Dushelov.Barcode1C.dll не перемещали после запуска батника? Фреймворк установлен нужной версии?
Здравствуйте!
Александр, батник установился успешно, файл не перемещали. И фреймворк установлен версии 2.0.
Странно. А на другом компьютере то же самое, не работает?
А другой ActiveX нормально открывается?
Вот мои сервисы тестового примера для 3.3.2.
На другом компьютере аналогичная ошибка: "Не удается найти указанный файл". А вот другой ActiveX (видео) открывается нормально
Марина, для диагностики проблемы требуется следующая информация:
- Операционная система (включая информацию о сервис-паках);
- Версия базы данных Terrasoft;
- Версия бинарных файлов;
- Скриншот колл-стека (касается сбоя в комментарии #4)
1. ОС Windows Server 2003 R2 Enterprise Edition (Service Pack 2)
2. SQL Server 2008
3. Terrasoft 3.4.0.97
4.
Проверил на 3.4.0 - тоже работает. А на другом компьютере тоже Windows Server 2003? Может, в ней чего-то не хватает для регистрации библиотеки? Или попробовать регистрировать и тестировать в Windows от пользователя с правами админа?
А Windows 32-битная или 64-битная?
Сейчас попробовала на Terrasoft 3.3.2.255 все работает, получается проблема не в ОС, а в Terrasoft 3.4.0.97
В 97 тоже работает.
function wnd_TestFormOnPrepare(Window) { Self.WindowCaption = 'Версия программы ' + Connector.Version; }
Странно, почему у меня не хочет работать в 3.4. А в сам Террасофт ни каких доп сервисов не нужно загружать?
Я переносил только эту тестовую форму и её скрипт. Может, не совпадает GUID или ProgID ActiveX компонента?
При вводе GUID он автоматически сам указывает ProgID и наоборот, поэтому они совпадают. Переношу форму из 3.3.2 в 3.4 опять ошибка, что не найден указанный файл.
Добрый день! Возможно ли уменьшить размер штрихкода? Сделать 238 * 238 пикселей? Если просто уменьшать картинку, то штрихкод не всегда считывается (искажается)
Марина, там есть параметры ШиринаШтрихкода и ВысотаШтрихкода. Код искажается при их изменении? Если же нужно сделать более простой код из меньшего числа клеточек, то не уверен, что этот компонент так умеет, это недостаток.