Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 сен 2021, 02:46

Печать штрихкодов в УФ нестандартными компонентами

Автор temrmal, 25 июл 2017, 23:46

0 Пользователей и 1 гость просматривают эту тему.

temrmal

Берем к примеру УТ 11. Печатаем этикетку. 30x20. При стандартном расположении штрихкода, а именно когда он на всю этикетку, то все читается сканером. Ну цифры немного квадратные. (поскольку штрихкод - это картинка, сформированная на сервере и переданная на клиент в виде png файла). Но ведь чаще всего хочется добавить еще текста на этикетку. И побольше информации. В итоге ШК до того уродлив получается, что ни один сканер его не читает. Про цифры и не говорю даже. К примеру размер шк 1,5 см на 0.5 см (если взять канцтовары, то на карандашах и ручках примерно такие , а то и меньше нанесены штрихкоды).
В итоге после долгих размышлений, я вспомнил про добрую старую 7.7 где использовалась barcode.ocx. Скачал последнюю версию 5, и начал ее пытать.
Но не тут то было))) Создал Макет. Добавил Рисунок, объект ActiveBarcode. В конфигураторе все норм. Но когда получаю &НаСервере данный макет, то в свойстве рисунка Объект = Неопределено!!!! т.е. не только не передается с сервера на клиент, а еще и отсутствует на сервере. Попробовал в толкстом клиенте получать заранее сохраненный mxl файл с рисунком штрихкода,брать область, менять свойства рисунка и выводить, тогда взлетело. А вот на тонком - тупик. Метод прочитать() табличного документа в тонком клиенте не работает. Следовательно и получить с файла область с рисунком ActiveX не получается.
А ведь основным направлением развития 1С считается именно тонкий клиент. Так и задача у меня только на тонком, поскольку сервер в другом конце города стоит.

Постарался без грубостей в адрес разработчиков, поскольку уже задолбался клиентам обьяснять, что "меньше этого штрихкода не получается", а в ответ "а в 7.7 у нас маленький был"

Вопрос - кто что может подсказать? Неужели все довольствуются компонентой рисуночной из УФ??? Как заставить Active Barcode заработать на сервере???



AIFrame

Вообще, получается меньше.

Вот этот черный квадрат по высоте делай меньше, отключай в формировании вывод цифр ШК и просто сделай их рядом на ячейке (представление ШК)

temrmal

Цитата: AIFrame от 26 июл 2017, 04:02
Вообще, получается меньше.

Вот этот черный квадрат по высоте делай меньше, отключай в формировании вывод цифр ШК и просто сделай их рядом на ячейке (представление ШК)

Мне в ширину надо 1.5 см. У тебя так выходит? сканер читает?

AIFrame

temrmal,
Убери в макете изменение пропорций картинки.
Задай ей нужный размер по ширине.
И пробуй формировать.
ШК не читается потому что при трансформации (растягивании и т.д.) нарушаются пропорции\промежутки полосок ШК, появляется эффект размытия по краям полосок и т.д. И только поэтому сканер не может их считать.
Теоретически, можно и на ширине в 100px напечатать ШК, лишь бы принтер такую точность потянул и не размазал все к чертям.

alex0402

Цитата: temrmal от 25 июл 2017, 23:46&НаСервере данный макет, то в свойстве рисунка Объект = Неопределено!!!!

barcode.ocx нужно и на сервере устанавливать.
AIFrame прав. штрихкоды сжимать/растягивать не нужно.
Спасибо за Сказать спасибо

temrmal

Цитата: AIFrame от 26 июл 2017, 13:03
temrmal,
Убери в макете изменение пропорций картинки.
Задай ей нужный размер по ширине.
И пробуй формировать.
ШК не читается потому что при трансформации (растягивании и т.д.) нарушаются пропорции\промежутки полосок ШК, появляется эффект размытия по краям полосок и т.д. И только поэтому сканер не может их считать.
Теоретически, можно и на ширине в 100px напечатать ШК, лишь бы принтер такую точность потянул и не размазал все к чертям.

В итоге разобрался))) потом уже прочитал. Минимальная ширина и высота есть у компоненты. 109 - ширина и 2 - высота. Скорее всего это пиксели. В стандартных решениях берется эталон 100 на 100 пикселей, рассчитывается сколько это миллиметров и потом высчитывается размер рисунка. Вообщем минимальная ширина (в 1с-овских единицах) рисунка которая считывается сканерами (4 модели пробовал, включая камеру мобильного приложения) - это 16 (15 считалось 2-умя, но с трудом, под определенным углом). Примерно 1.5 см. Причем в данном случае разницы нет, ставить в свойствах рисунка "растягивать" или "Пропорционально".

На самом деле есть примеры товаров, где штрихкод нанесен очень четко шириной меньше сантиметра, а читается за доли секунд любыми сканерами. Надеюсь, в 8.4 или 8.5 что то изменится)))А то в ювелирном магазине пришлось QR-код распечатывать, поскольку кучу данных на этикетку надо выводить.

Добавлено: 28 июл 2017, 01:25


Цитата: alex0402 от 26 июл 2017, 13:39
Цитата: temrmal от 25 июл 2017, 23:46&НаСервере данный макет, то в свойстве рисунка Объект = Неопределено!!!!

barcode.ocx нужно и на сервере устанавливать.
AIFrame прав. штрихкоды сжимать/растягивать не нужно.

Сервер и клиент на одном компьютере.

AIFrame

Цитата: temrmal от 27 июл 2017, 22:56На самом деле есть примеры товаров, где штрихкод нанесен очень четко шириной меньше сантиметра, а читается за доли секунд любыми сканерами. Надеюсь, в 8.4 или 8.5 что то изменится)))А то в ювелирном магазине пришлось QR-код распечатывать, поскольку кучу данных на этикетку надо выводить.
Они сформированы и напечатаны спец.средствами, а не пнг-шками с печатью 100dpi.
Скорее всего, такие этикетки формируются навороченными ТСД с встроенным принтером этикеток.
У меня есть термотрансферник zebra 420 под этикетки 50 на 30, так даже он на минимальной скорости и максимальном качестве с трудом наносит ean13 на 3 см в ширину.
Так что не пытайтесь прыгнуть выше головы и забить гвоздь бананом.


Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск