Я пытаюсь создать веб-приложение на основе нескольких таблиц и форм MySQL.
у меня есть ДОБАВИТЬ Отгрузка страница, на которой пользователь добавляет список продуктов и номер счета-фактуры, так что в моем Shipment_Products стол у меня есть
id invoice_no product_code qty
1 34 HP222 4
2 34 HL234 1
у меня тоже есть Продано страница, на которой пользователь добавляет список товаров, проданных со своего склада, поэтому таблица Sold_Products наполняйся вот так
id invoice_no product_code qty
1 1 HP222 2
2 34 HL234 1
Мне нужно иметь третью таблицу с именем Stock, в которой я должен получить общее количество товаров на складе, но я застрял в том, как автоматически создать ее на основе этих двух существующих таблиц и затем обновлять ее.
Какие-либо предложения ?
Я не думаю, что вы хотите так просто, как то, что вы пытаетесь сократить. Во-первых, если ваша компания имеет дело с запасами FIFO и LIFO, вы берете инвентарь из учета, поскольку он был доступен для целей COGS (стоимость проданных товаров) на основе стоимости от данного поставщика в данный момент покупки.
Вы можете просто иметь таблицу покупок, в которой показаны все полученные товары и количество, а затем, когда товары проданы, есть еще одна таблица, показывающая сокращение с каждой покупки, полученной из имеющегося количества. Это довольно сложно, учитывая такой простой сценарий, как …
Купите 10 продуктов «X» у поставщика, затем еще 4 продукта «X» вскоре после этого. Всего 14.
Теперь для операции продажи у вас есть один заказ на продажу 3, затем 2, затем 4, затем 3. Всего 12 из 14 проданных, но независимо от того, как рассчитывается FIFO против LIFO, произойдет разделение того количества, которое было учтено. из которой начинается покупка … Например: FIFO будет учитываться из первоначальных 10, а затем 4-х партий.
10 purchase
10 - 3 = 7
7 - 2 = 5
5 - 4 = 1
1 - 3 = -2 -- WRONG... Only 1 of the 3 against the original 10 purchase
1 - (1 of 3) = 0
4 purchase
4 - (remaining 2 of 3) = 2 -- here is the remaining 2 entries from the last sale, leaving 2 left in inventory.
Таким образом, нет абсолютной структуры таблиц для обработки, но я думаю, что вы должны проверить, насколько они могут потребоваться в требованиях к управлению запасами.
Я попытаюсь объяснить это лучше.
Извините за мой плохой английский !
У меня теперь есть стол received
в котором каждый элемент в конкретном счете добавляется, когда он прибывает, так скажем, сегодня мы получаем несколько элементов, 3 элемента и уникальный invoice_id
или же shipment_id
(на самом деле не имеет значения) это S1. В таблице received
я имею
id shipment_id product_code qty
1 S1 HL223 2
2 S1 XLS21 1
3 S1 BenqWHL 1
У меня есть еще одна похожая таблица sold
который работает так же, я добавляю список элементов по их product_code
и дать продажу удостоверение личности (для других целей). Итак sold
таблица выглядит так:
id sold_id product_code qty
1 B1 HL223 1
2 B1 XLS21 1
Теперь мне просто нужно просмотреть товары, оставшиеся на складе, либо путем создания таблицы, в которой я храню товары, сгруппированные по их уникальному product_code, и просто считаю записи как кол-во, а затем, возможно, при продаже я могу вычесть количество, проданное в этот стол stock
?
Меня не волнуют номера счетов или идентификаторы, пользователи и т. Д.
Это плохой путь, но, по крайней мере, это путь к началу.
сделать таблицу: инвентарь / склад или что-то со следующей структурой: ID, Item_id, item_quantity.
При покупке / получении добавьте строку к этой таблице с положительным количеством.
При продаже / выходе добавьте строку в эту таблицу с отрицательным количеством.
Чтобы рассчитать запас, выполните запрос с sum () определенного item_id.