Маркировка обуви, печать штрихового кода DataMatrix с помощью Ocvita Barcode, FormEx или Zint. 1С 7.7

02.12.21

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

"Ответ на главный вопрос жизни, вселенной и всего такого" как распечатать DataMatrix из 1С 7.7 для маркировки.

Скачать файлы

Наименование Файл Версия Размер
1С 7.7 Маркировка обуви, печать штрихового кода DataMatix с помощью Ocvita Barcode FormEx Zint:
.ert 945,50Kb
35
.ert 1.1 945,50Kb 35 Скачать

[01]04680049338249[21]HOA%DamnoJefc[91]8039[92]IKXGc2h8XOGp6AM6svWYoALDprUc8QnTYNetjNp6iKOy9TadzeTU9ByrV3FYZ0OMJqLkfG2hL8yC5Va6DnYxOg==

это результат длительных поисков решения задачи "Распечатать штрих код DataMarix из 1С 7.7 для маркировки"

В таком виде нужно передавать штрих код в библиотеку zint на которой основана компонента Ocvita Barcode ActiveX (http://ocvita.ru/ocvita-barcode) и метод НарисоватьШтрихкод в FormEx (http://dorex.pro/?projects&formex)

В постановлении о маркировке есть описание со ссылкой на ГОСТы, но ГОСТы написаны таким корявым языком, что правильно их можно прочитать только зная конечный результат :-(
нормальное пояснение есть только в Спецификации API, раздел называется "Формирование GS1 DataMatrix"

Для корректного формирования GS1 DataMatrix необходимо в начало получаемой строки кода маркировки добавлять признак символики – ASCII232, перед конвертацией в DataMatrix, в соответствии с требованиями GS1 General Specification, в противном случае технические средства не распознают код правильно и не смогут его корректно обработать. Ниже приведены ссылки на спецификации:
-    GS1 General Specification (https://www.gs1.org/docs/barcodes/GS1_General_Specifications.pdf);
-    GS1 DataMatrix Guideline (https://www.gs1.org/docs/barcodes/GS1_DataMatrix_Guideline.pdf ).

И вот этот самый ASCII232 оказался самым "секретным" символом, т.к. его не возможно "вставить" в строку штрих-кода. Кроме этого в штрих-коде должны быть символы GS которые соответствуют ASCII 29 и вполне себе нормально вставляются в штрих-код и в данных которые приходят из СУЗ (система управления заказами) символы ASCII 29 УЖЕ проставлены и в этом оказалась самая засада - компонента Ocvita Barcode "рушила" 1С если для строки штрих-кода содержащей символы ASCII 29 я устанавливал тип кодирования GS1_MODE.
В результате экспериментов стало понятно, что нужно удалить из исходной строки символы ASCII 29 и квадратными скобками обозначить разделители в согласно "the GS1 AI standards".

проверить штрих-код тоже оказалась не простая задача :-) самое простое скачать приложение на смартфон и просто сканировать, но рекомендованный техподдержкой ЦПРТ сканер PHARMA TRAX SCANNER (play.google.com/store/apps/details?id=pk.pharmatrax.pharmatraxscanner&hl=ru) принимает любой первый символ, а приложение "Честный знак" так же нормально распознаёт DataMatrix с любым первым символом.
Мне помог сканер NeoReader QR & Barcode Scanner (https://play.google.com/store/apps/details?id=de.gavitec.android) который правильно отображает первый символ ASCII232 в виде ]d2
Вообще меня поразило на сколько все затуманивают эту информацию - пишут что "не правильный FNC1", а как проверить ни кто не пишет, нашел вот эту публикацию (http://barcodefaq.com/2d/gs1-datamatrix/) и хоть что-то стал понимать :-)
вот ещё немного на русском https://ecoprint.spb.ru/datamatrix/

Если первый символ ASCII232, то некоторые устройства воспринимают его как управляющую команду и не передают его "дальше", т.е. штрих-код начинается с "01", а если первым символом (по ошибке) является ASCII 29, то в передаваемой строке он будет присутствовать и начало штрих-кода будет Симв(29)01

ДОПОЛНЕНИЕ 29.02.2020 (ну очень вовремя) от Честный знак
Рекомендуемый алгоритм кодирования и преобразования кода маркировки в Data Matrix
(первый символ должен быть "FNC1, имеющий код 232 в таблице символов ASCII")
https://xn--80ajghhoc2aj1c8b.xn--p1ai/info/news/rekomenduemyy-algoritm-kodirovaniya-i-preobrazovaniya-koda-markirovki-v-data-matrix/

Образец маркировки который получен из СУЗ в формате PDF (для сравнения результатов сканирования)

 

Небольшая подсказка по настройке Ocvita Barcode:
Масштабом подгоняем размер DataMatrix - простое изменение размера внедрённого объекта не всегда подходит.
Кодирование (input_mode) = 2 - это номер значения GS1_MODE

 

В прикреплённой обработке пример печати только DataMatrix с размером штрих-кода 22*22 мм
при выводе печатной формы на экран DataMatrix отображается перечеркнутым квадратом, но если распечатать, то печатает правильно. Настройка печатной формы осуществляется при просмотре в масштабе 200%

Проверено на: 7.70.027.

7.7 Маркировка обуви печать штрихового кода DataMatix Ocvita Barcode Zint FormEx Честный знак ЦРПТ

См. также

Печать кодов маркировки в формате DataMatrix из SQL базы еФарма3. 1С 7.7

Этикетки, ценники Платформа 1С v7.7 Конфигурации 1cv7 Здравоохранение, медицина, стоматология Россия Абонемент ($m)

Поскольку в еФарма нет печати кодов DataMatrix в нормальном виде, только в виде QR-кода, возникла идея написать данную обработку.

1 стартмани

03.05.2023    1972    0    Eisent    0    

0

Печать штрихкода для 1С 7.7

Этикетки, ценники Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Предназначено для тех, кто еще и в классике программирует, но уже начал подзабывать.

1 стартмани

20.08.2020    7023    12    AlexHelmer    5    

1

АИС: Проверка и пакетная печать кодов маркировки из 1С 7.7 для всех групп товаров (ТАБАКА, ОБУВИ, ЛЕКАРСТВ, МЕХА, ШИН, ОДЕЖДЫ и пр.)

Пакетная печать Этикетки, ценники Платформа 1С v7.7 Конфигурации 1cv7 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Легкая промышленность, мода и одежда Россия Управленческий учет Платные (руб)

С помощью обработки 1С 7.7 можно коды маркировки вводить вручную или загружать файлы в формате csv и печатать либо на ленту (принтер этикеток) либо на лист (офисный принтер). Есть возможность создать разные шаблоны этикеток с настраиваемым выводом текста и логотипа, с указанием числа рядов и столбцов при печати этикеток на офисный принтер. Имеется проверка штрихкодов на соответствие форматам согласно документа "Протокол информационного обмена (ОФД). Поддерживаются форматы всех товарных групп, подлежащих маркировке или участвующих в эксперименте (алкоголь, изделия из меха, табак, обувь, лекарства, текстиль, шины и т.д.) Выделение из ШК идентификаторов применения (AI) и их показ. Расшифровка максимальной розничной цены (МРЦ) из Datamatrix табака.

2400 руб.

12.03.2020    19710    15    4    

19

Про маркировку обуви БЕЗ подробностей и чётких инструкций для небольшого розничного магазина - мнение НЕ эксперта :-)

Обмен с ГосИС Розничная и сетевая торговля (FMCG) Россия Бесплатно (free)

Наша организация импортёр обуви, клиенты есть разные и крупные типа wildberries и небольшие розничные магазины ИП на пару сотрудников. Вот для небольших розничных магазинов я и написал эту статью, при этом у нас всё сделано "по серьёзному", а пишу я про то, чем ни разу не пользовался :-)

28.01.2020    11144    Mx00    58    

32

Печать ценников. ТиС 9.2

Розничная торговля Этикетки, ценники Платформа 1С v7.7 Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Абонемент ($m)

Печать ценников для конфигурации "Торговля и склад ред . 9.2". Платформа "1С:Предприятие 7.7"

2 стартмани

28.11.2017    20487    6    dbolotin    0    

2
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
78. Mx00 247 03.03.20 12:50 Сейчас в теме
(77) Есть :-)
если ты пришёл за помощью, то писать нужно не утверждая "символа 29 нет", а напиши, что ты его не видишь :-)
даже приложение Честный знак тебе его показывает, только у тебя ещё мало опыта ;-)
отсканируй свой штрих код и желтый образец в публикации и под микроскопом посмотри на ПОЛОЖЕНИЕ первого символа в блоке "Код маркировки"
надеюсь понятно написал ;-)
79. ravencrow 5 03.03.20 13:05 Сейчас в теме
(78) Очень интересно. Вот скриншот с экрана приложения "Честный знак". Кроме первого символа 0, больше ничего нет. Даже под микроскопом.
Прикрепленные файлы:
80. Mx00 247 03.03.20 14:55 Сейчас в теме
(79) Значит я не понятно объяснил :-)
прикладываю скриншот мобильного приложения честный знак на Андроид версии 4.4.2
первый символ 0 смещён относительно всего текста - это и есть признак того, что там есть симв(29)
можно другими сканерами посмотреть, но для данного обсуждения достаточно этого скриншота
Прикрепленные файлы:
81. ravencrow 5 03.03.20 15:31 Сейчас в теме
(80) На Android действительно видно смещение, а вот на iOS этого смещения не видно. Либо оно настолько мало, что практически не заметно.
А нет ли какого-нибудь приложения, который бы показывал все эти невидимые символы?
83. Mx00 247 03.03.20 16:00 Сейчас в теме
(81) так я для этого и написал эту публикацию и указал два приложения
PHARMA TRAX SCANNER именно ПОКАЗЫВАЕТ символы, но первый символ показывает не так как нужно
NeoReader QR & Barcode Scanner считывает так как есть в DataMatrix, при этом смив(29) не визуализирует, но если полученную строку проанализировать, например в экселе, то покажет код символа 29
84. ravencrow 5 03.03.20 16:24 Сейчас в теме
(83) да, действительно PHARMA показывает этот символ на марках от производителя, а на марках которые мы сами печатали нет. Поэтому 1С УТ11 и выдает ошибку при сканировании марки GS1 Datamatrix "Недопустимое значение параметра (параметр номер '1')", потому что не может распознать этот символ. Но как такое могло получиться, если компания 1С заранее знало, что будут использоваться GS1 Datamatrix ? И интеграция с "Честным знаком" разрабатывалась в конце 2019 года именно на формат GS1 Datamatrix.
Прикрепленные файлы:
85. Mx00 247 03.03.20 23:39 Сейчас в теме
(84) при сканировании GS1 Datamatrix НЕ ДОЛЖНО БЫТЬ первого символа, в чём виновата 1С я не понимаю :-)
86. ravencrow 5 04.03.20 08:48 Сейчас в теме
(85) вы бы для начала стандарт прочитали, прежде чем такое утверждать. https://www.gs1.org/docs/barcodes/GS1_DataMatrix_Guideline.pdf

