Маркировка обуви, печать штрихового кода 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    1964    0    Eisent    0    

0

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

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

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

1 стартмани

20.08.2020    6987    12    AlexHelmer    5    

1

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

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

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

2400 руб.

12.03.2020    19681    15    4    

19

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

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

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

28.01.2020    11117    Mx00    58    

32

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

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

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

2 стартмани

28.11.2017    20473    6    dbolotin    0    

2
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ray1978 25.12.19 07:12 Сейчас в теме
Здравствуйте.

Подскажите, как Вы вставили в таблицу в обработке для 77 объект "ocvita barcode"

У меня через Ворд, Ексель не получается: ни в разных виндовсах, ни в разных версиях офиса от 2003 до 2010

Спасибо
2. Mx00 247 25.12.19 11:55 Сейчас в теме
(1) скорее всего на мисте был пример обработки от Ёпрст, в ней уже был этот объект :-)
3. ray1978 25.12.19 14:13 Сейчас в теме
Это верно. Такую обработку я тоже взял за основу из-за вставленного объекта.
Хотел узнать, может Вы сами как-то сумели вставить.

1С относительно своей обработки печать штрихкодов в 1С Торговле и склад (active barcode) говорит, чтобы мы копировали его.
А как с нуля вставлять - сие есть тайна, к сожалению.
4. victuan 4227 14.01.20 08:27 Сейчас в теме
А зачем вообще использовать "ocvita barcode" и вставлять его объект в макет, если есть формекс, который позволяет выводить ШК на штатном объекте "Картинка"?
5. Mx00 247 14.01.20 12:41 Сейчас в теме
(4) Так исторически сложилось и такой подход для 1С 7.7 "типичен", а функцию НарисоватьШтрихкод() нужно использовать _после_ вывода области макета и это совсем другая логика формирования печатной формы
6. victuan 4227 14.01.20 18:08 Сейчас в теме
(5) И каким образом это вызывает затруднения?
7. Mx00 247 14.01.20 22:09 Сейчас в теме
(6) напиши два алгоритма и сравни :-)
8. victuan 4227 15.01.20 04:21 Сейчас в теме
(7) Написал, сравнил, отказался от "ocvita barcode"
9. Mx00 247 15.01.20 07:08 Сейчас в теме
(8) создай публикацию и выложи свои наработки - все будут только рады :-)
опиши сравнение производительности и использования памяти при печати от 5000 кодов маркировки, если есть заметное преимущество, то буду перенимать опыт, а без сравнения это пустая болтовня ;-)
10. victuan 4227 15.01.20 08:24 Сейчас в теме
11. khlistko 17.01.20 00:13 Сейчас в теме
Здравствуйте! Ищу программиста для внедрения в 1с 7.7 торговля и склад маркировку одежды. Занимаетесь этим и как можно связаться для обсуждения задачи?
12. Mx00 247 17.01.20 02:16 Сейчас в теме
(11) я сейчас занимаюсь маркировкой обуви в ТиС и всем рекомендую этого НЕ делать, а переходить на УТ 11.4 :-)
кроме самой программы нужно перестроить мозги у людей и логистику обращения с товаром, а кроме всего прочего к этому процессу не готовы даже в самом ЦРПТ :-(
в общем если вы можете перейти на УТ 11.4 в сумму до 500 т.р., то переходите (у меня переход оценивался в сумму более миллиона, поэтому остались на ТиС)
всё это ИМХО и у каждого может быть своя ситуация ;-)
15. RustIG 1301 30.01.20 15:09 Сейчас в теме
(12) добрый день! у меня клиент на ут 10.3. с чего начать изучение маркировки обуви? есть ли инструкция по внедрению маркировки в 1с (ут, розница)?
16. Mx00 247 30.01.20 17:05 Сейчас в теме
(15) начать стоит с изучения инструкций на сайте ЦРПТ :-)
я написал короткую заметку для розницы https://infostart.ru/public/1186015/
но это не про внедрение в 1С, а про понимание ситуации
чтобы разобраться что делать в 1С я бы рекомендовал поставить себе последний релиз УТ 11.4 и пройти в ней все необходимые процессы, а потом уже можно думать как переносить это в свою конфигурацию.
есть решение https://infostart.ru/public/939764/ которое может сильно облегчить внедрение маркировки и цена у них вполне адекватная - работы ооооочень много
13. user1347354 24.01.20 00:09 Сейчас в теме
Доброго времени суток. Максим, подскажите, я правильно понимаю, что два DataMatrix (GS1) кода из первого и второго скриншота созданы к одной конкретной товарной единице и по сути взаимозаменяемы и проходят проверку приложением от ЧЗ, но почему они такие визуально разные? По вашим данным сгенерил свой код и что характерно тоже воспринимается приложением хотя отличается от обоих ваших. В чем подвох? И что характерно если создать просто DataMatrix то он тоже проходит проверку в ЧЗ.
Собственно вопрос в том удалось ли вам сгенерить с штрихкод идентичный полученному из ЧЗ.
Спасибо.
14. Mx00 247 29.01.20 11:28 Сейчас в теме
(13) я сначала тоже заморачивался понятием "идентичный", но потом понял, что это не в моей "компетенции" :-)
DataMatrix формируется по избыточному алгоритму и ещё там какие-то есть нюансы, но главное чтобы при считывании были получены нужные данные. NeoReader QR & Barcode Scanner позволил мне наглядно увидеть какие данные считываются с DataMatrix. Проверку в ЧЗ пройдёт и не совсем корректный DataMatrix, т.к. в приложении "умный алгоритм" и он может игнорировать неправильные символы, а сканеры и ТСД которые используются на кассе или на складе "не такие умные" и им нужно чтобы всё было на своих местах (в статье про это написано в разделе "Формирование GS1 DataMatrix")
17. ray1978 06.02.20 16:25 Сейчас в теме
Вот какие две ситуации обнаружились с этим Ocvita Barcode. Настраиваю маркировку обуви

1. Печатает марку правильно. По крайней мере мобильные приложения считывают и показывают что первый символ FNC и еще два последующих FNC в нужных местах. ЧестныйЗнак "кушает такую маркуЭтикетку"

Однако, когда сканером читаем такую марку с этикетки, то полученная строка Не содерожит первый символ GS (который на моб.приложениях отображается FNC)

Тут же эту марку распечатываем через 1С8 и ее встроенную компоненту печати штрихкодов, получаем маркуЭтикетку. На ней мобильные приложения также показывают первый символ FNC и еще два последующих.
Теперь считываем сканером эту марку и в полученной строке получаем первый символ GS

Сканер настроен в COM/

Теперь вопрос, а как правильно должно быть при чтении марки сканером???

Я, конечно, обрабатываю считанную строку путем замены всех GS на пусто,
а потом уже вырезаю gtin и serial

А как будут работать оборудования и программы у покупателей моих товаров, когда они считают марку?
Ведь, получается
считанная марка после Ocvita Barcode отличается от считанной марки 1Скомпоненты,
хотя обе показываются разными мобильными приложениями правильно
18. Mx00 247 06.02.20 17:03 Сейчас в теме
(17) в статье написано как проверить (в общем именно про это статья) а то, что вы спрашиваете как то не серьёзно :-)
прочитайте ещё раз статью и используйте NeoReader QR & Barcode Scanner и сравните с оригинальным DataMatrix от ЦРПТ-СУЗ, если и это не поможет, то прикрепляйте ваши DataMatrix и я вам их отсканирую
19. ray1978 06.02.20 17:28 Сейчас в теме
(18)Разобрался.
Серьезно - не серьезно, уже совсем крыша едет. Дилемма в том, что какие-то разные результаты получаются печатай я эту марку через ocvitaBarcode и через 1Скомпонента печати штрихкода.
При этом, полученная этикетка читается ЧЗ, pharma trax scanner, как нормальная. Везде показываются нужные разделители в нужных местах.

А зацепился я за то, что при считывании марки после ocvita и после 1C я увидел нехватку последнего символа в серийном номере. Здесь забил тревогу.
Оказалось, что считанная марка после ocvita начиналась сразу с 01 gtin и далее и еще 2 gs в строке
А после 1С строка начиналась gs 01 gtin и далее и еще 2 gs в строке

В общем, все это ....
Ладно, с этим разобрались. Сверил, как должна считываться марка с маркой от ЧЗ, полученной в пдф.
В моем случае ocvita все делает правильно.

Добрался до чекмарк от клеверенса. там все стало ясно.


А вот проблема, которая у ocvita обнаружилась. причем еще у других людей тоже.
В моем случае.
Есть файл от ЧЗ с 9 марками. Открываю только npp+, никаких excel или, тем более, сохранить

Печатаю этикетки.
Смотрю разными приложениями. У всех все ОК.
Но у двух марок, криптохвост заканчивается не на == а на ===
Причем, эти две марки в файл расположены посередине среди всез 9 марок.

Опять же, приложения все говорят норм, ЧЗ читает.
Вроде и ну его этот криптохвост.
Ведь в ЧЗ передаем только gtin и serial

Вот такие дела с хвостом.
И не только у меня
20. Mx00 247 06.02.20 18:41 Сейчас в теме
(19) судя по фразе "Открываю только npp+" до API ещё не добрались, а времени уже совсем мало осталось...
по моим прикидкам печать этикетки это примерно 10% от всего цикла работ по маркировке :-(
34. victuan 4227 12.02.20 20:11 Сейчас в теме
(19)
Оказалось, что считанная марка после ocvita начиналась сразу с 01 gtin и далее и еще 2 gs в строке
А после 1С строка начиналась gs 01 gtin и далее и еще 2 gs в строке

А ведь в начале не должно быть GS, там должен быть FNC1.
Получается, Оквита правильно печатает, а не 1с8.
36. Mx00 247 12.02.20 21:24 Сейчас в теме
(34) Первым должен быть ASCII232 и при сканировании он "исчезает", 1С8 тоже может печатать правильно, но кто-то её не может правильно настроить :-)
FNC1 (или FNC или GS) - это НАЗВАНИЯ разделителей, но в зависимости от места в штрих коде разделители разные: в начале ASCII232, а в середине ASCII 29
документация так замысловато написана, что без пол литра не разберёшься, да и сами ЦРПТэшники путают всех
https://infostart.ru/public/1172346/
37. victuan 4227 13.02.20 04:59 Сейчас в теме
(36) Я так понял, что одним и тем же сканером были проверены этикетки 1с8 и 1с77, и он выдал разный результат. Поэтому предполагаю, что всё-таки первый символ в этих этикетках отличается.
Насчет настроек не спорю - всё может быть. Но про проблемы при распознавании этикеток, распечатанных из типовых 1с8, уже звучало неоднократно на разных ресурсах.

PS. ASCII232 это какой-то секретный символ, и до сих пор я не понимаю, что он означает в техническом плане.
Однозначно это не буква "и" в таблице ASCII, а какой-то технический аспект нанесения ШК в формате GS1, который позволяет его при чтении отличить от других форматов и который передает в сканер последовательность ]d2, но на самом деле этих трех символов в самом ШК не закодировано.

PSS. В ESC-последовательностях (для Zebra) используются такие обозначения символов GS:
]1 - Печать символа FNC1
[1D - Печать символа GS
38. Mx00 247 13.02.20 05:35 Сейчас в теме
39. victuan 4227 13.02.20 05:43 Сейчас в теме
(38) Там нет информации, чтобы понять "физикам" что это такое технически. Только чистая абстракция для "лириков".
40. Mx00 247 13.02.20 06:03 Сейчас в теме
(39) у меня вчера сисадмин программировал новые сканеры штрих-кодов, потратил несколько часов, но разобрался во всех этих непонятных настройках :-)
сканер считывает картинку и разбирает её по алгоритмам, чтобы правильно разобрать ему нужно объяснить что хотим получить, т.к. в зависимости от типа желаемого результата можно получить разные данные :-)
первый символ ]d2 управляющий именно для "самого сканера" и не является данными которые мы хотим получить, поэтому он "исчезает" ещё в "самом сканере", а вот если мы сканируем с помощью смартфона, то _можем_увидеть_ этот символ в получаемых данных
41. victuan 4227 13.02.20 06:30 Сейчас в теме
(40) И что там за символ? С кодом 232? т.е. буква "и"?
42. Mx00 247 13.02.20 07:24 Сейчас в теме
117. Qwert_23 19.03.21 16:29 Сейчас в теме
(37)
PS. ASCII232

добрый день. подскажите как Вы в обработке прописываете символ ASCII232 ?
118. Mx00 247 19.03.21 16:51 Сейчас в теме
(117) прошу уточнить кому этот вопрос :-)
и для какой 1С вас интересует ответ...
120. Qwert_23 22.03.21 08:30 Сейчас в теме
122. Mx00 247 22.03.21 09:07 Сейчас в теме
(120) публикация про 1С 7.7 + Ocvita Barcode - "прописывание" ASCII232 производится указанием типа DataMatrix, про 8-ку проще посмотреть в типовых.
123. Qwert_23 22.03.21 12:25 Сейчас в теме
(122) это когда картинка в макете. а я передаю строку на принтер
124. Mx00 247 22.03.21 14:37 Сейчас в теме
(123) ищите профильную тему по принтеру, тут только про 1С
21. ray1978 06.02.20 19:02 Сейчас в теме
Мы пока решили с ЧЗ работать через файлы, csv и xml. тут уже и наше ЭДО (контур) сделал механизм обмена марками с ЧЗ.

Мне осталось только приемку сделать в 1С для ЧЗ. у меня семерка, пилим ее.
остальное готово и протестировано: печать этикеток из csv файлов, ввод марок в оборот, вывод из оборота, отгрузка, онлайн-кассы-продажи и возвраты. (конечно, же без ситуаций, на которые сам ЧЗ либо не дает ответа, либо пишет, в настоящее время этот функционал у нас еще не разработан)
Когда апи утрясется, а заодно и сам ЧЗ станет стабильней работать, займемся апи.

Мы продавцы в опт немного(неучастникам и выбытие из оборота) и розница. Так что, я у себя вижу больше чем 10% готовности.
22. Mx00 247 06.02.20 19:25 Сейчас в теме
(21) да, в таком варианте почти всё готово :-) нет ещё волшебного слова ТСД, а так всё есть :-)
35. victuan 4227 12.02.20 20:34 Сейчас в теме
(21) Контур для ЭДО сделал внешние обработки для 1С 7.7?
Я от них так и не смог на этот счет добиться внятного ответа.
Он вам делал по индивидуальному заказу или в общем виде?
Можете мне написать в личку (я вам писал еще в ноябре, но не ответили).
43. oskarsan 18.02.20 22:32 Сейчас в теме
(21)пункты маркировки для 1с77:
1 способ
1. Из ЧЗ выгружаем КМ в файл csv
2. Создаем справочник КМ привязанный к Номенклатуре
3. Загружаем КМ из csv
4. Распечатываем этикетки с помощью ocvita.barcode с кодом товара
5. В документе чек добавляем реквизит КМ
6. При сканировании КМ подставляем Номенклатуру
7. Передаем в ККМ КМ (для штрих: 1 на старых ПО в виде hex, 2 с лицензий gtin & serial)

2 способ
1. Из ЧЗ выгружаем КМ в файл pdf или psd
2. Распечатываем
3. В документе чек добавляем реквизит КМ
4. По кнопке сканируем КМ в чек
5. Передаем в ККМ КМ

выгрузку из ЧЗ делаем ручками
зависли на прошивке ККМ и оплате ОФД
по новым накладным пока нет информации
все настройки в 1с сделал за 3 вечера, +месяц на чтение форумов, писем и рекламы
46. Mx00 247 18.02.20 23:52 Сейчас в теме
(43) если нет взаимодействия с другими контрагентами, то этого достаточно, только ещё возврат от покупателя нужно сделать.
я всегда напоминаю про возвраты - в них самая сложность :-)
например возврат поставщику как будешь делать? :-D
48. oskarsan 19.02.20 07:09 Сейчас в теме
(46) Пошли тоже простым способом и приравниваем возвращенный товар что КМ не читаемая. Мои клиенты не хотят думать на будущее, когда проблема появиться, тогда и будут решать, от этого у меня появляется ГБ решать проблему за кротчайшие сроки. :)
23. ray1978 06.02.20 19:27 Сейчас в теме
Все верно. Но мы и не ворочаем десятками тысяч штук. ТСД у нас не использовалось и до момента маркировок. Так что, все это, если и потребуется, для нас не несет первостепенной значимости. А дальше видно будет.
24. Mx00 247 06.02.20 20:36 Сейчас в теме
(23) когда дойдёте до ТСД - расскажу как мы решили эту задачу :-)
31. ЗС1 08.02.20 16:49 Сейчас в теме
(24) Можете поделиться опытом? Мы сейчас пытаемся запустить это на Клеверенсе. Скажем так, готового решения у них нет, все через костыли
32. Mx00 247 09.02.20 19:57 Сейчас в теме
(31) Да, я с клеверенс пообщался и понял, что не взлетит 😀
ТСД: Купили не дорогие на андроиде
подключение по RDP прямо в 1С
сделал обработку которая как раз помещается на экран
штрих-код передаётся в разрыв клавиатуры
фокус ввода всегда на одном реквизите и в зависимости от открытой закладки обрабатывается по разному
пришлось на складе установить промышленную WiFi точку доступа иначе всё сильно тормозило и обрезали штрих-код​ на 32 символа
теперь всё летает,
под каждый документ создаётся операция ТСД (или несколько, могут один приход втроём сканировать)
потом можно сверить исходный документ и данные ТСД
сами кладовщики довольны - обнаруживают пересорт при отгрузке и своевременно исправляются
закончу маркировку и будем делать адресное хранение (т.к. КМ уникальный, то адресное хранение сильно упрощается)
33. Mx00 247 10.02.20 00:13 Сейчас в теме
(31) Форма имеет несколько слоёв и во время работы они "перелистываются"
Прикрепленные файлы:
44. oskarsan 18.02.20 22:51 Сейчас в теме
(24)Если в 1с77 создать справочник КМ подчиненный Номенклатуре, то 2Д ТСД без проблем найдут номенклатуру, 1Д ТСД нужно открывать выбор всех КМ принадлежащих Номенклатуре по ШК и если на марке есть Серийник выбрать не сложно. Для инвентаризации придется добавлять реквизит КМ и работать как с разными ЕдиницамиИзмерений. Правильная логика?
45. Mx00 247 18.02.20 23:42 Сейчас в теме
(44) из вашего поста не понятно логику чего вы описываете.
у меня справочник КИ не подчинён номенклатуре, но содержит ссылку на номенклатуру - это не принципиально, но мне так удобнее.
зачем использовать 1Д ТСД я тоже не понимаю - выбирать серийник может и не сложно, но не на складе в момент приёмки фуры нового товара :-)
я в [32] уже описал как сделано у меня, а другому разработчику понравится другая реализация...
47. oskarsan 19.02.20 06:59 Сейчас в теме
(45) Я описал как настроить ТСД с минимальными затратами, с учетом что ТСД есть и куплены давно когда еще не было 2Д. У меня клиенты розничные магазины, максимум форд фургон приходит.
если у вас справочник КМ с ссылкой на Номенклатуру, то при свертке базы Номенклатура не удалиться. Мне показалось проще сделать подчиненный и как справочники Цен, Единиц и т.п. видеть какие у Номенклтуры есть КМ и какой их статус + поиск и выбор по подчиненному справочнику быстрее работает код для 1Д сканеров.
Приведите пример как у Вас написан код если марка не читается и нужно найти КМ, вот мой пример для печати Этикетки и ЧекаККМ:
ОбGTIN = СоздатьОбъект("Справочник.GTIN"); 
			ОбGTIN.ИспользоватьВладельца(ТекЭлем); 
			Если ОбGTIN.ВыбратьЭлементы(1)=1 Тогда
				Если ОбGTIN.Выбрать(1)=1 Тогда
					GTIN = ОбGTIN.ТекущийЭлемент().Наименование;
				КонецЕсли;
			КонецЕсли;
