Вверх ↑
Этот топик читают: Гость
Ответов: 74
Рейтинг: 2
#1: 2014-10-22 17:21:32 ЛС | профиль | цитата
Здравствуйте.
Много где уже искал решение своей проблемы, но не могу никак найти ответа.
А проблема следующая.
Есть небольшой магазин автозапчастей, для иностранных автомобилей.
Все запчасти ищутся клиенту непосредственно по наименованию, но это трудно так как одному нужно читать из упаковки а второму вводить в excel и отмечать какому клиенту бросить. Возникла идея делать все это по штрих коду, то есть сделать свою базу данных штрих кодов.
например лист екселя в столбце "А" будет штрих код а в столбце "В" наименование детали.(в примерах брошу)
В файле "накладная" которая приходит в таком виде как можете видеть в прикрепленных файлах ,тоесть там только наименования товара(в столбце "G" ставиться количество товара которое приехало клиенту).
Тоесть нужно промежуточною БД которая будет дешифрировать если можно так сказать из полученого штрих кода название товара и уже тогда искать в накладной , если есть совпадение - ставить 1 в столбе G.
Вот и прошу совета, как можно такое реализировать? можно ли обойтись стандартными возможностями офиса, или нужно прибегать к помощи кодирования?
нашел примеры работы с книгами а хиасм но нет функции поиска по листу((

вот такая вот цепочка получаеться :

сканер -> штрих код (1234567890) -> (БД) поиск соответствия (1234567890 = LMI34567) -> Накладная (LMI34567 1шт. Андрей)
Спасибо
п.с. не могу залить сюда, но вот ссылка на сами файлы.
http://forum.msexcel.ru/index.php?action=dlattach;topic=10465.0;attach=14002

карма: 0

0
Ответов: 16884
Рейтинг: 1239
#2: 2014-10-22 19:23:42 ЛС | профиль | цитата
Bigggi писал(а):
Тоесть нужно промежуточною БД
А что, Excel - это не БД ?
Набери в любом поисковике "Складской учет" и почитай, что это такое и с чем его едят.
А здесь готовые (бесплатные программы) http://www.softportal.com/dlcategory-807-1-0-0.html
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 74
Рейтинг: 2
#3: 2014-10-22 19:32:59 ЛС | профиль | цитата
Tad, да БД, но Вы наверное меня неверно поняли или я плохо выразился)
Я так и хочу делать, только как ?) как сопоставить штрих код с найменованием елемента ,и чтобы оно потом искало в накладной ?)
просто накладная мне приходит и будет приходить без штрих кодов а просто с названием детали.Если б там был штрих код то было бы проще простого а так...((
Спасибо
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2014-10-22 19:45:10 ЛС | профиль | цитата
Штрих коды на одну и ту же деталь от разных производителей отличаются.
Например : Штрихкод на упаковке генератора для Audi, изготовленного в Германии будет отличаться от такого же, но изготовленного в Малазии или в Китае.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8930
Рейтинг: 823
#5: 2014-10-22 19:49:51 ЛС | профиль | цитата
Bigggi, всё это можно сделать и в Excel, и в HiAsm, и в БД любой
(Но тому пользователю, который блоки данных в Excel разбивает наименованиями типа ВАСЯ, да ещё и в объединённых ячейках, отрезал бы кое что тупым серпом )
Вот пример на Excel: БД_excel.rar
Нашёл.jpg
карма: 19

0
файлы: 2БД_excel.rar [236.1KB] [322], Нашёл.jpg [46.6KB] [862]
Ответов: 74
Рейтинг: 2
#6: 2014-10-22 20:19:41 ЛС | профиль | цитата
Tad, Согласен! отличаються даже очень например взять производителя lemforder бывают шаровые и муфты эластические разных производителей хотя деталь та же идинтичная но одна в германи сделана а другая малайзии но это не критично деталь та же. Того же + если только штрих брать несколько последних цифр то они будут идентичны так как производитель в штрихе в начале кода отображаеться. Но повторяю,это все мелочи .
Леонид, ххаха думаю отрезать не чего менеджер - девушка))))
Сейчас посмотрю.
Спасибо за ответы)

вов.. Леонид, вроде то! немного допилить и будет то что нужно)
если можно, объясните как Вы сделали весь этот поиск если можно?)
Спасибо Вам большое, это уже что то)

П.С.
Я так понял это листин макроса написанного для поиска ?
Sub ПоискКлиента()
'
' ПоискКлиента Макрос
' Макрос записан 22.10.2014 (LA)
'

'

Dim Kod, Name, Klient As String
Dim Num As Long

