В заявке на выставление счета учитывайте следующее:
У меня есть таблица продуктов, в которой также указана цена продукта. Затем у меня есть таблица счетов-фактур и invoice_lines, и в каждой строке счета-фактуры я ссылаюсь на идентификатор продукта вместе с количеством. В этом случае я не сохраняю цену товара со строкой накладной.
Теперь, через несколько месяцев, если цена продукта изменится, в любом отчете будет показан объем продаж на основе текущей цены, а не цены, по которой продукт был фактически продан.
Одно из решений, которое мне приходит в голову, заключается в том, что мы храним отдельную таблицу с именами цен, которая ссылается на каждый продукт, и всякий раз, когда цена продукта изменяется, в эту таблицу цен вносится запись. Последняя запись в этой таблице всегда считается текущей ценой для новых счетов. Каждая строка счета-фактуры указывает свою цену путем указания идентификатора цены, чтобы она позже отображалась правильно в отчетах.
Каковы наилучшие методы работы с такими ситуациями?