2.2.1. This is achieved by using the Function 1 Symbol Character (FNC1) in the first position of the data encoded. It enables scanners to process the information according to the GS1 System Rules.
The FNC1 (codeword 232) has two separate uses in GS1 DataMatrix:
■ Start character.
■ Separator character to separate element strings that are not in the predefined list (see Table 2-3).
Important: In accordance with ISO/IEC 15424 - Data Carrier Identifiers (including Symbology Identifiers), the Symbology Identifier is the first three characters transmitted by the scanner indicating symbology type. For a GS1 DataMatrix the symbology identifier is ]d2.
Concatenation
Using GS1 DataMatrix, it is possible to concatenate (chain together) discrete element strings (Application Identifiers (AIs) and their data) into a single symbol. When the element string is of predefined length, no separator character is required when another element string is added to it. When the element string is not of predefined length, it must be followed by a separator character when concatenating more element strings. The separator character may be FNC1 or the control character <GS> (ASCII value 29 (decimal), 1D (hexadecimal)). FNC1 is the character that has the codeword value 232. When either FNC1 or <GS> is used as a separator character, the scanner must transfer the character value as control character <GS>.
A separator character is never required after the last element string encoded in the symbol.
87. Mx00 247 04.03.20 12:43 Сейчас в теме
(86) FNC1 (codeword 232) НЕ передаётся в 1С, железом этот символ воспринимается как управляющая команда и в 1С этого символа нет
88. ravencrow 5 04.03.20 12:48 Сейчас в теме
(87) все передается, только 1С не может обработать этот первый символ и валится с ошибкой. Без этого первого символа код маркировки обрабатывает без ошибок.
Проверено на 1С Управление торговлей 11.4.11.71.
89. Mx00 247 04.03.20 12:56 Сейчас в теме
(88) какой "этот первый символ" ?
на фотке <GS>, а должен быть FNC1 (codeword 232)
90. ravencrow 5 04.03.20 12:59 Сейчас в теме
(89) на моей фотке из приложения PHARMA первые символы FNC01. Это не codeword 232?
Прикрепленные файлы:
92. Mx00 247 04.03.20 13:01 Сейчас в теме
(90) НЕТ!!!, я же про это и говорю, я же для этого и написал эту публикацию :-)
93. ravencrow 5 04.03.20 13:03 Сейчас в теме
(92) т.е. получается что производитель наклеил неправильные коды?
94. Mx00 247 04.03.20 13:05 Сейчас в теме
(93) БРАВО !!!
наконец то светлая идея до тебя дошла :-)
96. ravencrow 5 04.03.20 13:22 Сейчас в теме
(94) а почему тогда приложение Честный знак обрабатывает этот код маркировки корректно и извлекает из него необходимую информацию, а 1С нет?
97. Mx00 247 04.03.20 13:53 Сейчас в теме
(96) потому, что приложение - это программа на телефоне и т.к. ЧЗ "лоханулись", то и программу подправили, а 1С работает именно так как написано в "стандарте" который ты указал и всё, что ему не соответствует - ошибка. У меня в розничных магазинах стоит Frontol и он так же ругается (хотя знающие люди написали, что самая последняя версия Frontol доделана так, чтобы "игнорировать" первый <GS>
98. ravencrow 5 04.03.20 14:32 Сейчас в теме
(97) ясно, значит ждем заплатку от 1С. Благо сроки отодвинули до 1 июля.
95. Mx00 247 04.03.20 13:17 Сейчас в теме
(93) я сам попался сначала на этот "развод" в ЦРПТ техподдержка рекомендовала использовать PHARMA TRAX SCANNER который выдаёт желаемое за действительное, хорошо, что меня вовремя поправили и я разобрался с этим вопросом и написал эту публикацию,
и 29.02.2020 ЧЗ косвенно признал, что всех обманул ;-)
https://xn--80ajghhoc2aj1c8b.xn--p1ai/info/news/rekomenduemyy-algoritm-kodirovaniya-i-preobrazovaniya-koda-markirovki-v-data-matrix/
victuan; RustIG; +2 Ответить
99. dmitrichenko.ivan 6 06.03.20 18:25 Сейчас в теме
У нас тоже несколько поставщиков шлют коробки с этикетками без символа 232. Если я в 1Ске в строку буду добавлять в начало этот символ - взлетит?
102. Mx00 247 08.03.20 03:06 Сейчас в теме
114. victuan 4232 12.03.20 13:17 Сейчас в теме
(0) Выложил свой вариант с поддержкой пакетной печати через формекс https://infostart.ru/public/1208135/
В свою публикацию добавил ссылку на твою публикацию.
119. victuan 4232 20.03.21 07:26 Сейчас в теме
(117) А его не нужно отдельно прописывать.
Вот здесь посмотрите https://infostart.ru/public/1208135/ (обработку можно бесплатно скачать).
121. Qwert_23 22.03.21 08:43 Сейчас в теме
(119)
В бесплатной код закрыт
125. set5553 21.06.21 14:09 Сейчас в теме
А как передать символ GS?
126. Mx00 247 21.06.21 19:27 Сейчас в теме
(125) какой-то не конкретный вопрос...
127. user1297103 22.06.21 12:45 Сейчас в теме
Добрый день. А у всех оквита работает? Надо было еще на одном компе поставить ее - зарегистрировалась через регсвр нормально, но 1с-ка компоненты все-равно не видит. Проверил на 3-х компах. На старых все работает нормально.
128. sergbsv 74 02.12.21 01:29 Сейчас в теме
загрузил, пишет
Состояние("Формируется печатная форма "+СтрокаПроцесса<<?>>(iii/ВсегоКМ));
{C:\Users\Zorro\Downloads\PUBID_1172346-PrintDataMatrixFrom1C77.ert(83)}: Функция не обнаружена (СтрокаПроцесса)
Состояние("Формируется печатная форма "+СтрокаПроцесса(iii/ВсегоКМ)<<?>>);
{C:\Users\Zorro\Downloads\PUBID_1172346-PrintDataMatrixFrom1C77.ert(83)}: Неопознанный оператор
<<?>>КонецЦикла;
{C:\Users\Zorro\Downloads\PUBID_1172346-PrintDataMatrixFrom1C77.ert(108)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure')
Таб<<?>>.Опции(0,0,0,0,"Маркировка","Маркировка");
{C:\Users\Zorro\Downloads\PUBID_1172346-PrintDataMatrixFrom1C77.ert(109)}: Переменная не определена (Таб)
Таб<<?>>.ТолькоПросмотр(1);
{C:\Users\Zorro\Downloads\PUBID_1172346-PrintDataMatrixFrom1C77.ert(110)}: Переменная не определена (Таб)
Таб<<?>>.ПараметрыСтраницы(1,100,,,0,,0,0,0,,,);
{C:\Users\Zorro\Downloads\PUBID_1172346-PrintDataMatrixFrom1C77.ert(111)}: Переменная не определена (Таб)
Таб<<?>>.Показать("Маркировка","");
{C:\Users\Zorro\Downloads\PUBID_1172346-PrintDataMatrixFrom1C77.ert(112)}: Переменная не определена (Таб)
Таб.Показать("Маркировка"javascript:void(0);,"");<<?>>
{C:\Users\Zorro\Downloads\PUBID_1172346-PrintDataMatrixFrom1C77.ert(112)}: Обнаружено логическое завершение исходного текста модуля
При проверке модуля обнаружены синтаксические ошибки!
129. Mx00 247 02.12.21 04:44 Сейчас в теме
(128) закомментируй строку 83 и будет без ошибок, приношу извинения...
130. victuan 4232 02.12.21 05:14 Сейчас в теме
(127) К чему все эти "Оквиты", если есть formex.dll с более богатым функционалом, при том ее не надо регистрировать в реестре?
131. Mx00 247 02.12.21 05:31 Сейчас в теме
(130) человек только разбирается :-)
я же просил тебя сделать публикацию и тогда бы я в этой публикации дал ссылку на твою, чтобы народ не мучился :-)
закрыли бы вопрос "раз и навсегда"
132. victuan 4232 02.12.21 05:40 Сейчас в теме
(131) Ты пропустил мои посты (114) и (119)?
Я наши договоренности давно выполнил!
https://infostart.ru/public/1208135/
(обработку с закрытым кодом можно бесплатно скачать).
133. Mx00 247 02.12.21 05:52 Сейчас в теме
(132) а там в обработке "демо" есть пример использования formex.dll ?
а то я уже и не помню...
134. victuan 4232 02.12.21 05:58 Сейчас в теме
(133) В Демо есть, то есть можно ввести любой КМ и посмотреть на результат печати, а также на парсинг этого КМ. Но сам код закрыт.

