Печать штрихкода Code 128 с помощью шрифта

13.10.19

Задачи пользователя - Этикетки, ценники

Открытые шрифты и кодировщик для встраивания в собственные доработки.

Скачать исходный код

Наименование Файл Версия Размер
Шрифты и обработка печати Code 128
.zip 18,70Kb
67
.zip 1.0 18,70Kb 67 Скачать

Публикация закрывает вопрос с формированием и печатью Code 128 с помощью шрифта. 

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

1. Шрифты

Вместе с обработкой приложен комплект шрифтов, взятых из открытого репозитория https://github.com/Holger-Will/code-128-font по лицензии OPEN FONT LICENSE.

Также может быть использован шрифт https://fonts.google.com/specimen/Libre+Barcode+128 https://github.com/graphicore/librebarcode 

2. Кодировщик

Прилагаемый кодировщик совместим с этими шрифтами и использует маппинг кодов на символы шрифта по варианту "Common". См. таблицу Code 128 https://en.wikipedia.org/wiki/Code_128

Кодируются символы Набора B с динамическим переходом на Набор C для оптимизации длины штрихкода. Набор B: 

Символы пунктуации: !"#$%&'()*+,-./:;<=>?@[]\^_
Дополнительные символы: `{|}~
Цифры: 0..9
Заглавные буквы: A..Z
Малые буквы: a..z

Сам алгоритм был реализован по рекомендациям ГОСТ ISO/IEC 15417-2013 "Приложение Е (справочное). Использование знаков Start, Code и Shift для минимизации длины символа". Для желающих разобраться в коде есть комментарии.

Для использования в своих доработках нужно взять код из #Область КодированиеCODE128 и вызывать функцию СтрокаCODE128.

Обработка протестирована на релизе платформы 8.3.14.1854. Ограничений по релизу 8.3 нет.

Code128 Шрифт Штрихкод

См. также

Ценники и этикетки со штрих-кодом для 1С 8.х любой конфигурации

Этикетки, ценники Платформа 1С v8.3 Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Беларусь Украина Россия Управленческий учет Платные (руб)

Простая в использовании обработка для формирования и печати ценников и этикеток со штрих-кодом, с дополнительной ценой, для 1С8.х любой конфигурации. Большое разнообразие шаблонов печатных форм. Управляемая форма (Такси) + Обычный режим.

3588 руб.

11.11.2020    47922    54    44    

64

Штрих-коды в шаблоне этикетки

Этикетки, ценники Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Россия Управленческий учет Платные (руб)

Решение позволяет в шаблон этикетки с типом "Этикетка (обувь, одежда, табак...)" добавлять штрих-коды другого типа, например, GTIN в Code128.

4000 руб.

09.06.2021    15099    8    6    

11

Печать ценников. (Розница 2.3, УНФ 1.6, две цены + серийные номера) + УНФ 3.0

Этикетки, ценники Платформа 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 Платные (руб)

Встроенная в конфигурации Розница 2.3 и УНФ 1.6 подсистема печати ценников по мне слишком неповоротлива и с усилиями поддается тонкой настройке, решил с нуля написать свою универсальную печать ценников для этих конфигураций.

2000 руб.

04.11.2019    28347    113    87    

52

Печать из Андроид

Этикетки, ценники Мобильная платформа Бесплатно (free)

Печать этикеток на принтер WiFi без драйвера.

20.01.2023    1925    aldar    0    

8

Ценники (этикетки) для термопринтера

Этикетки, ценники Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Абонемент ($m)

Внешняя печатная форма для принтера этикеток. В отличие от базовой обработки для печати этикеток эта может выводить на печать дополнительные свойства справочника Номенклатура, а также в ней несложный программный код, что позволяет легко дорабатывать обработку под свои нужды.

2 стартмани

03.01.2023    3139    19    AndreyPonom    7    

9

Набор готовых макетов этикеток (ценников) для Розницы 2.3

Этикетки, ценники Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Абонемент ($m)

Архив с экспортными шаблонами этикеток (ценников) формата 58х40. Для тех, кто не хочет сам рисовать их.

2 стартмани

04.05.2022    12354    44    aximo    3    

11

Шаблон этикетки для УНФ (1С:Фреш)

Этикетки, ценники Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Описан механизм создания этикетки для термопринтера ТSC TDP-225 в подробностях. Приложен XML-файл с самим шаблоном.

1 стартмани

01.05.2022    11461    6    zemskov    7    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. rusmil 262 14.10.19 09:02 Сейчас в теме
А какими могут быть значения параметра ТекстШтрихкода и какой максимальной длины для функции СтрокаCODE128?
2. avasl 74 14.10.19 10:52 Сейчас в теме
(1) на входе есть проверка , что КодСимвола от 32 до 126. В противном случае возвращается пустая строка.
То есть в ТекстШтрихкода можно вводить
Символы пунктуации: !"#$%&'()*+,-./:;<=>?@[]\^_
Дополнительные символы: `{|}~
Цифры: 0..9
Заглавные буквы: A..Z
Малые буквы: a..z

Насчет максимальной длины - ограничений нет, в стандарте тоже нет ограничения . Где то читал что разумно 40-50 символов, чтобы не было проблем с чтением
4. Perfolenta 204 14.10.19 15:43 Сейчас в теме
(2) тип С только для цифр...
из вики:
128A (Code Set A) – ASCII characters 00 to 95 (0–9, A–Z and control codes), special characters, and FNC 1–4
128B (Code Set B) – ASCII characters 32 to 127 (0–9, A–Z, a–z), special characters, and FNC 1–4
128C (Code Set C) – 00–99 (encodes two digits with a single code point) and FNC1
5. avasl 74 14.10.19 15:56 Сейчас в теме
(4) Набор С придуман, чтобы сократить длину штрихкода. В Наборе С одним символом кодируется сразу пара цифр. Поэтому хороший алгоритм кодирования должен переключаться из B в С в подходящих случаях. Или сразу стартовать в С
В обработке этот момент реализован как предлагается в ГОСТ ISO/IEC 15417-2013 "Приложение Е (справочное)
3. CheBurator 3119 14.10.19 10:52 Сейчас в теме
(1) достаточно длинный. упирается в возможности сканера читать широкие шк.
6. pentanom 25 18.06.23 13:05 Сейчас в теме
Применил в УТ 10.3.80.1.
Работает!
Оставьте свое сообщение