теперь по складу, одновременно учету, справочнику заправки, подсчету стоимости и печати бланков выдачи и актов выполненных работ.
Прежде, приведу свои размышления по поводу учета рассходников.
Основная проблема тут в том, что каждый ведет учет так как ему удобно. Конечно удобно далеко не всегда значит правильно, но мы уже говорили про минимальный порог вхождения, так что нам надо адаптироваться под каждый конкретный случай. Рассмотрим несколько типичных, на мой взгляд , схем и систем построения учета и бланков выдачи (далее исключительно мое ИМХО, основанное на логике и здравом смысле).
Начнем с попроще. Построение бланка и ценообразование. Простая заправка, тут цена может быть жестко закреплена, а может варьироваться. Например:
12A - 400p
15A - 450p
85A - 350p
SCX4200 - 500p
тут для каждой модели идет индивидуальная стоимость (думаю так у большинства), а может быть проще:
заправка картриджа - 400р
двойной емкости - 600р
замена чипа +300р
(это реальный пример, сотрудничал с такой конторой)
тут пока просто, вводим в базу список услуг. и даем возможность, как сделать услуги общей, дав ей персональную стоимость, так и привязать услуги к конкретным моделям картриджей. Таки образом, во втором случае, пользователь заводит две услуги (замену чипа пока не берем, это будет позже, со списанием тмц): "Заправка картриджа" и "Заправка картриджа двойного объема" и присваивает им стоимости 400 и 600р соответственно и при заправке картриджа выбирает соответствующую услугу. В первом случае, пользователь вводит всего одну услугу "Заправка" и не назначает ей отдельную стоимость, но потом привязывает эту услугу к конкретным моделям и указывает стоимость. Таким образом при заправке 12А, выбрав услугу "Заправка" мы получим стоимость 400р, а при заправке 15А - 450р, таким образом у нас услуга одна, но для каждого картриджа своя стоимость (причем стоимость выбирается автоматически). Вот как раз здесь возможно формирование прайса. Мы берем услугу и программа, просмотрев все связи, делает нам табличку с указание моделей и цен. На данном этапе у нас получается минимум один переключатель, общая цена услуги и индивидуальная.
Далее с заменой запчастей, тут все веселее. Как может формироваться цена заправки? Можно взять стоимость рассходника и прибавить его к стоимости заправки. Например:
заправка 12А - 400р
фотобарабан НР 1010 - 250р
Итого - 650р.
то-есть тут складываются стоимости услуги и рассходника, а может идти замена отдельной услугой:
заправка 12А - 400р
замена фотобарабана 12А - 300р
Итого - 700р.
здесь две услуги складываются, а рассходник не имеет стоимости и для клиента не показывается.
Еще вариант, сделать отдельную общую услугу для заправки с заменой запчастей:
Восстановление 12А - 700р
Итого - 700р.
Тут просто услуга по восстановлению картриджа и клиенту не указанно, что там заменили, может фотик, а может правый бушинг на магнитнике, цена одинаковая. Тут так же пока ничего критичного нет, реализация укладывается в приведенную выше схему. Только прибавиться еще пара кнопок и галочек: указывать ли в акте(внутреннем) все работы и рассходники потраченные и отображать ли все услуги и затраченные рассходники в бланке выдачи и акте проделанной работы.
А вот теперь самое веселье, учет и списание рассходников. Тут также несколько вариантов, которые в сочетании с вышеприведенными вариантами, дают кучу вариаций.
самый простой вариант, человеку вообще не нужен учет рассходки. Да такой вариант тоже может быть. Стоит у человека около стола два мешка с самсунговским и хпшным универсальными тонерами, воронка и совочек и не надо человеку их считать, закончился заказал новый и все. И справочник заправки ему не нужен, сыпет под горлышко и не парится сколько там в граммах. А может быть кардинально противоположный вариант, все учтено, расписано. Идет учет приходов и расходов, что пришло/ушло, когда и в какую стоимость. На каждую операцию с картриджем идет списание рассходки, тонера в граммах, зипа в штуках.
И теперь сопоставляя варианты нужно предусмотреть следующее:
-если у клиента в бланке указывается замена конкретного рассходника, то необходимо его списать при указании в бланке. Тоесть выбрали магнитник для 1010, списали 1 еденицу.
-если у клиента указывается услуга по замене элемента то необходимо закрепить рассходник идущий именно под эту модель, соответствующий данной услуге. То-есть если идет услуга "Замена магнитного вала" и картридж 12А, то нужно сделать связь услуги с категорией рассходников магнитные валы, а магнитный вал 1010 связать с моделью 12А, таким образом при выборе услуги "Замена магнитного вала" для картриджа 12А спишется магнитник НР1010, а для картриджа 15А, для той же услуги, спишется магнитник НР1200.
-если стоимость замены складывается из цены рассходника, то нужно дать возможность задавать цену каждого рассходника. То-есть мы добавляем в базу рассходник и устанавливаем его цену, при списании, цена рассходника прибавляется к стоимости заправки.
-если стоимость замены рассходника формируется услугой, то тут уже не обязательно указывать стоимость каждого рассходника, а нужно указать стоимость услуги. То-есть, при списании рассходника, мы просто уменьшаем его кол-во на единицу, а цену берем из указанной в услуге.
Отдельно про тонер. Он идет в фасовке по килограммам, а списывается в граммах. То-есть у тонера есть два значения учета, кол-во фасовок и вес в фасовке. Здесь можно выделять одну единицу тонера и уменьшать его вес на вес заправки. По достижении 0, списывать. Но тут есть один момент, не всегда расход соответствует фасовке, многие сыпят на глазок, да и можно просто просыпать, плюс может быть погрешность. По этому для тонера предлагаю сделать автоматическое списание опционально. Просто для удобства слежения за расходом. Достиг вес 0, программа сделала предупреждение и дальше отнимает, а мастер сам видит, что тара пустая, списал, выделил для расхода следующую.
Это я старался вкратце. Теперь представте, сколько это надо кнопочек, списков и галочек, что бы это реализовать. Представили? а теперь умножьте на 3 (да, такова реальность, на самом деле их потребуется как минимум в три раза больше чем представлялась в начале), и попробуйте, мысленно, разместить все это на стандартном окне, добавив туда еще пару больших списков и таблиц. Ужаснулись? вот, а я в этом ужасе уже которую неделю пребываю:)
Выход вижу в одном, разделить опции на стандартные (базовые) и расширенные. Определить минимальную рабочую конфигурацию, подходящую под большинство средних случаев и поставить органы управления этими свойствами вперед. И если пользователя устраивает или он не хочет разбираться, то вот вам готовое решение из коробки, так сказать. И сделать вкладки с расширенными настройками и свойствами, где пользователь, уже может гибко настроить учет под себя.
Надеюсь получилось не сумбурно и понятно.
Устал думать, позже, уже из дома отпишусь подробнее о структуре базы, как она мне представляется. А то пока писал появились новые мысли, правду говорят, что когда кому-то объясняешь, лучше понимаешь сам.
Так же хотелось бы узнать, а вы сами в чем учет ведете? Просто интересно вас ваше решение не устраивает и поэтому тема интересна или просто живой интерес к вопросу? Я заметил, что вы во всех подобных темах, обсуждавшихся ранее, принимали активное участие.
Ток же хотелось бы, все таки узнать мнение других людей. Глянул, уже более полутысячи просмотров, значит тема интересует, но вот мнений и комментариев нет, а они нужны очень. Ибо проще разработать под требования, а не переделывать и подгонять.