@dailysse

Как сформировать запрос?

Всем привет. Система для складского учета. Допусти были продажи мешков цемента. Было 10 продаж, по 10кг каждая. Но в системе на момент продажи не было накладной, с помощью которой можно было бы рассчитать себестоимость каждой продажи, поэтому считается что себестоимость равна нулю. После продаж заносим забытую накладную в систему и для нулевых себестоимостей должна пересчитаться себестоимость. Как это грамотнее сделать? Как грамотнее для этого подобрать структуру бд и запрос к ней?
  • Вопрос задан
  • 374 просмотра
Пригласить эксперта
Ответы на вопрос 4
@d-stream
Готовые решения - не подаю, но...
Как говаривал один сантехник: "да тут всю систему менять надо".

По-нормальному без приходного документа мешки цемента в свободном остатке не должны были появиться вообще.
Ответ написан
Комментировать
@dailysse Автор вопроса
Отрицательные остатки. Плохой пример с мешками цемента. Там с продуктами склады и могут быть отрицательные остатки. Как-то можно рассчитать одним (максимум двумя) запросами себестоимости для продаж с новой накладной
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А как можно было продать то, чего не было на складе? Откуда взялся товар?
Слово "себестоимость" тут мало подходит, поскольку в ней надо учитывать не только входную цену, но ещё и затраты на доставку и продажу.
По уму делают партионный учёт, когда хранится не просто десять мешков цемента, а три мешка из партии XXX, по входной цене 100 р., пять мешков из партии YYY по цене 101 р., два мешка из партии ZZZ по цене 110 р. Тогда при их продаже можно точно посчитать дельту.
Ответ написан
Комментировать
@mletov
Для начала поинтересуйтесь правилами в вашей фирме, теорией складского учета и т д.

Мы вот как-то писали систему складского учета и был интересный нюанс.
Пример:
В марте на склад поступило 10 мешков. Занесли их в базу. В апреле выяснилось, что в марте поступило не 10, а 15 мешков, занесли еще 5 мешков, дату поступления поставили март. Но т к отчетный период за март закрыт, то должно выводиться, что в марте поступило 10 мешков. Причем поступившими за апрель они тоже не числятся, т к поступили в марте, но при этом учитываются в общем текущем кол-ве на складе. И таких приколов было несколько.

Бухгалтерия и складской учет частенько содержат нюансы, которые вызывают у программистов разрыв шаблона.
Ну или проблема в людях, которые так ставят задачу.
Спросите у бухгалтера, кладовщика или кто там этой системой будет пользоваться, и уже на основе этого проектируйте базу.
Ответ написан
Ваш ответ на вопрос

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

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