Num = 3
Columns("C").Select
Selection.ClearContents
Range("B2").Select
Kod = Cells(3, 2)
For i = 1 To 65535
Windows("Накладная.xlsx").Activate
If Cells(i, 2) = Kod Then
Name = Cells(i, 3)
Cells(i, 7) = Cells(i, 7) + 1
Klient = Cells(i, 13)
Windows("ПОИСК.xls").Activate
Cells(Num, 3) = Name
Cells(Num, 4) = Klient
Num = Num + 1
Windows("Накладная.xlsx").Activate
End If
Next i
Windows("ПОИСК.xls").Activate
End Sub
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#7: 2014-10-22 20:41:56 ЛС | профиль | цитата
Bigggi, ещё один момент.
Пришёл Андрей в Ваш магазинчик и говорит - мне нужена вот такая хреновина и кусок железа на стол.
Ты у него можешь спросить : марку, модель, год выпуска, где сделан автомобиль.
Но, хоть убей его, он штрихкод этой детали тебе не покажет и не скажет.
И будешь ты искать ему деталь ПО НАЗВАНИЮ ( если кто правильно название подскажет )
Вот почему такая несправедливость? "Берёшь в голову", а приключения потом находишь на свою ж... .

Штрихкод удобен только для кассы. Считал штрихкод - получил точную цену.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8930
Рейтинг: 823
#8: 2014-10-22 22:03:59 ЛС | профиль | цитата
Bigggi писал(а):
..менеджер - девушка..
Остричь под лысого! Хотя нет, пусть остаётся как есть, красавицей
Bigggi писал(а):
..как Вы сделали весь этот поиск..
В Excel полно формул и можно было всё и без макроса нарисовать, как например в ячейке "В3" - поиск в столбце первого совпадения и возврат значения из найденой строки в указаном столбце.
Макрос для разнообразия,что можно и так
А написал его просто: кликнул "Начать запись", выбрал одну книгу, другую (чтобы потом не набирать ручками), "Остановить запись" получился пустой макрос, в котором и написал цикл перебора всех ячеек с условием по совпадению извлечь нужное.
Правда записывал в колонку "G" не "1", а прибавлял к ячейке эту "1"
карма: 19

1
Голосовали:Bigggi
Ответов: 74
Рейтинг: 2
#9: 2014-10-23 20:21:52 ЛС | профиль | цитата
Леонид,
Понятно вроде разобрался немного.
Вот добавил еще проверку количества тоесть если у Пети уже есть такие детали то ищем дальше если больше никому не нужно выводим сообщение об этом.
Но с выводом немного что то не получаеться, не хочет с else работать) правда я в бейсике полный 0 но более мение знаю С,С++. Вроде условие переверяет и ищет дальше ноо с сообщением туго.
А так все вроде работает..
Ага и еще тут нужно нажимать кнопку ПОИСК что не есть удобно так как сам сканер эмулирует нажатие ентера.

вот так как то

Sub ПоискКлиента()
'
' ПоискКлиента Макрос
' Макрос записан 22.10.2014 (LA)
'

'

Dim Kod, Name, Klient As String
Dim Num As Long

Num = 3
Columns("C").Select
Selection.ClearContents
Range("B2").Select
Kod = Cells(3, 2)
For i = 1 To 65535 'типо безконечный цыкл )
Windows("Накладная.xlsx").Activate
If Cells(i, 7) <> Cells(i, 10) Then'проверка условия количества товара
If Cells(i, 2) = Kod Then'?
Name = Cells(i, 3)'?
Cells(i, 7) = Cells(i, 7) + увеличиваем на 1 количество которое пришло
Klient = Cells(i, 13)'берем имя клиента
Windows("ПОИСК.xls").Activate'активация листа поиска
Cells(Num, 3) = Name'выводим значение ячейки в 3 столбе
Cells(Num, 4) = Klient' выводим значение ячейки в 4 столбе
Num = Num + 1'переменную нум увеличиваем на 1
Windows("Накладная.xlsx").Activate'активация листа накладной
End If 'Закрываем проверку условия
If Cells(i, 7) = Cells(i, 10) Then 'Проверка наличия количества если есть все выводим сообщение тут елсе не работает(
MsgBox ("Все есть!") 'Вывод ошибки
End If'Закрываем проверку условия
End If'Закрываем проверку условия
Next i
Windows("ПОИСК.xls").Activate'активация листа поиска

End Sub

вот немного прокомментировал не знаю правильно или нет но то что знаю и понимаю, объясните пожалуйста или прокомментируйте строки которые я оставил ,в этих местах я понимаю что они делают но не понимаю где и зачем.)(кроме описания переменных конечно_) Спасибо большое.
карма: 0

