|   |   | 
| 
 | Вывод на печать GS1 128 | ☑ | ||
|---|---|---|---|---|
| 0
    
        Shalun naïve 06.09.25✎ 09:01 | 
        Всем привет!Люди, кто сталкивался с выводом на печать SSCC кода? А точнее, с формированием картинки?
 Код формируется вроде правильно: 00 1 123456789 0000001 9, разумеется без пробелов, это для наглядности. Получаю картинку: ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода) В параметрах ставлю ТипШК = 4 (пробовал 2) - выводит совершенно не то. Точней выводит именно CODE128 а не GS1 128. Соответственно, сканер его не читают. Везде пишут что это одно и то же, но как видно, все же не одно и то же. Отсюда вопрос, как получить изображение именно в GS1 128 формате. | |||
| 1
    
        lEvGl гуру 06.09.25✎ 09:17 | 
        если речь про вк 1с, то в описании все
 https://its.1c.ru/db/metod8dev/content/5963/hdoc 4 это code128 | |||
| 2
    
        Shalun naïve 06.09.25✎ 10:01 | 
        (1) Спасибо бро, разобрался! Тип кода 2 то же ставил - не помогало. Оказывается код со скобками нужно передавать (00) 1 123456789 0000001 9, а не как везде пишут, без. Со скобками все норм! Спасибо!     | |||
| 3
    
        Shalun naïve 06.09.25✎ 10:23 | 
        (1) Может за одно подскажешь по печати DataMatrix? 
 Задаю полный кодМаркировки из пула кодов, я так понимаю в формате base64 (MDEwNDY4...) Тип кода ставлю 24. При сканировании выдает ошибку, отсутствие признака GS1. Но как сказано в описании, компонента сама добавляет эти признаки, в том числе и FNC1. Что с этим не так, не подскажешь? Может сам код не правильно передаю? Он в виде строки, а его может как то по другому нужно передавать? Но вроде, компонента сама его преобразует... | |||
| 4
    
        ejikbeznojek 06.09.25✎ 14:14 | 
        (3) Нет, неправильно понимаешь. Не в формате base64. Нужен полный код в человеческом виде. 
 И добавляется вроде только FNC1, а GS1 это уже сам...символами (29) что-ли | |||
| 5
    
        Shalun naïve 06.09.25✎ 14:50 | 
        (4) Почитайте по ссылке выше, что привет (1). Цитирую: "...компонент интерпретирует строку как код GS1, раскрывает скобки, добавляет символ GS в конце каждой группы переменной длины и генерирует изображение, добавив графический символ начала кода FNC1."
 И еще "допускается две формы ввода: 1.В виде Строки. 2.В виде Строки Base64." Т.е. получается не правильно написали? А как формируете вы, посоветуйте. | |||
| 6
    
        NorthWind 06.09.25✎ 15:26 | 
        (0) по известным данным строите код в генераторе штрих-кодов. Их много в сети. Далее строите в своей системе и сравниваете штрихи просто визуально по соотношению толщин. Как совпало - значит, с большой вероятностью оно. В качестве SSCC мне в свое время подошел  EAN-128 из того, что было доступно. CODE128 похож, но не совсем то же самое.     | |||
| 7
    
        ejikbeznojek 06.09.25✎ 16:16 | 
        Чёт обманул. Таки base64 тоже можно
 https://annotatescreen.com/d/EgC9HbQU2UtX9KkdOscn.png Убедись только что в раскодированном коде есть все нужные символы стрнайти(ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(параметрыштрихкода.штрихкод)),символ(29)) у меня возвращает 32 | |||
| 8
    
        Shalun naïve 06.09.25✎ 21:14 | 
        (6) Да, спасибо, именно EAN128 нужен (тип ШК - 2) и со скобками! Тогда формирует верно!     | |||
| 9
    
        Shalun naïve 06.09.25✎ 21:17 | 
        (7) в смысле 32 возвращает? :-( У тебя че, в коде 32 DS символа? :-) Их там 2, максимум 3 должно быть.
 А вот на счет проверить эт ты правильно подсказал, я чет не додумался. | |||
| 10
    
        Shalun naïve 06.09.25✎ 21:42 | 
        (7) Я все туплю. Это у тебя первый символ на 32 позиции. У меня на 25, всего 2 таких символа в строке. Т.е. вроде все верно, но печатает что-то не то.     | |||
| 11
    
        MWWRuza гуру 06.09.25✎ 21:53 | 
        Я не пойму... А за чем вообще все эти извращения? Почему не напечатать родной для маркировки DataMatrix - ? Или эта компонета этого не умеет? Или сканер только 1D читает? Раскройте секрет...     | |||
| 12
    
        ejikbeznojek 06.09.25✎ 23:04 | 
        (11) так у меня так и печатается. Gs1 data matrix     | |||
| 13
    
        NorthWind 06.09.25✎ 23:29 | 
        (8) как я понял, SSSC это разновидность gs1-128, в котором нет AI переменной длины, там просто единственный AI и он фиксированной длины. А раз их нет, значит, символ GS не используется - таким образом, EAN128 должен подойти.     | |||
| 14
    
        Shalun naïve 07.09.25✎ 13:14 | 
        (11) SSCC это код упаковки, DataMatrix - код продукта.
 А вот почему эта компонета не тот код выводит при печати DataMatrix я и пытаюсь понять. | |||
| 15
    
        Shalun naïve 07.09.25✎ 13:16 | 
        (12) А ты можешь скинуть строку кода, которую ты передаешь в компоненту для печати? Попробую у себя напечатать. Хотя понятно будет, или функцию коряво запускаю, либо данные не те.     | |||
| 16
    
        Shalun naïve 07.09.25✎ 13:19 | 
        (13) Это понятно. Просто в функцию AI нужно в скобках передавать, иначе не то рисует.     | |||
| 17
    
        MWWRuza гуру 07.09.25✎ 13:56 | 
        OFFTOP:
 Боже, как все сложно... Не даром говорят, что "восьмерка еще сырая!" :-))) Я в клюшках своей обработкой печатаю, DM на остатки марок, вообще без проблем, через FormEx: Вот:  Все символы GS на месте, это строка прилетевшая со сканера:  В ЧЗ проверяется на раз, в том числе и мобильным приложением. (нет, эти конкретные марки не проверятся, так, как давно проданы клиентом, не из-за структуры ШК, а из-за того, что выведены из оборота)... | |||
| 18
    
        Shalun naïve 07.09.25✎ 14:24 | 
        (17) Молодец!     | |||
| 19
    
        Shalun naïve 07.09.25✎ 14:33 | 
        (17) И кстати, у тебя вместо GS используется FNC1.     | |||
| 20
    
        MWWRuza гуру 07.09.25✎ 15:01 | 
        Ну, да, формат DM FNC1, разделители групп GS. Первый символ там FNC1, просто он не отображается в строке прилетевшей со сканера, так, как используется сканером как управляющий, типа сообщает ему, что дальше в строке данных будет.
 Как-бы так прописано в МР по маркировке... Проверку формата в ЧЗ проходит без ошибок. У производителей, которых видел, так-же. PS "вместо GS используется FNC1" - тут вопрос, что нужно получить в итоге - марку, проходящую проверку в ЦРПТ, или именно GS для каких-то других целей... | |||
| 21
    
        Shalun naïve 07.09.25✎ 15:20 | 
        (20) Если я не ошибаюсь, то GS такой же нечитаемый символ как и FNC1. Почему они у тебя отображаются - не понятно. Не, ну если проверку проходят, то и ладно. Хотя, если отключить проверку структуры кода - будет читать и ошибочные коды, там не вся строка используется. Но я ни в коем случае не настаиваю, просто есть много программ, позволяющих проверять структуру кода и выявлять ошибки. Попробуй отсканировать свои коды, проверить. Если интересно конечно же.     | |||
| 22
    
        MWWRuza гуру 07.09.25✎ 16:44 | 
        (21) Почему они у тебя отображаются - не понятно.
 По тому, что они там есть. Это строка сохраненная именно с моей марки(да пох, можно взять и от производителя, любую) со сканера в режиме эмуляции COM-порта, без "медвежьих услуг" драйвера клавиатурных сканеров и обработки в программе, по замене "чего-то на что-то", без добавления/удаления скобок и т.п., как есть. Они есть в строке кода, прилетевшего со сканера, поэтому и отображаются. Естественно, программой, которая это умеет(в данном случае - Notepad++) - если открыть обычным виндовым блокнотом, то их естественно видно не будет. FNC1 там тоже есть, первым символом идет, но, он не отображается(даже Notepadom++, или терминалом, ловящим строку данных из COM-порта), так, как интерпретируется сканером как управляющий, сообщающий сканеру, чего дальше ожидать в строке данных, и не передается в строку данных. Немного "утрированно", но, общий принцип такой. | |||
| 23
    
        MWWRuza гуру 07.09.25✎ 16:49 | 
        +(22) то их естественно видно не будет
 Но, даже в обычном блокноте, если курсорными клавишами-стрелками двигать курсор - можно заметить, что на местах, где они есть, происходит "типа задержка", пропуск нажатия, так, как символ там есть, его "проскочить" нужно, но его не видно. | |||
| 24
    
        ejikbeznojek 07.09.25✎ 19:44 | 
        Gs можно самому пихать в строку, а fnc1 вроде нет.
 По крайней мере в zpl точно. По идее компонента сама должна добавлять. | |||
| 25
    
        Shalun naïve 08.09.25✎ 10:55 | 
        (23) все верно, курсор остается на месте, но самого символа не видно!
 (24) fnc1 то же - Символ(232). | |||
| 26
    
        MWWRuza гуру 08.09.25✎ 10:57 | 
        (25) но самого символа не видно!
 Еще раз - используйте Notepad++, и все увидите. | |||
| 27
    
        Shalun naïve 08.09.25✎ 11:00 | 
        В общем, методом проб и ошибок победил! В противовес описанному в статье по утилите 1с, из dfse64 нихрена не формирует. Точней, формирует какую то хрень. Перевел в обычную строку, и он напечатал!
 Кому интересно: ПараметрыШтрихкода.ТипКода = 24; ПараметрыШтрихкода.Штрихкод = ПолучитьСтрокуИзДвоичныхДанных(Base64Значение(КодМаркировкиbase64)); РезультатШтрихкод = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода); | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |