Штрих-коды для домашнего бизнеса, и причём тут ChatGPT

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Всем привет! С вами сегодня Лео, и я профессионально занимаюсь оцифровкой видеокассет уже больше 7 лет.

Скоро майские праздники, и поток клиентов возрастает. Да так, что с ними стало тяжело справляться - в сутки может прийти 7-8 человек, и попробуй их запомни. До этого дня использовал для учёта самописную панельку для учёта заказов на PHP, и программу "Бизнес Пак" для печати товарных чеков. В целом, их хватало. Но когда поток людей стал превышать все мыслимые нормы, было понятно, что надо с этим что-то делать.

Вот так выглядела панелька учёта заказов до внесения правок.
Вот так выглядела панелька учёта заказов до внесения правок.

Для решения вопроса было принято решение перевести всё на систему штрих-кодов. Иду на известную площадку объявлений, и покупаю себе за 500 рублей самый дешёвый сканер.

Сканер этот работает в режиме эмуляции клавиатуры - навели на код, он распознал и пропечатал.

Дописал панельку таким вот образом: внизу расположил поля ввода, которые ведут на add.php, inwork.php, и т.п., которые выполняют запрос в базу. Максимально просто, но работает.

Максимально просто, но работает.
Максимально просто, но работает.

На радостях скачал шрифты для создания кодов, распечатал на бумаге... И ничего! Сканер просто не сканирует код, либо сканирует с 5-6 попытки.

...Напечатал на глянцевой бумаге - работает! Как выяснилось, дело было в стандарте - в Code128 нужно было добавлять управляющие символы в начале и конце строки. И если на глянцевой бумаге сканер кое-как, но понимал код с ошибкой, то на матовой бумаге уже не мог его отсканировать.

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

Для этого достаточно закодировать номер в формате *1234567890*. Не вникая в теорию, проще говоря, звёздочки здесь - управляющие символы.

Печатаем, сканируем код... Всё работает!

Однако, сканер нам отдаёт код вида T000001. Как я понял после чтения документации на сканер - символ T здесь образуется из нескольких бит информации, которые он отдаёт софту, который должен понять что используется сканер.

Можно конечно перенастроить, но мы этот символ в PHP просто вырежем:

$num = htmlspecialchars($_POST["num"]);
$num = preg_replace('/[^0-9]/', '', $num);
if (strlen2($abc)<3)
{
echo "Номер заказа не может быть менее 3-х символов";
exit;
}
mysql_query ("UPDATE myloveclients SET `status` = 'open' WHERE `number` = '$num';");

"Пикаем" сканером по коду, и наш код успешно в базе!

Теперь при помощи штрих-кодов мы можем успешно менять номера заказов в базе, и даже смотреть телефона клиента :)


...Только вот как нам распечатать кучу кодов на одном листе? Можно конечно использовать специальный софт, но вот тащить 1,5 гб не очень хочется. В этом нам поможет Excel!

...Для этого просто скачем шрифт Code 39, и создадим 2 поля. Единичка в первом поле, двойка - во втором.

...Затем выделяем эти 2 ячейки и тянем вниз за вот этот уголок, насколько хватит.

Теперь у нас очень много циферок. Добавляем к концу кода символ "*" чтоб закрыть строку, и выбираем шрифт. Далее настраиваем столбцы и строки по вкусу. Ура, у нас есть пачка штриходов, которые можно напечатать!

Выглядит наша распечатка, кстати, так.
Выглядит наша распечатка, кстати, так.

Теперь можно клеить штрих-код к клиентскому заказу, и обновлять его статус.


...Только вот снова проблема. Мы утыкаемся в ручное заполнение товаров в программе "Бизнес-пак". Нам надо как-то сделать это быстрее.

Берём нашу панельку в качестве основы, в таблице sales создаём несколько полей - автоматический id строки, время добавления строки, id товара, id чека. Делаем интерфейс, заточенный исключительно под сканер.

В качестве товарных позиций - ID. Например, 0001 = "Оцифровка VHS", 0002 = "Оцифровка Video8", и т.д. Их мы распечатаем, чтоб повесить на стену.

Настало время для ChatGPT. Времени у меня было очень мало, поэтому написал индусский код в виде if-else, и попросил ChatGPT оптимизировать его. Она успешно справляется!

...Просим написать ещё кусок кода.

...В JS она тоже "умеет".

По итогу, с ChatGPT за час мы собрали вот такой товарный чек, который можно отправлять на печать :)

Формочки, заточенные под сканер, тоже есть.

В общем, теперь наш сканер штрих-кода "подружился" с PHP, а скорость обработки заказов увеличилась в несколько раз. Всем добра :)

Источник: https://habr.com/ru/articles/729642/


Интересные статьи

Интересные статьи

Социальный эксперимент ChatGPT
Многие слышали про Midjourney, но про то, что есть локальная Stable Diffusion, которая может даже больше, знает уже куда меньше людей, или они не знают, что она локальная. И если они пробовали её онла...
Привет, читатели Habr! Сегодня я хочу поделиться с вами уникальными и полезными советами о том, как за считанные минуты создать качественный README для вашего Python-проекта и стильный логотип, исполь...
Послали рабочим на лесоповал финскую бензопилу. Те решили ее испытать. Подставили доску. - Вжик! сказала пила. - У-у, блин! - сказали рабочие, подставляя бревно. - Вжик! - сказала ...
Привет, Хабр! Этот будет пост о том, как тяжело может идти принятие решения об импортозамещении популярной западной системы. Речь пойдет о замене для PowerBI, который мы только-только начали использов...