50. Mx00 247 19.02.20 18:10 Сейчас в теме
(47) мы с вами совсем о разном говорим, на столько о разном, что нет точек соприкосновения :-)
вот скажите что вы понимаете под аббревиатурой ТСД ?
52. oskarsan 19.02.20 23:47 Сейчас в теме
(50)Терминал сбора данных - используется для инвентаризации, в крупных (оптовики) организациях для проверки (подбора) поступления, отгрузки, сверки цен.
я понял Вас - вы про программирование ТСД?
Но все же, если не читается код или не сработал сканер (тсд), имея обувь на руках, как найти в Вашем справочнике нужную КМ?
54. oskarsan 19.02.20 23:58 Сейчас в теме
(52) В принципе если настроен отбор и сортировка, то найти можно. Но при удалении номенклатуры нужно дописывать чтобы очищались ссылки или удалялись КМ. А если нужно сравнить остаток по номенклатуре и остаток по КМ - перебирать весь справочник КМ на ссылки номенклатуры?
56. Mx00 247 20.02.20 06:15 Сейчас в теме
(54) "Остаток по КМ" - этого у меня совсем нет, если код "числится" за нами, то количество=1
60. oskarsan 20.02.20 09:54 Сейчас в теме
(56) а если остаток номенклатуры 5, а КМ только 4 или 6. или остаток 5 КМ 5, но 2 КМ уже продали. Я для подобных случаев и сделал подчиненный, чтобы можно было сравнить программно разницу или наглядно увидеть, как штрихкода в единицах.
62. Mx00 247 20.02.20 15:12 Сейчас в теме
(60) если "программно", то нет разницы подчиненный справочник или реквизит с отбором. в конкретном моём случае удобнее реквизит Номенклатура в плоском справочнике (скажем так "аналог" регистра сведений в 1С8)
у нас есть понятие "уценённый" товар и для него заводится отдельная карточка в справочнике Номенклатура, при "переводе" товара из нормального в уценённый в справочнике КодыИдентификации меняем Номенклатуру и "маркировка" переключается на уценённый товар.
это всё можно сделать и в подчинённом справочнике, но мне удобнее плоский.
55. Mx00 247 20.02.20 06:13 Сейчас в теме
(52) отбор по реквизиту "Номенклатура" в справочнике "КодыИдентификации"
25. RustIG 1301 07.02.20 13:32 Сейчас в теме
(0) на сайте Оквита информация обновлена в последний раз 05.04.2015 21:27.
я скачал Оквиту - мой КМ не читается обработкой, которая прилагается в Демо1с к программе Оквита.
Проблема в спецсимволах 100%.

Скачал на ИС обработку для Розницы - проверяю пока через нее. Она корректно формирует ШК.
26. Mx00 247 07.02.20 14:00 Сейчас в теме
(25) у всех всё читается - подумай с той ли ты стороны подходишь к этому вопросу :-)
28. RustIG 1301 07.02.20 14:20 Сейчас в теме
(26) нашел программу для проверки КМ https://ru.online-qrcode-generator.com/Barcode-Generator

можно выбрать Русский язык и тестировать GS1 Data Matrix
27. RustIG 1301 07.02.20 14:11 Сейчас в теме
(25) да вот же, скачал, тестирую эти обработки (скрин внизу)...
Прикрепленные файлы:
29. ray1978 08.02.20 13:15 Сейчас в теме
Я для проверки напечатанной марки (что через ocvita, что через 1С компонента печати, что просто марки обуви в магазинах) проверяю

- моб.приложение на андроид - Pharma Trax Scanner

а для совсем уж контрольной проверки:
- использую ЧекМарк (мобильное приложение для Андроид от Клеверенс)

