Завершен
Code128
Здравствуйте!Терминал Casio it-800r-15.Загрузил стандартную конфигурацию.Считываю штрихкод через Собрать штрихкоды (быстрая).С EAN13 проблем нет, code128 вообще не читает, code39 читает без последнего символа(крайний справа) или вообще не читает.Штрихи печатаю из Типовой конфигурации 1С УТ 8.1 Печать Этикеток.
Сервис поддержки клиентов работает на платформе UserEcho
1. проверьте, что code128 напечатан верно, без обрезания краев. второе, что может помочь - это выйти из Mobile SMARTS, запустить Laser Scan Read и поправить в нём настройки считывания code128 и EAN128.
2. последняя цифра - это вероятнее всего чексумма, которая может быть в штрихкоде (может не быть) и иногда печатается снизу (иногда не печатается). хотя чексумма и является частью штрихкода, она специально нами обрезается, потому что в практическом плане это линий символ - если вы хотите напечатать какие-нибудь коды или артикулы товаров, допустим "RM0009-01", то в штрихкод автоматом добавится еще и чексумма, какое-нибудь "W", на которую вы не закладывались, и штрихкод получится "RM0009-01W". а если вы измение артикул в системе на "RM0009-01W", то штрихкод будет уже "RM0009-01WG" и т.д.
Mobile SMARTS вообще никак не трогает настройки code 128 - вот как они были настроены - с завода по умолчанию или в какой программе другой - так оно и будет работать. прежде всего следует посмотреть, а сканируется ли вообще code 128 хоть где-нибудь. стоит ли в настройках сканера галочка, разрешающая его считывать. если code 128 сканируется в Laser Scan Demo, но не сканируется в нашей программе - напишите, мы подумаем, что тут можно сделать.
а вот у code39 Mobile SMARTS всегда отрезает чексумму на всех поддерживаемых сканерах, что бы там ни было настроено. потому что было решено, что для большинства применений так оно правильней. если вам кровь из носу нужно уметь управлять этой настройкой для CASIO, то мы можем вынести её куда-нибудь.
либо неправильно формируете code128, либо он всё-таки обрезается у вас. например, используете популярную для 1С компоненту формирования штрихкодов, в которой в старой версии code128 формировался неправильно. или используете штрифт для code128, но забываете, что в нём, как и в code39, тоже есть свои обязательные старт-стоп символы.
еще раз обратите внимание: Mobile SMARTS обрезает не последний символ. Mobile SMARTS обрезает чек-сумму, если таковая есть в штрихкоде. получается, что в вашем 8ми-значном штрихкоде последним знаком идет правильная чексумма. а в вашем 9ти значном - неправильная чексумма.
нет, code39 она печатает правильно.
Mobile SMARTS не нужна чексумма. печатает оно чексумму или нет можно понять, разобравшись с параметрами компоненты. еще, возможно, Laser Scan Demo пишет что за код прочитала и есть ли там чексумма (нет сейчас CASIO под рукой посмотреть).
Mobile SMARTS не нужна чексумма. но если печатать без чексуммы, и при этом последний символ кода случайно совпадет с чексуммой остатка штрихкода, то этот последний код будет обрезан.
Mobile SMARTS не сама обрезает чексумму. она вот как раз просто при запуске проставляет в настройке сканера "не передавать чексумму" - и всё.
да, но тут нет никакой информации о чексумах. запостите принтскрины кодов что ли - будет проще понять.
в code39 на считывание влияет ширина самого узкого штриха (хотя бы 0,2 мм) и правильное (1:2,5 - 1:3) соотношение ширины самого тонкого к самому толстому штриху. а сколько это в ширину не важно.
[img]http://img7.tempfile.ru/10018/1521463846/7527f3b46ce5af5eaad295cf.jpg[/img]
В принципе щас Laser Scan Demo читает оба штриха правильно, но как то капризно, луч надо на определенном расстоянии держать:)..И в обоих случаях mobile smarts режет последний символ, то есть выходит либо *C1-1-3-*, либо *C22-2-2-*.
[img]http://img5.tempfile.ru/10018/18188ab477/4453ce6a21f5229bb00316d8.jpg[/img]
во вложении - вариант библиотеки для лазерного сканера без обрезаний и проверок. нужно положить на терминал в папку программы поверх старой.
20.01.2011 19:48:55 Error: MainApp.CheckUpdate WebException: Нельзя показать сообщение об ошибке, так как не удается найти содержащую его дополнительную сборку ресурсовв System.Net:HttpWebRequest:finishGetResponse()
в System.Net:HttpWebRequest:GetResponse()
в System.Web.Services.Protocols:WebClientProtocol:GetWebResponse()
в System.Web.Services.Protocols:HttpWebClientProtocol:GetWebResponse()
в System.Web.Services.Protocols:SoapHttpClientProtocol:doInvoke()
в System.Web.Services.Protocols:SoapHttpClientProtocol:doAsyncInvoke()
at WorkItem.doWork()
в System.Threading:Timer:ring()
20.01.2011 19:48:56 Error: DataExchanging.LoadEnvironment function: Нельзя показать сообщение об ошибке, так как не удается найти содержащую его дополнительную сборку ресурсовв System.Net:HttpWebRequest:finishGetResponse()
в System.Net:HttpWebRequest:GetResponse()
в System.Web.Services.Protocols:WebClientProtocol:GetWebResponse()
в System.Web.Services.Protocols:HttpWebClientProtocol:GetWebResponse()
в System.Web.Services.Protocols:SoapHttpClientProtocol:doInvoke()
в Cleverence.Warehouse.Compact:DataStorage:GetEnvironment()
в Cleverence.Warehouse.Compact:DataExchanging:LoadEnvironment()
в Cleverence.Warehouse.Compact:MainApp:Initialize()
в Cleverence.Warehouse.Compact:BaseForm:.ctor()
в Cleverence.Warehouse.Compact:Start:Main()
20.01.2011 19:49:07 OnScan(*C1-1-3-*)
вообще это какая-то серьезная ошибка уже. со сканера код приходит обрезанным. почему это так - загадочно. единственный способ решить проблему - это мы будем выкладывать сюда разные сборки DLL, которые по-разному настраивали бы сканер и смотреть, что получается.
Laser Scan Demo нельзя запускать одновременно с Laser Scan Read
терминал, конечно, не при чем.
первая DLL - в предыдущем сообщении
ничего, если мы повысылаем еще сюда вариантов для теста? с этим надо бы до конца разобраться и решить проблему.