Само полнофункциональное решение для Обмена с ЦРПТ из 1С 7.7 выложено здесь https://infostart.ru/public/603118/
135. Mx00 247 02.12.21 06:04 Сейчас в теме
(134) ну раз нет примера кода вывода DataMatrix, то куда отправлять ищущих? :-)
я понимаю, что обработка сложная и стоит денег, но сам механизм вывода DataMatrix можно отдельным постом выложить, хотя это я свою лень оправдываю ;-)
136. sergbsv 74 02.12.21 06:08 Сейчас в теме
а Ocvita Barcode: откуда устанавливать ?
139. Mx00 247 02.12.21 06:20 Сейчас в теме
(136) в самом начале (5-я строка) есть ссылка на Ocvita Barcode
137. victuan 4232 02.12.21 06:15 Сейчас в теме
(135) Если кратко, то:
Сервис.НарисоватьШтрихкод(Картинка,ТипЧислом,ТекстШтрихкода,0, ,Режим,,РежимВых)

Сам код не сложный, но пришлось некоторые сведения с трудом добывать (например, как сделать чтобы при выводе в начале был FNC1, а дальше GS, а не тоже FNC1, также были глюки при выводе некоторых серийных номеров). Разработчик (АЛьФ) по моим просьбам доработал компоненту, чтобы решить эти вопросы.
Сложность парсинга КМ в зависимости от Товарной группы и устаревших спецификаций (для лекарств).

Если "ищущие" купят решение по ссылке (которую я привел выше), то там будет и пример и открытый код ;)
Код закрыт только в бесплатной демо-версии.
138. Mx00 247 02.12.21 06:19 Сейчас в теме
(137) какой релиз формекса актуальный?
140. victuan 4232 02.12.21 06:26 Сейчас в теме
(138) 2.0.5.173
Прикрепленные файлы:
FormEx.rar
141. sergbsv 74 07.12.21 06:20 Сейчас в теме
Получается зря потратил5 балов, сейчас в файле честный знак криптохвост не дает ,
разобрался и fgormex но, без криптохвоста датаматрикс ущербный
142. Mx00 247 07.12.21 06:47 Сейчас в теме
(141) Я так понимаю, что вы не разобрались в самой теме маркировки, код МАРКИРОВКИ (для обуви 129 символов) генерируется в СУЗ, а во всех остальных случаях используется только код ИДЕНТИФИКАЦИИ (для обуви 31 символ)
по "начальной" логике Честного Знака, после печати КМ, полный код не должен храниться в базе...
143. p.ugrumov 171 20.01.22 13:16 Сейчас в теме
ocx зарегистрировал, все равно печатает крест вместо штрихкода. Вылетает после редактирования свойств ШК.
144. Mx00 247 20.01.22 13:58 Сейчас в теме
(143) Сначала внимательно читаем ещё раз весь текст описания,
если не помогает, то пишем что делали конкретно и прикладываем скриншоты
телепаты сегодня в отпуске :-)
145. sassashok 24.01.22 14:38 Сейчас в теме
"Ответ на главный вопрос жизни, вселенной и всего такого" как распечатать DataMatrix из 1С 7.7 для маркировки.
[01]04680049338249[21]HOA%DamnoJefc[91]8039[92]IKXGc2h8XOGp6AM6svWYoALDprUc8QnTYNetjNp6iKOy9TadzeTU9ByrV3
Привет из несолнечной Белоруссии :)
Спасибо дружище. Без твоего поста так и не смог бы правильно напечатать сей знак.
146. Artfromktown 16.06.23 13:39 Сейчас в теме
Здравствуйте!
Максим, вы в статье пишете "компонента Ocvita Barcode "рушила" 1С если для строки штрих-кода содержащей символы ASCII 29 я устанавливал тип кодирования GS1_MODE".

Вопрос - как вы решили эту проблему, чтобы подставить FNC1? Я правильно понимаю, что речь идет о параметре input_mode, и при его изменении (как программном, так и интерактивном) - 1С вылетает.
Прикрепленные файлы:
147. Mx00 247 16.06.23 14:00 Сейчас в теме
(146) Там же следующая строка про квадратные скобки - это и есть решение (убираем ASCII29 и вставляем коды в квадратных скобках)
на сколько я помню, в данном решении датаматрикс не полностью соответствует предъявляемым к нему требованиям, но с учетом дополнительных разъяснений ЦРПТ все участники должны корректно отрабатывать такие датаматриксы и у нас проблем с контрагентами нет.
148. solo111 16.06.23 14:27 Сейчас в теме
(147) Скажите, а с GS1 Databar Expanded Stacked вы не работали? Я пытаюсь вывести такой тип, но у меня либо конфигуратор вылетает, либо 1с предприятие, либо полученный ШК не распознается принтером - и это когда я только одну группу вывожу - (01) которая. Я уж молчу про группы переменной длины - как их выводить, мне пока тоже непонятно...
И надо ли что-то указывать в в поле текст(barcode) - это в свойствах объекта ocvita? Как я понимаю, это просто шаблон штрих-кода. И если я его оставляю пустым - при нажатии на ОК конфигуратор вылетает...
149. Mx00 247 16.06.23 14:45 Сейчас в теме
(148) Ничего не понял
какую строку вы передаёте в Ocvita Barcode (zint)?
150. solo111 16.06.23 14:58 Сейчас в теме
Конфигуратор. в таблице открываю свойства ocvita barcode. там Выбираю вид кода 81 (GS1 Databar Expanded Stacked) (ранее стоял QR Code).
Далее пытаюсь в поле Текст(barcode) очистить старый шаблон (т.к. мне коллеги сказали, что он необязателен), нажимаю ОК - конфигуратор падает.
ОК, указал шаблон "[01]12345678901234" (типа пока буду выводить только группу с кодом 01) - тогда при нажатии на ОК не вылетает (если идентификатор группы 01 указывать без скобок или с круглыми скобками- конфигуратор вылетает).