Этими же приложениями сравниваю марку, полученную от ЧЗ в ПДФ, так сказать, для собственного успокоения, что получается и сканируется у меня, после ocvita
(25)
30. Mx00 247 08.02.20 14:13 Сейчас в теме
(29) ну чтобы быть совсем спокойным почитай тут https://infostart.ru/public/1172346/
Pharma Trax Scanner показывает "обработанные" данные, а NeoReader QR & Barcode Scanner покажет "реальные" данные
49. RusWo 19.02.20 16:24 Сейчас в теме
(30) Здравствуйте, то есть если на этикетках ШК сформированы без первого спец символа а сразу с "01", то "ВСЁ ПРОПАЛО"???
51. Mx00 247 19.02.20 18:15 Сейчас в теме
(49) если вы розничный продавец, то всё хорошо, а если вы продаёте товар "оптом", то нужно согласовывать этот вопрос с покупателями, может они без проблем примут такие DataMatrix. Проблема может быть только у тех у кого используется сканирующее оборудование с привязкой к спецсимволам, но чую я что все будут настраивать так, чтобы игнорировать все спецсимволы и брать только 31 символ кода идентификации :-)
53. oskarsan 19.02.20 23:50 Сейчас в теме
(51) В каких случаях эти спецсимволы полезны?
57. Mx00 247 20.02.20 06:21 Сейчас в теме
(53) тогда когда сканирующее оборудование настроено на их обработку
61. oskarsan 20.02.20 10:04 Сейчас в теме
(57) для разграничения кода товара и серийника, т.к. датаматрикс может быть разным? Я что с ЧЗ выгрузил (150символов), распечатал, сканер мне также выдал, и 1в1 его нашел. на спецсимволы не обращал внимания. Но наверное надо мне будет код дописывать под разные сканеры.
58. RusWo 20.02.20 06:23 Сейчас в теме
(51) На текущий момент я сформировал ШК в формате "DataMatrix" без спецсимвола. Хотя "Честный знак" формирует этикетки с этим символом в формате "DataMatrix (GS1)". Как это будет работать в конечной точке (рознице) для меня загадка.
(57)
64. Mx00 247 21.02.20 21:50 Сейчас в теме
(58) У меня фронтол 6.6.1 отказывается работать с "неправильным" DataMatrix, когда первый символ Симв(29)
73. victuan 4227 02.03.20 11:35 Сейчас в теме
(49) Допускается без первого спецсимвола (FNC1) https://честныйзнак.рф/info/news/rekomenduemyy-algoritm-kodirovaniya-i-preobrazovaniya-koda-markirovki-v-data-matrix/
Таким образом, оба формата Data Matrix (со специальным символом FNC1, имеющий код 232 в таблице символов ASCII, в начале кода маркировки и без этого символа) являются корректными. Но рекомендуемым алгоритмом преобразования кода маркировки в Data Matrix является алгоритм, соответствующий спецификации GS1 Data Matrix, с применением признака символики FNC1, имеющий код 232 в таблице символов ASCII, в начале кода маркировки.
59. okscsss 20.02.20 07:59 Сейчас в теме
Может кто сталкивался с формированием не верного DataMatrix кода?
010290000045865921TDGuv?4DS%MbL91802992XWvJ9U1nf7QTf7MqitBTZgwF1xoZ7eRabtbKJIH8fHF­amEJkPqXlilc3Tp4Dx3Wk7UKpGFV0NBbH/N4vN5L/Mw==
напечатали, считали и получили лишний символ в конце "="
010290000045865921TDGuv?4DS%MbL91802992XWvJ9U1nf7QTf7MqitBTZgwF1xoZ7eRabtbKJIH8fHF­amEJkPqXlilc3Tp4Dx3Wk7UKpGFV0NBbH/N4vN5L/Mw===
65. Mx00 247 21.02.20 21:51 Сейчас в теме
(59) приложи сам DataMatrix - посмотрю
66. RusWo 22.02.20 05:26 Сейчас в теме
(59) Есть подозрения, что драйвера https://frontol.ru/upload/distr/Frontol%206/6.7.0/Frontol_6_7_0_Full.exe уже учитывают символ Симв(29).
67. RusWo 22.02.20 05:31 Сейчас в теме
(64) Есть подозрения, что драйвера frontol.ru/upload/distr/Frontol%206/6.7.0/Frontol_6_7_0_Full.exe уже учитывают символ Симв(29).
68. Mx00 247 22.02.20 14:24 Сейчас в теме
(67) если можешь, то прошу проверить "кривой" DataMatrix :-)
Прикрепленные файлы:
100. victuan 4227 07.03.20 08:04 Сейчас в теме
(68) Ну да, штрихкод кривой - вместо лидирующего FNC1 содержит символ GS.
Штрихкод, который печатается данной обработкой для 1С 7.7 через OcvitaBarcode.ocx, к сожалению, тоже не до конца соответствует требованиям ЦРПТ - он содержит во всех позициях FNC1, а ведь перед AI 91 и 92 должен быть GS

FNC1010468004933824921HOA%DamnoJefcFNC1918039FNC192IKXGc2h8XOGp6AM6svWYoALDprUc8QnTYNetjNp6iKOy9TadzeTU9ByrV3­FYZ0OMJqLkfG2hL8yC5Va6DnYxOg==

