Итак, пока мы создавали первый кусок программы ("удаление товаров из базы") Вы все уже, наверное, заскучали, а некоторые даже начали думать, что я разговариваю с каким-то хорошим человеком :-)
Теперь мы попробуем создать вторую часть этой программы. Она будет называться "учет товаров на складе". Работать она будет при помощи все такого же сканера, но теперь она будет не удалять товары из базы (при продаже off-line), а лишь проверять их наличие и количество. А потом она должна будет показать 1) все "пропиканные" сканером товары, но отсутствующие в базе (неучтёнка) и 2) все товары в базе, но не "пропиканные" сканером (приписки). Т.е. один раз в месяц или при внутреннем перемещении товаров (эта такая спец.процедура) мы можем инвентаризировать свой склад, "лазая" по тюкам с товарами. Модуль будет работать через админку opencarta.
Я напомню, что кодировка в этой серии модулей осуществляется по принципу ean8. Это код, расклеенный на всех товарах Вашего магазина, который имеет 8 цифр. В нашем случае 2 AAA BBB N. AAA - номер карточки товара, BBB - номер опции (порядок сортировки опции), N - какое-то число. Т.е. наш гипотетический магазин должен иметь до 1000 карточек товаров и до 1000 опций. Именно такой подход позволяет НЕ создавать доп.поля в базе товаров. Т.е. код берется просто из номера карточки и номера опции - и все. Вы можете использовать ean, jan, isbn и тд. по своему усмотрению.
При учете товаров, когда инвентаризация еще не закончилась, наш новый модуль должен ставить какую-либо метку(флаг, атрибут) напротив опции товара. Мол, данная опция товара учтена и найдена на складе. Если же таких опций у данного товара 5 штук, то и пять меток напротив должны стоять при этой опции. А в конце инвентаризации модуль просто пробежит по всей базе товаров и посмотрит отличия количества каждой опции в карточке товара - те, что в базе и те, что сканер "напикал". И вот все опции товаров которые не сошлись - это и есть "приписки" (в базе есть а на складе нету) или "неучтенка" (в базе нету а на складе есть).
Уважаемые знатоки, можно ли сделать в базе такие вот метки (счетчики, флаги) для "пропиканных" товаров? Этот путь тупиковый?
Или на сервере просто должна создаваться как-бы копия действующей базы товаров с количеством по всем товаром - 0? А по мере прохождения инвентаризации в нее вписываются реальные количества товаров, "пикнутых" сканером на физическом складе. А потом идет сверка этих таблиц и в них ищется "приписки" и "неучтенка"?
Так проще будет реализовать?
Модуль будет смотреться как-то так:
В первой вкладке - наш текущий товар. Т.е. "пикнули" по товару и сразу видим его на экране. И учелся при инвентаризации (+1 к опции в данной каротчке товара!)
Во второй вкладке - к концу инвентаризации останутся только "приписанные" товары
В третьей вкладке - к концу инвентаризации останутся только "неучтенные" товары
Какие будут советы по реализации данной идеи?