• Ласкаво просимо на Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата.
 

Допоможіть відредагувати звіт

Автор HumanKM, Травень 04, 2020, 11:35:49

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

HumanKM

Потрібно відредагувати звіт Залишки по всіх складах (деталізація)
Необхідно додати можливість вибору групи.
Проставляю в редагування галочку на запит групи, але звіт і на далі відображає по всіх групах, а не обмежується обраною.
вайбер 050-557-46-26

molotokk

Цитата: 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.#товар_сорт#
підбір та продаж обладнання для торгівлі, допомога в налаштуваннях програми ⇒ "komfort-m.com.ua" ⇒ "t.me/komfortmservice" ⇒ ✆ 097-873-59-01

HumanKM

Спарва в тому, що вибірку робить по групі з одного складу. В мене кілька складів, і треба бачити наприклад групу алкоголь по всіх складах. А Ваш запит вибірку робить тільки по одному складу.
вайбер 050-557-46-26

molotokk

Цитата: HumanKM від Травень 12, 2020, 12:17:23
Спарва в тому, що вибірку робить по групі з одного складу. В мене кілька складів, і треба бачити наприклад групу алкоголь по всіх складах. А Ваш запит вибірку робить тільки по одному складу.
можу добавити вибір складу і групи з того складу, але вибір одної групи одночасно в кількох складах - мені поки не під силу
підбір та продаж обладнання для торгівлі, допомога в налаштуваннях програми ⇒ "komfort-m.com.ua" ⇒ "t.me/komfortmservice" ⇒ ✆ 097-873-59-01

admin

Цитата: 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

HumanKM

Пише "Звіт пустий"
Де туплю?

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.#товар_сорт#
вайбер 050-557-46-26

HumanKM

Звіт працює, але тільки тоді, коли в групі немає підгруп.
Можна підправити щоб я міг вибрати групу алкоголь і побачити в звіті всі підгрупи (вино, коньяк..., горілка)?
вайбер 050-557-46-26

molotokk

Цитата: 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.#товар_сорт#
підбір та продаж обладнання для торгівлі, допомога в налаштуваннях програми ⇒ "komfort-m.com.ua" ⇒ "t.me/komfortmservice" ⇒ ✆ 097-873-59-01

HumanKM

ось так заробило, всі склади підтіг

Дуже вдячний за допомогу


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.#товар_сорт#
вайбер 050-557-46-26

molotokk

Цитата: HumanKM від Травень 12, 2020, 23:45:16
ось так заробило, всі склади підтіг
Дуже вдячний за допомогу
Будь-ласка =)
підбір та продаж обладнання для торгівлі, допомога в налаштуваннях програми ⇒ "komfort-m.com.ua" ⇒ "t.me/komfortmservice" ⇒ ✆ 097-873-59-01

HumanKM

Звернуся ще раз по допомогу

Єтака проблема. Менеджери роблять замовлення по результатам руху товару за тиждень.
З одного боку прекрасно міг би підійти звіт "Рух товару по складу: звіт по групі".
Та як завжди АЛЕ:
В магазині два склади, а по цьому звіту видно лише один. В нас "Основний склад" в нього приходується товар, та склад під назвою "Магазин", в нього товар потрапляє переміщенням з основного, або напряму приходується накладною. Коли менеджер дивиться рух товару по складу "Магазин" він бачить що продалося наприклад 30кг риби за тиждень і що ще є в "Магазині" 10кг. Теоретично треба замовити 20 кг риби. Але може бути таке, що в "Основному складі" є ще 20-30кг. І взнати чи це так можна лише передивившись окремий документ. Це є вкрай незручно, займає багато часу. Було б ідеально вивести в звіт "Рух товару по складу: звіт по групі" обидва склади. Або додати в шаблон колонку к-ть товару в "Основному складі". Якщо можете допомогти з SQL, то шаблон я б може і сам осилив. Дякую.
вайбер 050-557-46-26