Open mohnstrudel opened 3 months ago
@mohnstrudel Я частично сделал эту задачу в рамках задачи по складам. Поэтому давай доделаем ее перед #102.
Сначала предлагаю убедиться, что мы правильно друг друга понимаем.
В чем задача. Нужна возможность связывать продажи и закупки. Примеры:
Вопросы из примеров — это то, что мы хотим решить.
Подзадача. Сделать так, чтобы закупки привязывались к продажам сразу после создания закупки. Например, мы создали закупку. Затем наша система ищет самую старую продажу и связывает её с закупкой.
Отвечаю на вопросы с точки зрения бизнес-логики:
Как понять, какие продажи связаны с закупками, а какие — нет?
Мы перешли на страницу продажи - Как нам понять, связана ли продажа с закупками?
Как ее связать с закупками? - см. принцип выше. Если в ручном режиме, то на странице редактирования должна быть возможность выбрать закупку, либо открепить уже существующую
Мы перешли на страницу закупки - Как понять, что к закупке привязаны продажи?
Как привязать или отвязать? - думаю также, на странице редактирования удаляем связь либо добавляем вручную
Как понять, есть ли еще свободные, не привязанные продажи? - именно на странице закупки в этой информации, кажется, смысла нет. Ведь если скрипт/метод работает, то там либо точно будут продажи, либо, если этой информации там не будет, значит на эту закупку ещё нет продажи. Я иногда бывает покупаю "впрок".
@mohnstrudel У меня появился вопрос по закупкам, который можно решать в отдельной задаче.
Мы изменили amount (число закупленных товаров) в закупке (purchase) — что делать:
Очень хороший вопрос. Интересно, а можно малой кровью реализовать возможность редактирования только в первые 5 минут, например? А потом нельзя. Т.е. если действительно я сделал ошибку и попал не туда на клавиатуре, то 5 минут хватит, чтобы отредактировать. А уведомления клиентам можно и так повесить на deliver_later
и сделать всегда через пол часа.
Но теперь вопрос - даже если мы это можем реализовать, то что делать, если, например, действительно поставщик подтвердил только 1 штуку (хотя я купил и оплатил 2). Думаю в таком случае нужен отдельный функционал, что-то вроде "Убрать закупку". И здесь в идеале я захожу на страницу закупки и напротив той продажи, которой я "готов пожертвовать", нажимаю на тот же destroy
. Только там должен будет confirm
/alert
всплывать и после удаления будем слать какое-нибудь трогательное письмо.
Зачем:
To-Do:
Пример:
nil