Всем привет.
В результате пересортов, несвоевременного оприходования товара возникает ситуация когда остаток конкретного товара равен 0 а себестоимость по нему "висит". Себестоимость может быть как положительной, так и отрицательной.
Этот запрос если подставить в него дату и код МХ выведет все товары(tov) с нулевым количеством(qqq) на нужную дату и ненулевой себестоимостью(sss).
oper_count - количество движений товара за период в таблице FFMAPREP
Код:
select * from
(
select g.article,
replace(c.name, chr(9), ' ') tov,
sum(g.saleq) qqq,
sum(g.primecost) sss,
g.oper_count
from supermag.smcard c,
(
select
f.article, decode(SIGN(f.salelocationfrom),-1,f.salelocationto,f.salelocationfrom) mag,
decode(f.salelocationto,-2,-f.saleq,f.saleq) saleq,
decode(f.salelocationto,-2,-f.primecost,f.primecost) primecost,
count (*) over (partition by f.article) oper_count
from supermag.ffmaprep f
where f.rectype=1
and decode(SIGN(f.salelocationfrom),-1,f.salelocationto,f.salelocationfrom)=:V_LOCID
and f.saledate<=to_date(:V_DATE,'DD.MM.YYYY')
) g
where c.article=g.article
group by g.article,g.oper_count, c.name
having sum(g.saleq)=0 and sum(g.primecost)<>0
)
order by sss
Задача поставлена:
1) списать ненулевую себестоимость при нулевом остатке
2) списать все приходы(основания товародвижения), которые были до обнуления остатка, чтобы они не вставали в основание последующих продаж после списания
Придумали свои алгоритмы списания:
Код:
Способ списания положительной себестоимости
Остаток товара 0, себестоимость 100р
------------------------------------------------------------------------
Создаем в СМ документы:
Кол-во Цена Сумма Остаточная себестоимость
Приход1 1 110р 110р 210р
Расход2 2 110р 220р - 10р основание приход 1
Приход3 1 10р 10р 0
-------------------------------------------------------------------------
Код:
Способ списания отрицательной себестоимости
Остаток товара 0, себестоимость -100р
------------------------------------------------------------------------
Создаем в СМ документы:
Кол-во Цена Сумма Остаточная себестоимость
Приход1 1 110р 110р 10р
Приход2 1 10р 10р 20р
Расход3 2 10р 20р 0 основание приход 2
Задача списания ненулевой себестоимости вроде с большими натяжками выполнена, но вот задача списания всех приходов нет. После данных (виртуальных) документов если сделать документ прихода (4) и потом продажи, в основание продажи может встать как и правильный приход(4) так и Приход1 или Приход2 (это приходы списания). А то и приход за два дня ранее списания. Вообщем никакой логики одни догадки в расчете себестоимости.
Кроме этого не хотелось бы, чтобы эти виртуальные документы списания себестоимости влияли на маржинальность и.т.д.
Прошу помощи. Может кто то придумывал подобный алгоритм? Какие есть варианты? Мы уже в тупике, а зависшая себестоимость по некоторым магазинам достигает до 200т.р и более. По идее себестоимость долна списываться в ревизию, но в СМ ревизия к сожалению решает проблемы только количественного учета, а суммовой потерян.
ЗЫ: Если тема уже ранее поднималась, не пинайте, решения вроде никто не предложил.