При выводе печатной формы в коде обработки передаю код штрихкода, строку "[01]12345678901234", и вывожу печ.форму на экран.
если я передаю строку без скобок "0114607040962904", или с круглыми скобками "(01)14607040962904" - 1с предприятие вылетает. Если с квадратными скобками [01]14607040962904 - не вылетает, ШК на печ.форме виден как зачеркнутый квадрат, при предпросмотре и печати - как линейный ШК, который сканером не сканируется.

Возможно, дело в том, что параметр input_mode = 0.
ОК, погуглил, нашел, что для моего ШК надо режим "GS1_MODE", и для этого надо input_mode = 2. Установил это в коде обработки.
В таком варианте выводимый шк без скобок и с круглыми скобками приводит к вылету предприятия, с квадратными появляется окно с ошибкой "DEBUG ERROR", при нажатии на ОК предприятие тоже вылетает.

PS: Сам объект ocvita barcode скопировал из обработки Ёпрста, в свойствах объекта указано УстановитьКод(Таб.ТекущийОбъект)
Процедура УстановитьКод(Объект)
Объект.input_mode = 2;
Объект.symbology = 81; //gs1
Объект.barcode = QRcode; //в переменной QRcode указана строка с ШК
КонецПроцедуры
152. Mx00 247 16.06.23 15:37 Сейчас в теме
(150)
Объект.symbology = 81; //gs1

у меня 71, а не 81
155. solo111 16.06.23 16:00 Сейчас в теме
(152) У вас же датаматрикс, а у меня gs1 databar expanded stacked. Просто спросил, может, вы с этим ШК тоже пробовали, и сможете подсказать.

С теми же шаблонами - вы их оставляли в свойствах ocvita-объекта? И что именно там указывали? Или все равно, что там указывать, надо вывод на печать это не влияет? Просто у меня, по аналогии со stroke scribe ощущение сложилось, что там пишется шаблон штрих-кода, и тогда непонятно, например, как указывать в шаблоне группы переменной длины?...
151. Artfromktown 16.06.23 15:26 Сейчас в теме
(147)
Я попробовал обернуть в квадратные скобки идентификаторы применения, и передаю в ocvita barcode такую строку

[01]04610094003977[21]5D001U[93]Op7g (это молочка)

В итоге считывает просто как датаматрикс, и при считывании сканером эти квадратные скобки отображаются, где я мог ошибиться?
Прикрепленные файлы:
153. Mx00 247 16.06.23 15:41 Сейчас в теме
(151)
[01]04610094003977[21]5D001U[93]Op7g

