@goodbitlabs

Как проектировать базу для партионного учета товаров?

Привет всем Всех с новым годом.. Заранее извиняюсь за грамматику
Очень нужна ваша помощь
Посоветуйте опытом как лучше реализовать партийный учет много склад? Форуме много тем прочитал чета не могу соображать
Делаю для магазина простой самопальный веб приложение(велосипед). У магазина имеется 6 торговых точек
Владелец магазина просит партийный учет для того чтобы узнать сколько было продаж и сколько осталось по партии и сколько прибыль убыток итд..

Пример привез товар с Китая 10 мешков товаров внутри мешки разные товары 20 пар обувь разнего размера и цвета 100 пар носки итд..

В шапке документа вводит
Здесь как я понял ИД прихода можно использовать как номер партии?

Дата закупки   01,01,2016
    Номер документа   1
    Откуда         С Китая
    Куда            Основной Склад
    Кто              Владелец магазина
    Проведен     Да/Нет


Детали документа вводит
Код товара      Туфли 43 razmera
    КОД                1                      ----Порядковый код 
    Сколько          10
    Цена              100 руб


Оплата по документу то есть расходы
Дата                     01,01,2016
    Номер документа   1
    Сумма                    200   -100 для товаров а +100 затраты который он тратил на билеты итд


После прихода я считаю себестоимость товара

Подскажите как хранить партию?
Создать таблицу который содержит?
ИД
ИДПрихода
ИДСклад
ИДТовар
Количество
Цена
Себестоимость
Остаток по партии
Как лучше хранить или лучше селектом обоитись?

чтобы показать остаток примерно так
номер партии товар код склад основной магазин-1 магазин-2 общий
1 туфли (43 разм) 1 0 шт 1шт 2шт 3шт

Схема 44705241e6284a2ebe48e5e0c091a4a9.png
  • Вопрос задан
  • 1072 просмотра
Пригласить эксперта
Ответы на вопрос 3
@res2001
Developer, ex-admin
1. Справочник товаров - содержит полное описание товаров;
2.Приходные документы - содержит общие поля для приходных документов;
2.1.Расшифровка приходных документов - содержит товары в приходном документе, увязывается с таблицей 2 и 1.
3.Расходные документы - содержит общие поля для расходных документов;
3.1.Расшифровка расходных документов - содержит товары в расходном документе, увязывается с таблицей 3 и 1.

Для получения остатков из таблицы 2.1 вычитаем 3.1.
Рекомендую внедрить еще такое понятие как "закрытие дня" :). В этом случае нужно завести еще одну таблицу остатков товаров, куда записывать остатки по каждому товару на дату закрытия.
Если не делать закрытие дня, то рано или поздно столкнешься с ситуацией когда запрос получения остатков будет исполнятся неприемлемо долго. Таблица с остатками позволит намного сократить время получения остатка по товарам.

Остальные справочники по необходимости.
Ответ написан
Комментировать
AtomKrieg
@AtomKrieg
Давай я поищу в Google за тебя
В sap r/3 номер партии храниться в строке документа (пришли носки и обувь одним мешком и на это заводится 1 документ с двумя строками: 1) носки 2) обувь ). При любых хозоперациях материал и партия таскаются вместе. Материал без партии указывается только в таблице с описанием материала. Опишу примерно так:
Таблица - ключ : данные

Таблица материалов - mat_uid : данные материалов (название...)
Таблица складов - stock_uid : параметры склада (название, адрес...)
Таблица заголовков документов - doc_uid : данные заголовка (даты, комментарии, тип: приход, расход, перемещение между складами..)
Таблица позиций документов - doc_uid+номер строки : материал+партия+склад...


Партия - это номер, который предлагается системой при приходе (пользователь может выбрать более старый номер). При перемещениях и выбытии партию изменить нельзя.
Остальные таблицы по описанию бизнес-процессов.
Ответ написан
foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф
Я бы для этого, если честно использовал готовое п/о вроде 1С, с модулем интеграции с Вашим веб приложением. Писать такое самому, с нуля, без особых знаний складского учета и т.п - займет достаточно большое количество времени, багов и возможных финансовых потерь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы