Цитата:
Сообщение от
Prophetic
Добрый день,
Возникла "простая" задача: в процедуре на SQL-сервере получить себестоимость всех проданных товаров за период по всем складам (для начала).
Предполагаю, что данные нужно брать как inventTrans.CostAmountPosted+inventTrans.CostAmountAdjustment.
Есть custInvoiceTrans, которая связана с inventTrans по полям inventTransId и inventDimId.
Какие условия нужно применить, чтобы получить верную информацию?
"Простое" решение:
SELECT SUM(CostAmountPosted) + SUM(CostAmountAdjustment) FROM INVENTRANS
WHERE TRANSTYPE = 0 -- Заказ на продажу
Но. Ключевое слово "За период". Так Вы получите только текущую себестоимость, т.е. с учетом всех введенных коррекций и накладных расходов.
Т.е., строя запрос на 01.01.10 Вы получите себестоимость уже с учетом накладных расходов, которые допустим были введены 01.02.10
Т.о. если Вы планируете по этому запросу "сверяться" с ГК - то у Вас цифры могут не сойтись.
Также, тут учтутся все возвраты по заказам на продажу. И если где-то не проставлен номер возвращенного лота - то возвраты будут учтены с нулевой ценой.
При этом тут не учтутся прочие списания товара со склада (в результате недостачи к примеру или возвраты поставщикам).