невозможно обработать отсканированный штрих код по причине уже добавлена в документ
1С Розница: ошибки при сканирование штрихкода.
В 1С номенклатура и штрихкоды заведены верно, при вводе штрихкода вручную такой ситуации не возникает никогда.Драйвера сканера переустанавливали, сканер переподключали.
Такое чувство, будто где-то в процессе передачи информации со сканера штрихкода на 1С кэш засорился, или еще что. Никто с таким не сталкивался?
А то я эту Розницу не знаю особо и знать не хочу. Но придется))
(0) поменять все по очереди на заведомо рабочее?
начиная со сканера, продолжая дровами, виндой, компом и заканчивая конфой. ))
Протелепать не получится
(5), (7) RDP не используется
(3) вот вопрос, где он может не очищаться? Кэши чистили, конечно).
Ерунда какая-то. Но «тест оборудования» установлен на том ПК, с которым касса и кассиры, и сканер штрихкодов непосредственно не работает, все продажи осуществляются через «РМК».
(12) не знаю, все настроено через COM и перенастраивать это, я так понимаю, долго и мучительно.
У нас разделяется между отделами работа с самой 1С и с оборудованием, я уже просила, какой штрихкод будет читаться в блокнот, но мне отказали мотивируя тем, что «Это очень долго и наверное это ваша 1С не работает, потому что на Атоле все работало».
(17) почему «В худшем через отладчик»?
И где бы почитать, что я должна увидеть в настройках? Думаете там косяк какой-то?
Честно говоря, мне тоже кажется что дело в сканере. Если бы в коде был косяк, то не в 10 из 200 магазинов беда была бы, а во всех.
(20) потому что не хотят наши настраивать писание «в блокнот», а через COM пишет только в 1С.
Я пытаюсь в коде отловить ошибку, потому что начальство уверено, что дело не в сканере, а в «кривой не работающей 1С», а сканер, мол, не может работать не правильно.
Обработку посмотрю повнимательнее.
Думаю косяк в нескольких дровах или нескольких подключениях к одному бедному сканеру, а еще может быть компорт расшарили как нить или пробросили через сеть ))
Сканер то куда физически подключен? И где 1С-ка запускается?
(23)+ Судя по (10) сканер то сетевой ))
или неправильно понял насчет другого ПК?
(26) нет, не сетевой. USB
(27) тогда переведите пиканием по настроечным ШК его в режим HID (эмуляция клавиатуры) и все
куда этот USB то воткунут в тот же комп где 1С стоит и запускается в обычном режиме (толстый, тонкий или веб-клиент без всяких терминалов) или нет?
(30) пункты 4 и 5 поищу, спасибо!
(29) да, это идея, в режиме клавиатуры проверить.
(33) Кого, сканер штрихкода?
(40) да проблема в том. что драйверами- сканерами и т.д занимается другой отдел, у меня полномочий нет. А они делать ничего не хотят, говорят «Это ваш код написан плохо, напишите, чтобы все было хорошо». :).
Вообщем ясно,надо с драйверами ковыряться.
(43) учесть когда подряд два одинаковых товара сканируют не забудь
типа пусть перемешивают с другими или вместо Предупреждение сделать Вопрос
Маркировка. Решение проблемы сканирования и выгрузки.
Сегодня хотим разобрать настройку автоматической передачи данных в систему “Честный знак” на базе 1С:ERP на конкретном примере одного из наших клиентов, с ошибками и проблемами, которые возникают из-за еще не до конца налаженной работы системы “Честный знак” и 1С.
Наш Клиент работает на 1С: ERP Управление предприятием 2 (2.4.11.65) со стандартной конфигурацией.
В ходе маркировки остатков у Клиента постоянно возникали следующие ошибки:
Большая часть ошибок не повторялась, поэтому мы предполагали, что это проблемы ЧЗ.
Обратившись в “Честный знак” мы получили ответ, что данный код маркировки корректен и должен нормально обрабатываться любым ПО.
Во время переписки с ЧЗ и нашего разбора ошибки, вышло обновление, с огромным количеством недокументированных изменений в общих модулях связанных с маркировкой.
Установив и проверив типовой функционал 1С, обнаружили, что данная проблема не решилась.
Мы стали углубляться в проблему и столкнулись с ошибкой сканирования кода – такого формата
“(01)029******(21)*JC*** ( 62”
Пришлось погрузиться в отладчик и вылавливать ошибку.
Проблема оказалась в том, что один и тот же код маркировки в разных интерфейсах 1С расшифровывается разными участками кода, хотя результат разбора должен быть одинаковым.
И в 1 и во 2 случае разработчики не учли, что открывающееся скобка в коде маркировки может содержаться в “криптохвосте”.
Исходя из этого мы сделали патч, который исправляет логику разбора кода маркировки в нескольких модулях.
На момент публикации статьи, наш патч позволяет безошибочно считывать и вводить коды в оборот, но из-за нестабильности сервиса “Честный знак” обмен с ИС МП, доступ в личный кабинет и т.д. осуществляется с перебоями и задержками.
P.S. Кроме того, в ходе тестирования системы маркировки выяснилось, что 1С способна напечатать один и тот же штрих-код только 1 раз, поэтому советуем не запускать на печать весь пул кодов маркировки от ЧЗ, так как в случае если в принтере закончилась бумага, произошел какой-либо сбой и т.д. больше Вы не сможете напечатать данный код.
В этом случае вам сможет помочь наша обработка, которая позволяет очистить информацию о том, конкретный код маркировки был распечатан или все.
Инструменты пользователя
Инструменты сайта
Содержание
Возможные проблемы и методы их устранения
Формат штрихкода не соответствует стандарту
При сканировании кода с экрана «Тестовая продажа» вы получаете сообщение, что штрихкод не соответствует стандарту маркировки табачной продукции.
Аналогичное сообщение появится, если сканировать марку в приложении «Контроль табака». Марку не получается добавить в чек «в одно сканирования», а при добавлении «в два сканирования» вы получаете такое сообщение.
В нашу службу тех.поддержки с этой проблемой часто обращаются пользователи сканера Атол SB2108. Вот настроечный код для этой модели, сканируйте его:
Попробуйте в качестве беспроводного сканера наше бесплатное Android приложение:
Ваш сканер некорректно передает тестовый Datamatrix код
Такое сообщение может появиться при проведении тестовой продажи. Если Вы сканировали штрихкод с экрана Эвотора и увидели это сообщение, значит Ваш сканер передал в приложение не то значение, что было закодировано в Datamatrix коде.
Невозможно получить значение МРЦ из марки. Продажа запрещена
Скорее всего вам попалась пачка выпущенная до марта 2019 года, в тот период, когда на фабриках только налаживали и тестировали оборудование для нанесения маркировки. Откройте приложение «Контроль табака» и сканируйте код марки в него.
Не работает продажа «в одно сканирование»
При продаже «в одно сканирование» касса не находит товар по штрихкоду, а при попытке его добавить не находит наименования и цены (или цена явно не соответствует возможному значению).
Есть две вероятных причины этой проблемы.
Первая: Версия Evotor POS ниже 6.26.1. Если в поле «Штрихкоды» при создании нового товара вы видите полный код марки, а не обрезанный до 8 или 13 знаков GTIN код, проблема именно в этом.
Вторая: Записанный в код маркировки GTIN не соответствует продукции. Так было на партиях, выпущенных до 01.03.2019, пока на производстве тестировали и налаживали оборудование для нанесения маркировки. Откройте приложение «Контроль табака» и сканируйте в него марку. Обратите внимание на первые 14 символов сканированного кода марки. Он должен начинаться с нулей, а далее должны идти 8 или 13 символов линейного штрихкода, такие же, что указаны на боковой грани пачки. Если там другие символы, то проблема именно в этом.
Сканер не «пикает» марку
Возможно две причины.
Первая: Сканер не может считать DataMatrix код. Даже если у Вас 2D сканер, это не значит, что он всегда будет читать DataMatrix. Как вариант, в настройках сканера может быть отключен этот формат. Так настраивали сканеры для работы на кассах с ЕГАИС. На старых акцизных марках был маленький DataMatrix код, который часто мешал считывать нужный PDF-417 код акцизной марки, и формат DataMatrix на них отключали в настройках или настраивали так, что бы сканер реагировал на DataMatrix коды длиной только 150 символов (новый стандарт акцизной марки).
На пачки сигарет наносится инверсный DataMatrix, как негатив. Для большинства современных сканеров это не помеха, они «из коробки» умеют читать и нормальные и инверсные штрихкоды. В некоторых моделях заводскими настройками инверсный режим отключен.
Некоторым сканерам удается считать код марки только с нескольких попыток. Дело в том, что не все 2D сканеры одинаковы. Внутри сканера установлен фотосенсор, качество этого сенсора определяется его разрешением, измеряемым в мегапикселях (как у фотоаппаратов). Для комфортной работы с табачной маркировкой разрешение сенсора сканера должно быть не менее 1 мегапикселя, а самые дешевые модели 2D сканеров, как правило, имеют разрешение 0,2-0,4 мегапикселя.
Вторая: Вы пытаетесь считать код, не относящейся к обязательной маркировке.
Кодировка «Честный знак» на пачке сигарет выглядит так:
А вот это какая-то другая кодировка, скорее всего технологическая, использовавшаяся для каких-то производственных или логистических задач на табачной фабрике.
Возможно, вы сканируете не тот код.
Ваш сканер не сможет продавать блоки сигарет
При тестовой продаже и настройке GS1 разделителя приложение пытается поймать какой символ сканер передает вместо GS – это нужно для корректного выделения МРЦ из маркировки блока сигарет. Если Ваш сканер игнорирует символ GS и ничего не передает вместо него – Вы видите такое сообщение.
Загрузка по штрих-коду отсканированных файлов в 1С
Для чего это можно использовать? Например:
Менеджеры сдают в бухгалтерию первичные документы: оригиналы счетов-фактур, товарных накладных, актов, ТТН и т.д. Бухгалтерия проверяет оформление первичных документов и отмечает, что комплект документов сдан менеджером. Контроль сданных первичных документов лежит на бухгалтере и отнимает ресурсы. Решение: присоединенные по штрихкоду отсканированные документы можно контролировать, сформировав отчет.
При предоставлении документов по требованию, например, налоговой инспекции, бухгалтер спускается в архив и занимается поиском необходимых документов по нужному контрагенту за период. Расшивает папку и делает копию. Затем сшивает обратно и сдает в архив. Это занимает много времени и необходимо иметь либо копировальный аппарат рядом с архивом либо переносить копировальный аппарат к архиву. Решение: печать копий документов для инспекции можно выполнить из 1С, отобрав документы за период по нужному контрагенту.
Конфигурация Управление торговлей, редакция 11.1 (11.1.10.94)
Сервер 1С x32 Linux Debian
Серыер СУБД x64 Postgresql 9.2
Необходимые пакеты на сервере 1С под Linux.
Tesseract OCR 0.10 https://code.google.com/p/tesseract-ocr/
С этим пакетом мы будем распознавать текст на изображении, если штрих-код по какой-либо причине не прочитался, попытаемся распознать номер документа.
Для установки выполнить команду в терминале sudo apt-get install tesseract-ocr. Для поддержки русского языка нужно скачать со страницы https://code.google.com/p/tesseract-ocr/downloads/list пакет Russian Language Data for Tesseract. В моем случае это https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.rus.tar.gz.
Качаем на сервер 1С, выполнив команду:
wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.rus.tar.gz
С помощью Midnight Commander копируем содержимое папки tessdata архива в папку /usr/share/tesseract-ocr/tessdata/.
GPL Ghostscript 9.05 (2012-02-08) debian 🙁 http://www.ghostscript.com/
Будем конвертировать страницы из PDF файла в картинку JPG. Поставляется с системой.
Настроим сканер: сохранение файлов на общий ресурс и качество сканирования: цветное; 400х400 dpi; Текст; PDF; Качество высокое.
Сканируем документы. В моем примере документы сканируются комплектом по каждой реализации товаров. Соответственно в одном файле комплект к одной реализации товаров. Это счет-фактура, торг-12, акт, ТТН, доверенность. Счет-фактура кладется сверху, поэтому штрихкод мы будем считывать с нее.
Запуск фонового задания и отображение прогресса позаимствованы из библиотеки стандартных подсистем (2.3.1.75). Запускается фоновое задание с помощью метода: ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки. Пример реализации запуска фонового задания можно посмотреть в обработке БСП “ГрупповоеИзменениеРеквизитов”.
Отображение прогресса реализовано с помощью подключения обработчика ожидания и вызова метода ДлительныеОперации.СообщитьПрогресс и ДлительныеОперации.ПрочитатьПрогресс. Пример в обработке БСП “УдалениеПомеченныхОбъектов”.
Теперь об обработке отсканированных файлов.
Все преобразования изображений происходят через временные файлы, которые после завершения обработки удаляются. Обработка происходит в цикле по массиву файлов, найденных в /mnt/share/.
Сконвертируем первую страницу pdf файла в jpg и будем работать уже с jpg файлом. Так удобнее.
Параметры для gs. (Подробно тут: http://www.ghostscript.com/doc/9.06/Use.htm):
Так как счет-фактура печатается в альбомной ориентации, а сканируется в портретной, то полученный jpg файл повернем на 90 градусов против часовой стрелки:
Вырежем область из полученного изображения счета-фактуры, в которой останется только штрихкод и номер документа. Работа с меньшими изображениями происходит гораздо быстрее. Это на случай, если не удается прочитать штрихкод, то попробуем распознать номер документа.
Приступим к чтению штрихкода. Тут все просто. Zbarimg читает штрихкод и выводит результат в xml-файл.
И снова попытаемся считать штрихкод с помощью zbarimg из ИмяВременногоФайлаИзображенияБлур. Если считать не получилось, то пробуем распознать номер документа с помощью Tesseract OCR. Сначала вырежем область номера документа из изображения чтобы уменьшить количество распознаваемых символов и как следствие различного мусора в тексте.
Сконвертируем в grayscale. Так лучше отрабатывает tesseract.
И пробуем распознать номер
И тут мы должны найти в тексте номер документа. Я сделал так. Считываем построчно текст из файла. Каждую строку разбиваем на массив подстрок и проверяем элемент массива на длину. Номера счетов-фактур у нас содержат дату и номер. например: ТР1507250003. Если длина подходит, то пробуем найти документ по номеру.
Контроль присоединенных файлов можно выполнить с помощью отчета, который выбирает документы, если в присоединенных файлах отсутствует файл содержащий в наименовании определенный текст. Например “Комплект документов”. Это наименование мы задаем при присоединении файла к документу.
Предлагаемая обработка без доработок подойдет не каждому, т.к. многое зависит от качества принтера, сканера и нумерации документов. Поэтому смотрите идеи и дорабатывайте под себя. Нужно отметить, что процент считываемых штрихкодов очень высок! И вообще переходите на электронный документооборот.
Некоторые QR кода не считываются при пробитии
С 1 января начали продавать маркированный текстиль и обнаружили, что часть товара не можем продать.
С виду QR выглядят одинаково, предоставлен одним и тем же поставщиком, но одни сразу добавляются в чек без проблем, а на некоторые, после сканирования выскакивает окно сканирования QR кода. При сканировании повторно кода уже в этом окне выскакивает ошибка: «Недопустимый формат штрих-кода» и вещь не добавляется в чек.
Вид номенклатуры во всех товарах выбран один и тот же: «Текстиль» с признаком маркировки. В честном знаки и «правильные» и «неправильные» коды отображаются при сканировании телефоном корректно и пишет товар «в обороте». Релиз розницы самый последний 2.3.7.22.
При более детальном изучении обнаружил, что «неправильный» код длиннее на 1 символ, т.е. «правильный» 83 символа, «неправильный» 84 символа.
Штрих-кода с ошибками:
010481295746730221hrgbpxfetagn491EE0692zVtx\/YGFcB75+jA0HyjY fIdgqecM18XogEmBARfPdp8=
010481295746738821lezxx2h96maxd91EE0692ql0XsMiB1cUD4Cangso74 ZTSum8K0pU8M\/HYKaXkeYw=
Штрих-кода без ошибок:
010481295746069321bcrvf76ima1sj91EE0692t5hplKVN9xCvHy2JbBtq0 xYsrnbi1UsaeQ2dr54DdB8=
010844505468770821YyHJS6VTFrJHO91EE0692LvQfjdJX/YqtA0FLkkxOd apMAT+h/T1hCKnXdV3cNHc=
010481295746747021xlm6ga6fukngd91EE06922oYfllUpMF7yTsbejBs5i OMPszpMVWcFVcorAtbhOQY=
Подскажите, где искать ошибку? Уже всю голову себе сломал.
На фото куртка бежевая сканируется с ошибкой, куртка бирюза сканируется нормально