Добрий день, шановне товариство.
Далекий від програмування С++, допоможіть у написанні розрахунку прибутку по складу (різниця цін). Використовую в обліку роздрібну ціну, знаю щоданий розрахунок проводиться по різниці цін, якщо є прихідна накладна між роздрібною і прихідною ціною. Якщо приходу немає то береться різниця цін із довідника товару. Допоможіть написати розрахунок так, щоб завжди брало різницю із довідника
Дякую зазделегідь. Все буде Україна *flag1*
SELECT
gr.group_name,
tn.name,
tn.kod,
tn.ed_izm,
AVG(CASE
WHEN (c.how_to_calc IN (1,6)) THEN tn.cena/c.kurs
WHEN (c.how_to_calc = 0) THEN tn.cena*c.kurs
END) AS cena,
SUM(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_kolvo
ELSE NULL
END) AS kolvo_in,
AVG(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_cena
ELSE NULL
END) AS cena_in,
SUM(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_cena*tm.to_kolvo
ELSE NULL
END) AS cena_in_suma,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) AS kolvo_out,
AVG(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_cena
WHEN (tm.doc_type_id = 12) THEN NULL
ELSE NULL
END) AS cena_out,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_suma
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_suma
ELSE NULL
END) AS suma_out
FROM
tovar_move tm,
tovar_name tn
LEFT JOIN currency c ON tn.cena_curr_id = c.num,
print_view_sklad(0,#склад_№#) gr
WHERE
(
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 1 AND tm.from_sklad_id = #склад_№#) OR
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 6 AND tm.from_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 8 AND tm.to_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 12 AND tm.to_sklad_id = #склад_№#)
) AND
tm.is_usluga = 0 AND
tm.tovar_id = tn.num AND
tn.tip = gr.num AND
tm.mdate >= '#дата_с#' AND
tm.mdate <= '#дата_по#'
GROUP BY
1,2,3,4
HAVING
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) IS NOT NULL
ORDER BY
gr.group_name,
tn.#товар_сорт#