Редагую звіт Прибуток по складу (різниця цін), щоб можна було робити вибір по користувачах
Нижче наведено змінений код звіту, також активував вибір користувача і всі користувачі, але звіт грузить дууууууууууже довго
Хто знає - підкажіть як його можна оптимізувати, щоб швидше завантажувався, чи можливо я щось зробив неправильно?
SELECT
gr.group_name,
tn.name,
tn.kod,
tn.ed_izm,
vn.doc_user_id,
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,
vnakl vn,
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
#if #пользователь_№# = -1 #then
#else
vn.doc_user_id = #пользователь_№# AND
#endif
tm.mdate >= '#дата_с#' AND
tm.mdate <= '#дата_по#'
GROUP BY
1,2,3,4,5
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
vn.doc_user_id,
gr.group_name,
tn.#товар_сорт#