0
Ответов: 704
Рейтинг: 44
#10: 2014-10-23 23:40:12 ЛС | профиль | цитата
Так на хрена такая тягомотина, я вот сейчас работаю в автосервисе и не парюсь, написал программу директору и все пучком. Кто приехал, когда приехал, что заменил ++ капусту может подсчитать, короче все ровно , все написано. Так что мое слово. такое, зависти программу, которая имеет полный функционал ваших манипуляций и не париться со всей вашей лубудой, с Exels, и причем это уже не актуально. Если нужно помогу!!!
------------ Дoбавленo в 23.40:
Так на хрена такая тягомотина, я вот сейчас работаю в автосервисе и не парюсь, написал программу директору и все пучком. Кто приехал, когда приехал, что заменил ++ капусту может подсчитать, короче все ровно , все написано. Так что мое слово. такое, зависти программу, которая имеет полный функционал ваших манипуляций и не париться со всей вашей лубудой, с Exels, и причем это уже не актуально. Если нужно помогу!!!
карма: 0

0
Ответов: 8930
Рейтинг: 823
#11: 2014-10-24 00:54:46 ЛС | профиль | цитата
Kazbek17, память девичья, забыли, что начинали здесь тоже с Excel и точно так же
Bigggi, конечно Kazbek17 правильно говорит, нужно изучать БД, по времени столько же, как изучать Excel, но пользы и на будушее больше.
При вставке кода пользуйтесь тегами CODE (в кнопочках над полем сообщения) :
code_34489.txt
Вам надо продумать КОНФИГУРАЦИЮ листов и столбцов и свести все записи в одну книгу. Например так: mydatabase.rar
карма: 19

0
файлы: 2mydatabase.rar [6.2KB] [146], code_34489.txt [2KB] [257]
Ответов: 16884
Рейтинг: 1239
#12: 2014-10-24 10:52:37 ЛС | профиль | цитата
Или, при переходе на БД, примерно так:
Справочные таблицы:
Поставщик (id,Наименование,Адрес,Телефоны,Факс,Банк,Расчетный счет)
Покупатель(id,Наименование,Адрес,Телефоны,Факс,Банк,Расчетный счет) - для постоянных клиентов (например автомастерские)
Категория (id,Наименование)
Товар(id,id_категория,Наименование,Штрихкод,ед.изм, минимальный запас)

Рабочие таблицы:
Приход(Дата, №_приходной накладной, id_Поставщика, id_Товара, Кол-во, Цена, Сумма)
Расход(Дата, №_приходной накладной, id_Покупателя, id_Товара, Кол-во, Цена, Сумма, НДС)
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 74
Рейтинг: 2
#13: 2014-10-24 12:06:36 ЛС | профиль | цитата
Kazbek17, Леонид, Tad, Спасибо Вам большое ребята за предложенную помощь и за советы/ответы, но пока делать полноценную БД нет смысла так как у фирмы переходной этап, вот на следующий год возможно бизнес будет расширяться и тогда понадобиться такая система а сейчас главное рабочий вариант поиска по штрих коду и все.Но все одно спасибо.
Буду рад если поможете допилить макрос который предложил Леонид
Спасибо!!

И так дале по макросу.
Леонид, посмотрел предложенный выше код. Вроде все в норме но все одно не хочет правильно работать вывод ошибки при перевышении количества .(когда уже никому деталь не нужна, лишняя или передали)
пришлось закоментировать пару первых строк очищения данных
так как иногда случалось так что оно подчищало С и D в самой накладной что недопустимо. Подскажите как обходиться без кнопки ? так как сканер сам жмет ентер после сканирования кода.

И подскажите можно ли перенести всю поисковою программу на форму ?

code_34491.txt
карма: 0

0
файлы: 1code_34491.txt [764B] [186]
Ответов: 16884
Рейтинг: 1239
#14: 2014-10-24 13:29:32 ЛС | профиль | цитата
Bigggi писал(а):
пока делать полноценную БД нет смысла так как у фирмы переходной этап
Это просто отговорка.
Всё, что можно сделать в БД - можно сделать и в Excel.
Определиться нужно сразу, что-бы потом небыло "мучительно больно".
Excel - значит Excel, БД - значит БД.
ИМХО.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 74
Рейтинг: 2
#15: 2014-10-24 13:55:14 ЛС | профиль | цитата
Tad,
Нет, не отговорка ) так и есть, планируеться интернет магазин в ближайшее время так вот те программисты будут делать и магазин и все остальное. А чтобы сделать сейчас это так много головной боли, перевести менеджеров на новые формы заполнения и т.д. Все очень сложно, а мне всего то нужно просто сортировать товар по клиентах и как можно больше автоматизировать этот процес, так как сортируем вечером и иногда занимает эта сортировка до 3-4 часов пока усно диктовать а кто то пробивает в поиске екселя срабатывает людской фактор + утомление спать хочеться вот и начинаються ошибки то не то вел то не на ту строку посмотрел и товар пошол другому клиенту(. Я понимаю что правильно делать все как должно быть там 1С и так дале, но..но.. Так что самый хорошый вариант это тот что сейчас предлагаеться. Все простое - гениально) больше ж ничего не требуеться)
Спасибо

карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)