Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Может у кого есть скриптик валидации штрихкода EAN-13?
|
|||
|---|---|---|---|
|
#18+
Собственно сабж. Сам алгоритм я знаю, но как-то не хочется велосипед выдумывать - может у кого то уже готовое есть? Принимается все - от простого запроса, до навороченной sp PS Ссылки на сам алгоритм или ресурсы связанные с EAN просьба не давать - у меня и у самого их навалом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2002, 12:00 |
|
||
|
Может у кого есть скриптик валидации штрихкода EAN-13?
|
|||
|---|---|---|---|
|
#18+
Встречный вопрос. Какое отношение имеет MS SQL к валидации EAN-13? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2002, 12:04 |
|
||
|
Может у кого есть скриптик валидации штрихкода EAN-13?
|
|||
|---|---|---|---|
|
#18+
2Garya Встречный вопрос вам - а какое отношение имеет MSSQL например к бухгалтерскому учету? Или к примеру, какое отношение имеет MSSQL к складскому учету? Или к документообороту в фирме? Или черт знает еще к чему? Данные он хранит!!! И обрабатывает, черт возьми!!!! ЗЫ Всем спасибо, процедура уже имеется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2002, 12:08 |
|
||
|
Может у кого есть скриптик валидации штрихкода EAN-13?
|
|||
|---|---|---|---|
|
#18+
Ну зачем же так нервничать? Просто обычно распознавание штрих-кода EAN-13(иже с ним всех прочих) производится специальным считывающим устройством, прогоняется через терминал... После чего он преобразуется в обыкновенную числовую или численно-буквенную последовательность, которая перед обработкой на SQL-сервере: - может быть преобразована в binary - может быть преобразована в numeric - может быть преобразована в char - может быть пропущена через хеш-функцию вплоть до преобразования в int или bigint. И лишь после этого запускаются алгоритмы поиска на SQL-сервере. Смысл моей реплики - не SQL-сервера дело заниматься распознаванием штрих-кодов или распознаванием образов иного плана. Для это имеются специпальные устройства. Или вы интегралы, ротор и дивергенцию, преобразования Фурье и Котельникова тоже на SQL-сервере считаете? Бедный SQL-сервер... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2002, 14:23 |
|
||
|
Может у кого есть скриптик валидации штрихкода EAN-13?
|
|||
|---|---|---|---|
|
#18+
>Просто обычно распознавание штрих-кода EAN-13 Я же не написал, что мне нужно его распознавать. Мне нужно его "провалидировать", то есть проверить правильность. Есть громадная база, чего либо. В ней присутствует громадное количество штрихкодов, которые вводились когда-то(и сейчас вводятся) вручную(и по другому никак нельзя - специфика такая)! Мало того - возможности встроить проверку этого самого штрихкода в клиент нет и не будет никогда! Естественно, при таких раскладах будут появлятся ошибки ввода. Ну и естественно эти ошибки нужно отслеживать... но уже потом - после ввода...(опять таки повторюсь - специфика работы такая... нужно делать именно так и никак иначе) Ну и как вы мне прикажете поступать в таком случае? Выбрать все штрихкода из таблиц и ручками сидеть самому считать какой из них правильный, а какой нет? А сервер пусть поотдыхает,он ведь бедненький не для этого предназанчен, он ведь только для поиска предназанчен... SQLServer предназначен в первую очередь для хранения и ОБРАБОТКИ данных! Вот я и спрашивал - процедуру обработки данных, которая занимается проверкой правильности штрихкода... ЗЫ Вижу я, что это все переросло в небольшой флейм и офтоп, посему хочу извиниться перед Garya за весьма резкий тон моих высказываний и попросить больше не развивать эту тему... "Мир, дружба, жвачка"(с) Ок? ЗЗЫ А по поводу интегралов.. можно и интегралы быстрее чем в спец пакетах, для этого предназначенных, считать на SQLServer-е и ничего ему не будет... самое главное - правильно организовать структуру хранения данных... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2002, 15:07 |
|
||
|
Может у кого есть скриптик валидации штрихкода EAN-13?
|
|||
|---|---|---|---|
|
#18+
Ну конечно жвачка, дирол, стиморол, тринитротолуол... Никто и не думал заводить баталии. Конечно, развивать эту тему смысла нет. Тем не менее, для некоторых других участников форума полезно будет узнать, как не совсем четко поставленный вопрос может увести в дебри, а не в нужном направлении. IMHO, не следует использовать специфические термины, если нет уверенности в том, что они употребляются в общепринятом смысле. Вы употребили термина "валидация" совсем не в том смысле, в котором он обычно используется. Под валидацией подразумевается определение, действиельно ли считанный код кодом EAN-13, а не EAN-8, Codabar или каким другим. Для этого следует проверить пропорции между штрихами, стартовых стоповых и разделительных штрихов, наличие префикса, контрольного разряда и взаимного их соответствия. Подобную операцию обычно осуществляет считывающее устройство. Потому и был задан мой встречный вопрос. Поэтому были упомянуты алгоритмы распознавания образов и все прочее. Вам же, как я понял, нужно просто получить ответ на вопрос, имеется ли в БД считываемый код. Ответ на него прост: if exists(select * from SomeTable where ID=@MyCod) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2002, 13:46 |
|
||
|
Может у кого есть скриптик валидации штрихкода EAN-13?
|
|||
|---|---|---|---|
|
#18+
2 Garya Не надо считать себя умнее других, только на том основании, что вы знаете слова типа: "пропорции между штрихами", "стартовых стоповых и разделительных штрихов", "префикса", "контрольного разряда" и т.д. Термин "валидация" - означает только то, что он означает: \nvalidation n преим. юр. 1. утверждение; ратификация 2. придание законной силы; легализация 3. подтверждение (информации) И в контексте данного топика - он был использован правильно, т.е. действительно - записям БД, содержащим в некотором поле информацию о штрих-коде нужно было присвоить некое "подтверждение" того, что этот штрих-код является кодом EAN-13, а не EAN-8, Codabar или каким другим ... Вам же, как я понял, нужно просто - "блеснуть" тут непонятно перед кем своей т.н. "крутостью", иначе - зачем после формального "закрытия топика" его автором - предлагать тут советы "космического масштаба" о том - как if exists(select * from SomeTable where ID=@MyCod) ? З.Ы. Надо полагать, что (следуя вашей логике) любой другой штрих-код, кроме EAN-13, надо проверять запросом if not exists(select * from OtherTable where ID=@YourCod)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2002, 09:04 |
|
||
|
Может у кого есть скриптик валидации штрихкода EAN-13?
|
|||
|---|---|---|---|
|
#18+
Да не собирался я ничем блестеть. Просто вопрос задан нелогично. И именно в вопросе используется пробескивание терминами, не имеющими отношения к делу, которое и завело в тупик. Если автору вопроса нужно узнать, есть ли в таблице искомый код, то (следуя элементарной логике) какой смысл уточнять, что это код именно EAN-13? Видимо, автор вопроса полагал, что алгоритм "валидации" EAN-13 чем-то отличается от алгоритма аналогичной "валидации" EAN-8? Отличаться он может только на стадии распознавания кода. А по поводу использованной в вопросе терминологии, IMHO, наиболее коротко изначально поставленный вопрос звучит так: Есть ли у кого скрипт кода, который отвечает на вопрос: Is that code a valid EAN-13 code? Попробуйте поставить вопрос иначе с использованием слов "valid" и "EAN-13" - мне кажется, у вас возникнут с этим сложности. В последней реплике автора вопроса звучит фраза: > Мне нужно его "провалидировать", то есть проверить правильность ... IMHO, любой код EAN-13 является правильным кодом EAN-13. А вот, что считается правильным с точки зрения данного приложения, изначально в вопросе сказано не было, следовательно (с точки зрения элементарной логики) является несущественным. Не было это сказано и во второй реплике автора вопроса. И лишь в третьей реплике появился слабый намек. И по каким таким космическим каналам связи можно догадаться, что правильным считается код, который вводится именно " вручную "? То есть, код, полученный с помощью считывателя, не должен считаться правильным (!?)? А если на склад поступает номенклатура, которая раньше на складе никогда не фигурировала? И вообще, даже если правильные коды - это только те, которые ранее уже использовались, где критерий, в каких рамках они использовались - в пределах всех складов, одного склада, одной секции склада или одной полки? Актуальность подробного разбора полетов по существу заданного вопроса оставляет серьезные сомнения, тем более, что вопрошающего ответ уже не интересует. Я лишь пытался на данном примере обратить внимание на то, что мешает нормально работать форуму - на технологию спрашивания и отвечания. Неточно поставленный вопрос приводит к долгому блужданию в околоземном пространстве, пока наконец станет ясно, что же на самом деле хотел узнать вопрошающий. Тем не менее, я догадываюсь, что именно в моем ответе не понравилось qu-qu. Полагаю, это нравоучительный тон. Я приношу извинения всем участникам форума и в первую очередь maximvm. qu-qu, ты тоже не дуйся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2002, 14:55 |
|
||
|
Может у кого есть скриптик валидации штрихкода EAN-13?
|
|||
|---|---|---|---|
|
#18+
2 Garya А когда это мы уже успели перейти "на ты"? Хотя, я лично ничего против этого не имею... и даже - рад, что мой "позывной" узнаваем здешними старожилами до такой степени, что дает повод к менее формальному обращению. А насчет "технологии задавания вопросов" ты безусловно прав - грамотно спросить о том, что же является проблемой тоже своего рода - проблема... Например, на тот же вопрос Может у кого есть скриптик валидации штрихкода EAN-13? - так и подмывало ответить 3-мя вариантами: 1. У меня нет и не будет; 2. У меня нет, но будет через 2 часа (с учетом поиска в и-нете алгоритма проверки и наличия этих 2-х часов); 3. "Та трохи е, алэ - тилькы для сэбэ...". Ну и насчет "нравоучительного тона" - ты тоже попал в 10-тку... , точно - не люблю я этого дела (наверное, стиль моих "выступлений" здесь тоже узнаваем?). З.Ы. ну и напоследок, чтоб это сообщение было не просто флеймом, а помогло "читающим" узнать побольше обо всех превратностях разработки ПО в т.н. "боевых условиях"... Эпиграф: То есть, код, полученный с помощью считывателя, не должен считаться правильным (!?)? Году, этак, в 96-97-м делали мы с коллективом на заводе одном ввод приходных и расходных накладных на(с) склад СГП при помощи считывателей штрих-кодов... Сделали... красота... едут коробки с наклейками по транспортеру на склад, рядом стоит кладовщица, тычет в каждую коробку считывателем... рядом на компе программулинка крутится, которая все считанное в локальную табличку заносит и при выборе кладовщицей определенной кнопочки - формирует накладные и забрасывает их в сервер БД... (от чего клиенты "писали кипятком", так это - от возможности к каждой накладной приложить спецификацию с серийными номерами изделий). Казалось бы - идиллия... ан нет - Россия... Считыватели в разное время использовались разные, но все - из дешевых моделей, т.е. сами они считываемый код на "валидность" не проверяли (это раз), наклейки со штрих-кодами печатались на лазернике до полного "убития" картриджа, т.е. некоторые штришки уже и не различались (это - два), компы на складе были тоже "не из новейших" и во время передачи данных на сервер теряли "хвосты" данных от СОМ-порта, к которому был подключен считыватель, т.е. некоторые коды попадали в табличку неполными (это - три). Так что - с уверенностью говорить о том, что "код, полученный с помощью считывателя должен считаться правильным" не было никакой возможности... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2002, 06:53 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32026486&tid=1823086]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
81ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 266ms |
| total: | 445ms |

| 0 / 0 |