вот так это выглядит с моими настройками для обуви
Прикрепленные файлы:
Artfromktown; +1 Ответить
158. Artfromktown 16.06.23 16:50 Сейчас в теме
(153)
У меня идентичные настройки во вкладке Основные.
Во вкладке еще - также, как и у вас в изначальном тексте (кроме "руинящего" 1с-ку значения "input_mode".
Результат при сканировании - такой же (приложил).

Может различия в остальных вкладках? Можете показать?
Прикрепленные файлы:
166. Artfromktown 19.06.23 13:52 Сейчас в теме
(153)
Максим, вы можете помочь мне в разрешении моего вопроса? В долгу не останусь)
154. Mx00 247 16.06.23 15:49 Сейчас в теме
(151) в уже выведенном объекте можно пытаться что-то поменять и тогда 1С будет вылетать показом ошибок
GS1 Databar Expanded Stacked - я с ним не сталкивался, но предполагаю, что строка с квадратными скобками должна быть другая, т.к. твоя строка с обычным датаматриксом выводится и 1С вылетает при переключении на GS1 Databar Expanded Stacked
156. solo111 16.06.23 16:06 Сейчас в теме
(154) Да оно вылетает даже с одной группой (01). А там вообще тупо - "(01)" и 14 символов GTIN'а. Группа фиксированной длины, даже без FNC1 (которые я ХЗ как в шаблоне указать), но даже с ней одной штрих-код не выводится, ну или в одном варианте - не читается! То ли еще какие-то параметры у объекта надо проставлять, то ли что...
А в указанной выше процедуре пофиг, в каком порядке команды установки свойств ставить, на работу это не влияет?
157. Mx00 247 16.06.23 16:38 Сейчас в теме
160. solo111 16.06.23 17:34 Сейчас в теме
(157) Смотрел. Но она же для 8ки. Не факт, что пойдет, скорее даже, не пойдет, по словам коллег. В комментах тоже ничего полезного (кроме количества строк для моего типа ШК) не нашел..
159. Artfromktown 16.06.23 16:51 Сейчас в теме
(154)
в уже выведенном объекте можно пытаться что-то поменять и тогда 1С будет вылетать показом ошибок


Да, я менял по-разному в уже выведенном объекте, 1С вылетает только при изменении параметра Input_mode =(
161. solo111 16.06.23 17:35 Сейчас в теме
(159) Меняли в коде обработки? Т.е. оно работает, если в коде указывать? А то я уже сомневаться начал)))
162. Artfromktown 16.06.23 17:41 Сейчас в теме
(161)
Я имел в виду, что возможно средствами ocvita barcode менять настройки (в т.ч. и содержимое кода) на уже выведенном на просмотр табличном документе
163. Mx00 247 17.06.23 03:01 Сейчас в теме
У меня не получилось распечатать GS1 Databar Expanded Stacked с помощью ocvita barcode, я бы стал смотреть в сторону исходного zint, в этой публикации с поста 100 есть обсуждение, но я сам так и не реализовал этот подход.
164. solo111 19.06.23 08:40 Сейчас в теме
(163) Спасибо, что попробовали)) а то я уж думал, что просто не так что-то делаю..
165. solo111 19.06.23 09:19 Сейчас в теме
(163) Насчет zint - попробую, но пока для меня это терра инкогнита, даже не представляю, с какой стороны подступиться...Придется опять гуглить, может, где пример и найду..
167. solo111 19.06.23 14:33 Сейчас в теме
(163) Вы будете смеяться, но когда я добавил еще одну группу (т.е. кроме (01) еще и (3103), и отключил в коде обработки изменение input_mode (оставив нулевой, который прописал в свойствах объекта) - у меня распечатался ШК (на экране по-прежнему зачеркнутый квадрат), и прочитался сканером!
Я тут просто поставил zint, и когда в ней указываешь только группу (01), она ненормально воспринимает последний 14й символ, говорит, что неправильный ШК. И если я его удаляю, оставляя 13 символов - она сама добавляет 14й, и считает, что все ок. Сейчас, когда я пишу это сообщение, мне это повторить не удалось, но навело на мысль попробовать добавить еще группу. И с ней получилось. Теперь буду пробовать добавлять еще группы, правда, непонятно, как добавлять группу с переменной длиной, ведь с пустым шаблоном у меня все равно не получилось сохранить в конфигураторе объект - вылетает...
... почему вдруг заработало - я хз, разве что попытался зарегить библиотеку zint.dll (причем зарегилась она с ошибкой)... но вроде как работает. Теперь буду проверять, правильно ли он читается, примет ли такой ШК моя 1с?...
168. Mx00 247 19.06.23 14:54 Сейчас в теме
(167) без input_mode штрихкод получается неправильным, у него нет спецсимволов, выложи ШК, я посмотрю
169. solo111 19.06.23 15:13 Сейчас в теме
(168) Я читал счас по зинту описаловку, и вычитал, что, в т.ч. для моего GS1 Databar Expanded Stacked, этот параметр необязателен, типа, оно и так в этом режиме GS1_Mode - по крайней мере, я так понял. Вот в датаматриксе надо.
И проверил - моим сканером в моей программе этот ШК прочитался... Это, конечно, еще не 100% гарантия, но все же.. попробую еще и в других местах просканировать...
Первое фото - это как моя тестовая обработка через оквиту распечатала, второе фото - это рабочая этикетка, там печатаю через коды принтера.
Прикрепленные файлы:
170. solo111 19.06.23 16:23 Сейчас в теме
(168), (169) Проверил, блин. Попробовал другой код - не читается. Цифры другие, и нет группы (3103), Убрал эту группу из первого ШК - он тоже перестал читаться. Добавил эту группу во второй ШК - он стал читаться. Шайтан... Вроде количество (группа (3103)) это не обязательная группа - и тем не менее... а у нас по алгоритму где-то она есть, а где-то нет...
171. Mx00 247 19.06.23 21:07 Сейчас в теме
(169) какие параметры в оквите указываешь?
у меня вылетает 1С при формировании ШК
(01)14607040965332(3103)002595(11)230614(10)23165(21)00083187
скачал на телефон VintaSoft Barcode Scanner
первую картинку читает, а вторую нет :-(
но правильно ли там выводятся FNC1 не показывает
174. solo111 20.06.23 09:09 Сейчас в теме
(171) Все по умолчанию оставил, как в обработке Ёпрста. Только Тип ШК изменил.
Кстати, вторая - это рабочая))) И никто из наших покупателей не жаловался. То ли у них тоже работает, то ли они вообще этот ШК не сканируют...
Прикрепленные файлы:
172. victuan 4232 20.06.23 05:12 Сейчас в теме
(169) В ocvita barcode скорее всего зашита старая версия zint.
Надо попробовать печатать через крайнюю версию formex.dll (2.0.5.175), в которую вшита крайняя версия zint
173. solo111 20.06.23 09:01 Сейчас в теме
(172) RSS_EXPSTACK с кодом 81 - это как раз GS1 Databar Expanded Stacked?
Я уже думал через формекс попробовать, опять гуглить надо, как через него ШК печатать, раньше не делал..

