@sangan

Как хранить историю наличия и приходов/расходов в mysql?

Нужно организовать создание и хранение данных на сайте php+mysql:
- актуальное наличие, которое можно менять вручную (модель, размер, цвет, количество)
- приходы (модель, размер, цвет, количество)
- расходы (модель, размер, цвет, количество, цена)
- возможность сформировать отчетную таблицу в заданном интервале времени, например, месяц.

1. Как правильно организовать хранение данных с учетом того, что приходов, расходов и изменений наличия вручную может быть по несколько в день и каждая операция может содержать десятки строк?

Моя идея хранить актуальное наличие, каждый раз перезаписывая его после операции. Изменения наличия вручную хранить как отдельные операции по приходу/расходу. Ежемесячно создавать лог наличия моделей, а в случае необходимости построить отчет, брать ближайший лог наличия и от него высчитывать операции в заданном интервале.

2. Как хранить историю наличия, если цена товара может быть разной в зависимости от времени прихода на склад?

Например, может быть ситуация, когда на складе есть 100 моделей по 10 размеров по 10 цветов по 30 штук, итого 300 000 позиций. Хранить в строках с разделителями? В файлах?
  • Вопрос задан
  • 731 просмотр
Пригласить эксперта
Ответы на вопрос 2
@stratosmi
Все уже придумано для нас

Вас интересует "таблицы остатков и оборотов" или "таблицы движений и итогов" для "Регистров накопления"

cascade-group.com.ua/fizicheskaya-struktura-bazy-1s
devel1c.blogspot.com/2013/06/blog-post_16.html
Ответ написан
@dimoff66
Кратко о себе: Я есть
models
id
name

movements
id
type (приход, расход)
date
model_id
size
color
amount
price

rests Остатки товара (лог)
month
model_id
size
color
movement_id (храним в разрезе id движения, чтобы получить цену поставки)
amount
Ответ написан
Ваш ответ на вопрос

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

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