Складов, или торговых точек, или того и другого, вообще говоря, может быть несколько. На любой склад товар можно приходовать, с любого расходовать, с одного склада на другой передавать. Все движение товара пользователь отражает в накладных, приходных, расходных, на передачу. Форма накладной в программе максимально приближена к стандартному бланку, поэтому вопросов не вызовет, кто умеет бланк накладной заполнить, тот сможет накладную и в систему ввести. К особенностям следует отнести следующее:
1. | Основа склада, его стержень - это реестр товаров. Что понимается под реестром товаров (складским реестром)? Это таблица, в которой хранятся данные такого вида: |
• | По какой закупочной цене |
2. | Система реализует две различные складские модели. Работа по одной из них выбирается установкой переключателя в параметрах системы. Первая складская модель, что называется, классическая. Для каждого товара ведется отдельная строка реестра. Если было несколько поставок одного товара по разным закупочным ценам, то эти закупки в реестре товаров выделяются отдельными строками. Если закупочные цены в разных поставках этого товара совпадают, то новая запись в реестре не создается, просто увеличивается количество в уже существующей реестровой записи данного товара с такой же закупочной ценой. Вторая складская модель реализует алгоритм работы по средневзвешенным ценам (иногда встречается термин "По средним ценам"). Как он работает? Для каждого товара создается своя реестровая запись, как и в предыдущей модели. Но в отличие от классического алгоритма, все новые поставки данного товара ложатся в эту же реестровую запись, количество товара суммируется, а закупочная цена пересчитывается по средневзвешенному алгоритму. Не хочется писать формулы, это скучное занятие. Думаю, что понятнее будет, если объяснить так. Предположим, закупили 28.04.2008 100 кг бананов по 3,10р. за 1 кг. 30.04.2008 закупили еще 80 кг, но уже по 3,20 р. за 1 кг. Таким образом в реестровую запись от первой закупки добавится еще 80 кг, остаток бананов на складе станет равным 100+80=180 кг, вопрос заключается в том, как рассчитать закупочную цену для данной реестровой записи. Решение довольно простое. Надо посчитать общую сумму двух закупок, и поделить ее на количество закупленных килограммов. Таким образом получаем среднюю закупочную цену (100*3,10+80*3,20)/(100+80)=3,144444444 р. за 1 кг. Такая длинная цена пусть вас не смущает, машина эти вещи считает легко и просто. Когда предпочтительнее использовать средневзвешенную модель? При очень больших ассортиментах и большом объеме операций. Лучше подходит для продуктов питания, особенно развесных. Для работы с техникой, электронной, бытовой, с дорогостоящими изделиями, где уклон сделан на штучные операции, лучше использовать классическую модель. |
3. | Следующей особенностью является возможность ввода розничных цен непосредственно при оприходовании товара. В складских программах механизму ценообразования уделяется традиционно мало внимания. Общепринятым является положение, когда розничная цена указывается при продаже, в лучшем случае ее можно проставлять в справочнике. Изменения розничной цены никак не фиксируются, никак по складу не отражаются, оценить прибыль и норму прибыли, ее изменение можно только по уже проданному товару. Любой пользователь может сменить розничную цену в справочнике, при этом никакой документ на это изменение сформирован системой не будет. Отследить изменения розничной цены в полном объеме невозможно, возможно только оценить эти изменения по проданному товару, но такая информация не будет полной. Чтобы избежать проблем такого рода, при разработке системы было принято несколько решений. Первое, отслеживать розничную цену для каждого товара при всех складских операциях. Второе - все изменения розничной цены фиксировать в актах переоценки. И третье - максимально автоматизировать работу с розничными ценами. Что понимается под максимальной автоматизацией? Поскольку розничная цена закладывается уже при оприходовании товара (впоследствии может быть изменена в акте переоценки), то можно эту цену автоматически рассчитывать относительно закупочной цены, используя значение торговой наценки из параметров системы, при этом пользователь может тут же изменить как торговую наценку, так и автоматически рассчитанное значение розничной цены. При расходе товара розничная цена подставляется в накладную автоматически, при этом пользователь может ее изменить. При отгрузке этой накладной будет автоматически создан акт переоценки, где будет отражено изменение розничной цены. Кроме того, пользователь может сменить розничную цену непосредственно для всей реестровой записи по данному товару, создав новый акт переоценки. Таким образом решаются 2 задачи. Во первых, достигается полная свобода при работе с розничными ценами (нет никаких ограничений, не нужно специально совершать какие-то действия), во вторых, все изменения розничной цены будут зафиксированы. Теперь становится возможным сформировать оборотно-сальдовую ведомость и ей подобные отчеты, с указанием оборотов не только в закупочных, но и в розничных ценах. |
4. | Принцип обратимости. Все действия пользователя являются обратимыми. К особенностям ввода документов следует отнести также принцип проведенного(утвержденного) - отложенного документа. Когда вводится новый документ (приходная накладная, акт переоценки, и т.д.) он автоматически приобретает статус отложенного документа. Пока документ не утвержден, его можно изменить, можно удалить. Никакой силы такой документ не имеет. Для того, что бы по складу прошли изменения согласно данному документу, его нужно провести (утвердить). Например, если набрана приходная накладная, в ее перечне указаны товары, нужно ее оприходовать, что бы эти товары на склад поступили. Это как печать и подпись. При нажатии на кнопку "Провести", товары из накладной переносятся в реестр товаров. После того, как накладная проведена, изменять ее уже нельзя. Для того, что бы произвести изменения в накладной, нужно произвести откат, после этого накладная приобретает статус отложенной, можно производить изменения. |
5. | Временная прозрачность. Любое изменения состояния склада, любое движение товаров по складу фиксируется в журнале операций с указанием даты операции. Таким образом фиксируется не только текущее состояние склада, фиксируются так же все изменения во времени. Располагая такими данными нетрудно получить состояние склада на любой момент времени. Ведомость остатков можно получить на любую дату, отчет по реализации можно получить за любой период. Это справедливо для всех остальных отчетов. Благодаря правильной организации данных в базе данных операции такого рода выполняются очень быстро. |
6. | Большое внимание уделено удобству работы. При разработке системы ставилась задача максимально облегчить работу пользователя, максимально облегчить освоение системы, максимально приблизить действия пользователя к естественным. Все что пользователю необходимо для работы, должно находиться под рукой, должно быть понятным и удобным. Много внимания было уделено так называемой скрытой автоматизации, когда система предпринимает ряд безусловно необходимых действий без участия пользователя. Например, при смене розничной цены при отгрузке товара автоматически создается акт переоценки, а при откате отгрузки автоматически происходит откат акта переоценки. Пользователю совсем необязательно создавать и проводить акт переоценки вручную. Система сама произведет эти действия при необходимости. |
|