Потрібно відредагувати звіт Залишки по всіх складах (деталізація)
Необхідно додати можливість вибору групи.
Проставляю в редагування галочку на запит групи, але звіт і на далі відображає по всіх групах, а не обмежується обраною.
Цитата: HumanKM від Травень 04, 2020, 11:35:49
Потрібно відредагувати звіт Залишки по всіх складах (деталізація)
Необхідно додати можливість вибору групи.
Проставляю в редагування галочку на запит групи, але звіт і на далі відображає по всіх групах, а не обмежується обраною.
1. проставте галочку
2. скопіюйте мій sql запит
3. збережіть і пробуйте звіт
SELECT
gr.group_name,
t.name,
s.num,
sn.name AS sklad_name,
t.kod,
CASE
WHEN (c.how_to_calc = 1) THEN t.#цена_тип_поле#/c.kurs
WHEN (c.how_to_calc = 0) THEN t.#цена_тип_поле#*c.kurs
END AS cena,
t.ed_izm,
gr.num,
s.z_kolvo AS z_kolvo,
((t.#цена_тип_поле#*s.z_kolvo)/#валюта_курс#) AS z_suma
FROM
view_sklad_zal_all('#дата#') s,
sklad_names sn,
tovar_name t
LEFT JOIN currency c ON t.#цена_тип_поле_пр#_curr_id = c.num,
print_view_sklad(#товар_группа_№#,#склад_№#) gr
WHERE
s.num = t.num AND
s.sklad_id = sn.num AND
t.tip = gr.num AND
s.sklad_id = gr.sklad_id AND
s.sklad_id > 0 AND
t.visible = 1
ORDER BY
gr.group_name,
t.#товар_сорт#
Спарва в тому, що вибірку робить по групі з одного складу. В мене кілька складів, і треба бачити наприклад групу алкоголь по всіх складах. А Ваш запит вибірку робить тільки по одному складу.
Цитата: HumanKM від Травень 12, 2020, 12:17:23
Спарва в тому, що вибірку робить по групі з одного складу. В мене кілька складів, і треба бачити наприклад групу алкоголь по всіх складах. А Ваш запит вибірку робить тільки по одному складу.
можу добавити вибір складу і групи з того складу, але вибір одної групи одночасно в кількох складах - мені поки не під силу
Цитата: molotokk від Травень 12, 2020, 15:49:08
можу добавити вибір складу і групи з того складу, але вибір одної групи одночасно в кількох складах - мені поки не під силу
Оставьте
print_view_sklad_all(#активная_фирма_№#) gr
как и был, а группу отфильтруйте уже с полученных результатов процедуры:
прямо в WHERE:
WHERE
s.num = t.num AND
s.sklad_id = sn.num AND
t.tip = gr.num AND
t.tip = #товар_группа_№# AND
s.sklad_id = gr.sklad_id AND
s.sklad_id > 0 AND
t.visible = 1
Пише "Звіт пустий"
Де туплю?
SELECT
gr.group_name,
t.name,
s.num,
sn.name AS sklad_name,
t.kod,
CASE
WHEN (c.how_to_calc = 1) THEN t.#цена_тип_поле#/c.kurs
WHEN (c.how_to_calc = 0) THEN t.#цена_тип_поле#*c.kurs
END AS cena,
t.ed_izm,
gr.num,
s.z_kolvo AS z_kolvo,
((t.#цена_тип_поле#*s.z_kolvo)/#валюта_курс#) AS z_suma
FROM
view_sklad_zal_all('#дата#') s,
sklad_names sn,
tovar_name t
LEFT JOIN currency c ON t.#цена_тип_поле_пр#_curr_id = c.num,
print_view_sklad_all(#активная_фирма_№#) gr
WHERE
s.num = t.num AND
s.sklad_id = sn.num AND
t.tip = gr.num AND
t.tip = #товар_группа_№# AND
s.sklad_id = gr.sklad_id AND
s.sklad_id > 0 AND
t.visible = 1
ORDER BY
gr.group_name,
t.#товар_сорт#
Звіт працює, але тільки тоді, коли в групі немає підгруп.
Можна підправити щоб я міг вибрати групу алкоголь і побачити в звіті всі підгрупи (вино, коньяк..., горілка)?
Цитата: HumanKM від Травень 12, 2020, 21:12:46
Звіт працює, але тільки тоді, коли в групі немає підгруп.
Можна підправити щоб я міг вибрати групу алкоголь і побачити в звіті всі підгрупи (вино, коньяк..., горілка)?
Пробуйте цей код. Походу має підійти =)SELECT
gr.group_name,
t.name,
s.num,
sn.name AS sklad_name,
t.kod,
CASE
WHEN (c.how_to_calc = 1) THEN t.#цена_тип_поле#/c.kurs
WHEN (c.how_to_calc = 0) THEN t.#цена_тип_поле#*c.kurs
END AS cena,
t.ed_izm,
gr.num,
s.z_kolvo AS z_kolvo,
((t.#цена_тип_поле#*s.z_kolvo)/#валюта_курс#) AS z_suma
FROM
view_sklad_zal_all('#дата#') s,
sklad_names sn,
tovar_name t
LEFT JOIN currency c ON t.#цена_тип_поле_пр#_curr_id = c.num,
print_view_sklad(#товар_группа_№#,#склад_№#) gr
WHERE
s.num = t.num AND
s.sklad_id = sn.num AND
t.tip = gr.num AND
t.tip IN (SELECT sg.num FROM get_tovar_subgroups(#товар_группа_№#,0) sg) AND
s.sklad_id = gr.sklad_id AND
s.sklad_id > 0 AND
t.visible = 1
ORDER BY
gr.group_name,
t.#товар_сорт#
ось так заробило, всі склади підтіг
Дуже вдячний за допомогу
SELECT
gr.group_name,
t.name,
s.num,
sn.name AS sklad_name,
t.kod,
CASE
WHEN (c.how_to_calc = 1) THEN t.#цена_тип_поле#/c.kurs
WHEN (c.how_to_calc = 0) THEN t.#цена_тип_поле#*c.kurs
END AS cena,
t.ed_izm,
gr.num,
s.z_kolvo AS z_kolvo,
((t.#цена_тип_поле#*s.z_kolvo)/#валюта_курс#) AS z_suma
FROM
view_sklad_zal_all('#дата#') s,
sklad_names sn,
tovar_name t
LEFT JOIN currency c ON t.#цена_тип_поле_пр#_curr_id = c.num,
print_view_sklad_all(#активная_фирма_№#) gr
WHERE
s.num = t.num AND
s.sklad_id = sn.num AND
t.tip = gr.num AND
t.tip IN (SELECT sg.num FROM get_tovar_subgroups(#товар_группа_№#,0) sg) AND
s.sklad_id = gr.sklad_id AND
s.sklad_id > 0 AND
t.visible = 1
ORDER BY
gr.group_name,
t.#товар_сорт#
Цитата: HumanKM від Травень 12, 2020, 23:45:16
ось так заробило, всі склади підтіг
Дуже вдячний за допомогу
Будь-ласка =)
Звернуся ще раз по допомогу
Єтака проблема. Менеджери роблять замовлення по результатам руху товару за тиждень.
З одного боку прекрасно міг би підійти звіт "Рух товару по складу: звіт по групі".
Та як завжди АЛЕ:
В магазині два склади, а по цьому звіту видно лише один. В нас "Основний склад" в нього приходується товар, та склад під назвою "Магазин", в нього товар потрапляє переміщенням з основного, або напряму приходується накладною. Коли менеджер дивиться рух товару по складу "Магазин" він бачить що продалося наприклад 30кг риби за тиждень і що ще є в "Магазині" 10кг. Теоретично треба замовити 20 кг риби. Але може бути таке, що в "Основному складі" є ще 20-30кг. І взнати чи це так можна лише передивившись окремий документ. Це є вкрай незручно, займає багато часу. Було б ідеально вивести в звіт "Рух товару по складу: звіт по групі" обидва склади. Або додати в шаблон колонку к-ть товару в "Основному складі". Якщо можете допомогти з SQL, то шаблон я б може і сам осилив. Дякую.