Про старую версию zint в оквите я уже читал, но вот ведь в чем дело - печатает же, и сканирует. Но - только если есть группа (3103), что не есть хорошо...
175. victuan 4232 20.06.23 10:54 Сейчас в теме
(173) Ну давайте проверю через эту обработку https://infostart.ru/marketplace/1208135/ (там демку можно бесплатную скачать) - она через формекс печатает.
Какой код проверить надо?
(01)14607040965332(3103)002595(11)230614(10)23165(21)00083187
Этот?

Можете сами на демке проверить.
Только в макете печ. формы в свойствах рисунка вместо 71 поставьте нужный вам тип кода:
Прикрепленные файлы:
176. solo111 20.06.23 13:48 Сейчас в теме
(175) Да, [01]14607040965332[3103]002595[11]230614[10]23165[21]00083187
Когда убираю группу [3103]002595 - сканировать перестает, т.е. сканер вообще не видит сканер.

Пока задачу приостановили, начальник хочет поговорить в руководством о том, чтобы мы перешли на QR Datamatrix, которые у них уже используются в других местах.
177. victuan 4232 20.06.23 14:35 Сейчас в теме
(176) Протестировал через формекс, всё печатает, всё читает. 1С не зависает
Сверху - полный код, снизу - без 3103.
Слева - с кодом 71 (Датаматрикс), справа - 81 (GS1 Databar Expanded Stacked)
Прикрепленные файлы:
178. solo111 22.06.23 10:24 Сейчас в теме
(177) Я попробовал, вроде тоже получилось (просканировал несколько этикеток во всех своих обработках - работает!), плюс уменьшить размер ШК сумел больше, чем с оквитой.
Буду ждать теперь, что решат, то ли на QR, то ли на этот вариант GS1 переделывать.
Спасибо всем за помощь!!!!
179. victuan 4232 22.06.23 10:26 Сейчас в теме
(178) Именно через формекс попробовал? Через него получилось?
Или через оквиту?
180. solo111 25.06.23 18:32 Сейчас в теме
(179) Через оквиту глюк (уже писал, без группы (3103) не хочет сканироваться), а вот через формекс - проблем пока не заметил, сканируется в любой комбинации групп, причем еще и размер картинки-штрих-кода получилось уменьшить, т.е. визуально ШК через формекс места занимает теперь меньше, чем через оквиту (хотя и расположен в 4 строки, а не в три).
Оставьте свое сообщение