Содержимое штрихкода:

(01) 04680049338249 [14]
(21) HOA%DamnoJefc [13]
(91) 8039 [4]
(92) IKXGc2h8XOGp6AM6svWYoALDprUc8QnTYNetjNp6iKOy9TadzeTU9ByrV3FY­Z0OMJqLkfG2hL8yC5Va6DnYxOg== [88]
101. Mx00 247 08.03.20 03:04 Сейчас в теме
(100)странное утверждение - каким сканером проверял?
103. victuan 4227 09.03.20 15:03 Сейчас в теме
(101) Приложением от Клеверенс для андроида MobileSmarts.CHK.v3.
Хорош тем, что различает управляющие символы в ШК, в отличие от других приложений, которые не различают FNC1 и GS.
Через Ocvita "правильный" ШК в формате GS1 Datamatrix в точном соответствии с форматом ЦРПТ, не получить.
Но можно получить через zint.exe, указав правильно ключ --gssep
104. Mx00 247 09.03.20 23:04 Сейчас в теме
(103)
MobileSmarts.CHK.v3
- где скачать ?
а вот на Ocvita "гнать" не надо, особенно без доказательств :-)
а вообще у меня в публикации указан правильный сканер только он для тех то понимает что и как...
105. victuan 4227 10.03.20 04:33 Сейчас в теме
(104) Прикрепил вложением.
Ocvita как давно обновлялась? У zint.exe ключ для вывода GS вместо FNC1 в середине ШК появился недавно, и именно только ради русского проекта по маркировке, т.к. только в нем такие требования к GS1 Datamatrix (который, вообще-то допускает FNC1 во всех позициях ШК для разделения)
PS. Могу для сравнения "верный с т.зр. ЦРПТ" выслать ШК для проверки этим приложением, чтобы "поймать нюансы".
Прикрепленные файлы:
MobileSMARTS.v3.CHK.apk
107. Mx00 247 10.03.20 15:15 Сейчас в теме
(105) все утверждения бездоказательны
108. victuan 4227 10.03.20 15:18 Сейчас в теме
(107) Я ведь и не должен ничего доказывать?
Я привел факты. Тот, кому это нужно и важно, сможет их проверить.
Чем проверить и как проверить я сообщил.
109. Mx00 247 10.03.20 15:31 Сейчас в теме
(108) Спасибо, переделаю публикацию с твоими дополнениями.
но пока я так и не понял почему чекер в середине кода пишет FNC1, хотя "железные" сканеры возвращают симв(29), видимо там программно это обрабатывается, и NeoReader тоже возвращает симв(29)
110. victuan 4227 10.03.20 15:58 Сейчас в теме
(109) Видимо, "прошивка" сканера так работает. Надо провести тесты на разных моделях сканера с разными его настройками.
В любом случае, есть приложение которое позволяет различить разделители, и есть программный способ печатать GS1 DM, используя разные разделители.
Т.е. теорию я практикой в любом случае подтвердил.

Подробнее смотри обсуждение https://forum.mista.ru/topic.php?id=848088&page=7, пост 641:
фарматракс писали подрядчики совместно с GS1, и довольно давно, им было фиолетово что там придумают крейзи рашнз.
Ванька из Честного Знака придумал вот какую мульку - первый символ в датаматриксе = FNC1(не представлен в 1с и его уникоде), а далее между блоками поставить 2 знака GroupSeparator (в 1с символ(29)).
вот как хош, так и ставь FNC1 туда.

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

можно ковырять так:

ФормулаПечати= "[01]"+GTIN14Знаков+"[21]"+Serial+"[91]"+ServiceCode+"[92]"+КриптоХвост;

"zint.exe -b 71 -o """ + ИмяВременногоФайла + """ --gs1 --gssep -d """ + ФормулаПечати +""""

ессно минус такого подхода - приходится дербанить полный код марки на составные части.
но как с такими флагами, подать еще и флаг "--binary" (то есть данные as is) пока не придумал.
Показать


Я лично проверил на zint версии 2.7.1 — работает.
111. Mx00 247 10.03.20 16:10 Сейчас в теме
(110) я когда разбирался с zint видел этот --gssep, но в Ocvita его некуда прикрутить, а чекера не было у меня , только NeoReader смог найти.
У тебя есть готовая обработка с zint?
поделишься? :-)
или сделай публикацию и я в своей дам ссылку на правильный вариант ;-)
112. victuan 4227 10.03.20 18:13 Сейчас в теме
(111) Я использую Формекс для этих целей.
Демонстрационная обработка лежит по ссылке https://yadi.sk/d/zg87QbQ9TTA3aQ.
Пока код закрыт, много идей туда вложено и не только моих, поэтому пока не могу раскрыть.
113. Mx00 247 10.03.20 18:55 Сейчас в теме
(112) понял, но я, если сам сделаю, то тут выложу за стартмани - сам подход к формированию DataMatrix с помощью zint
не думаю, что это будет быстро, т.к. на мои DataMatrix клиенты пока не ругаются :-)
106. victuan 4227 10.03.20 06:11 Сейчас в теме
(104)
у меня в публикации указан правильный сканер
сканер NeoReader QR & Barcode Scanner (https://play.google.com/store/apps/details?id=de.gavitec.android), к сожалению, не различает разделители внутри ШК на FNC1 и GS. Он их показывает все одинаково.
63. user1366654 21.02.20 17:00 Сейчас в теме
Прошу прощения, возможно немного не по теме, но вот полезная статья по данному вопросу, возможно поможет.
https://infostart.ru/public/1198659/
69. pavel_pozdeev 315 24.02.20 13:29 Сейчас в теме
Mx00, сканеры в вашей конфигурации 7.7 подключены в режиме com порта или как клавиатурные?
Не могу заставить сканеры, подключенные как клавиатурные (нужно именно так), читать DataMatrix коды, разбивает на 3 штрихкода (см. скрин)
При этом в блокнот сканирует нормально. Проблема, видимо, в компоненте 1С 7.7 Scaner1C.dll
Прикрепленные файлы:
70. Mx00 247 24.02.20 16:50 Сейчас в теме
(69) Сканеры у меня настроены в режиме com порта, библиотека ScanOPOS.dll
которую взял из "1С:Сканер штрихкода (COM)" https://releases.1c.ru/project/ScanOpos
сканеры Honeywell VG1452, настройки по дефолту, перевод в режим "COM порта" и добавлен суффикс.
в самом начале когда пробовал настраивать в клавиатурном варианте, то передавались русские буквы и решил с этим не заморачиваться и настроить в режиме "COM порта" и ещё в терминальном режиме клавиатурный ввод получился очень медленным.
для моего сканера есть настройка "Передача функционального кода" (Function Code Transmit) и там видимо можно сделать замену "спец.кодов", но я с этим не разбирался.
на ТСД где у нас используется "клавиатурное подключение" настроена замена функциональных кодов на символ @ и дальше 1С с этим разбирается.
115. basil_m 2 17.09.20 14:34 Сейчас в теме
(69)Добрый день! Такая же фигня. Как Вы решили данную проблему?
116. basil_m 2 17.09.20 15:33 Сейчас в теме
(69)
(115)Помогла настройка сканера Function Code Transmit в Disable. Код стал передаваться одной строкой
pavel_pozdeev; +1 Ответить
71. Mx00 247 01.03.20 19:51 Сейчас в теме
для тех кто пытался выдать желаемое за действительное (первый символ должен быть "FNC1, имеющий код 232 в таблице символов ASCII")
https://xn--80ajghhoc2aj1c8b.xn--p1ai/info/news/rekomenduemyy-algoritm-kodirovaniya-i-preobrazovaniya-koda-markirovki-v-data-matrix/
74. ravencrow 5 03.03.20 10:36 Сейчас в теме
В Управление торговлей 11.4 тоже не всё гладко.
При считывании кода маркировки от производителя выходит ошибка: "Недопустимое значение параметра (параметр номер '1')". И это даже не GS1, а обычный DataMatrix. Хотя коды, которые печатали сами для остатков, воспринимает без ошибок. Сравнивал считывание сканером и приложением Честный знак, коды идентичны. Проблема в алгоритмах обработки кода в 1С.
https://forum.infostart.ru/forum81/topic236817/
75. RustIG 1301 03.03.20 11:51 Сейчас в теме
(74) вышла новость от фирмы 1с от разработчиков:
https://its.1c.ru/db/partnerits#content:3732:hdoc

В ночь с 29 февраля на 1 марта обновили систему ЧЗ, сами ЧЗ выпустили новость о кодировке КМ.
В связи с этим, у всех пользователей программ 1С при заказе кодов на остатки появляется сообщение об ошибке.

Надо установить расширение, которые будут выпущены 03.03.2020. После установки проверьте работоспособность.
Обращайтесь к партнерам 1С.
82. ravencrow 5 03.03.20 15:51 Сейчас в теме
(75) А какая связь с этим https://bugboard.v8.1c.ru/error/000064837 ??? Ошибка сканирования кода маркировки зафиксирована еще 07.02.2020г., но исправлений до сих пор нет. Прошел уже месяц...
76. Mx00 247 03.03.20 12:10 Сейчас в теме
(74) первый символ Симв(29), вот и не понимает УТ что это правильный датаматрикс
77. ravencrow 5 03.03.20 12:29 Сейчас в теме
(76) При сканировании сканером штрихкодов и смартфоном символа 29 нет.
010405995421282921kR2*!J<hhh'";91803992jM8CiI1qKbzyBSzj6IpYfcnw/a4BS+FZgt8YMrUIjANA00KdUIBO­­rRu7iEZAs07kkdC0kvt+H3GUYR0//EnR5w==
Прикрепленные файлы:
Оставьте свое сообщение