Автор Тема: Допоможіть відредагувати звіт  (Прочитано 257 раз)

0 Пользователей и 1 Гость просматривают эту тему.

HumanKM

  • Младший Пользователь
  • **
  • Сообщений: 26
  • Репутация: 1
Потрібно відредагувати звіт Залишки по всіх складах (деталізація)
Необхідно додати можливість вибору групи.
Проставляю в редагування галочку на запит групи, але звіт і на далі відображає по всіх групах, а не обмежується обраною.

molotokk

  • =)
  • Помогающий
  • *****
  • Сообщений: 321
  • Репутация: 34
  • Пол: Мужской
  • Carpe Diem
Re: Допоможіть відредагувати звіт
« Ответ #1 : Май 12, 2020, 00:11:58 »
Потрібно відредагувати звіт Залишки по всіх складах (деталізація)
Необхідно додати можливість вибору групи.
Проставляю в редагування галочку на запит групи, але звіт і на далі відображає по всіх групах, а не обмежується обраною.
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

  • Младший Пользователь
  • **
  • Сообщений: 26
  • Репутация: 1
Re: Допоможіть відредагувати звіт
« Ответ #2 : Май 12, 2020, 12:17:23 »
Спарва в тому, що вибірку робить по групі з одного складу. В мене кілька складів, і треба бачити наприклад групу алкоголь по всіх складах. А Ваш запит вибірку робить тільки по одному складу.

molotokk

  • =)
  • Помогающий
  • *****
  • Сообщений: 321
  • Репутация: 34
  • Пол: Мужской
  • Carpe Diem
Re: Допоможіть відредагувати звіт
« Ответ #3 : Май 12, 2020, 15:49:08 »
Спарва в тому, що вибірку робить по групі з одного складу. В мене кілька складів, і треба бачити наприклад групу алкоголь по всіх складах. А Ваш запит вибірку робить тільки по одному складу.
можу добавити вибір складу і групи з того складу, але вибір одної групи одночасно в кількох складах - мені поки не під силу

admin

  • Админ
  • Помогающий
  • *****
  • Сообщений: 6910
  • Репутация: 1127
  • Пол: Мужской
    • УкрБланк, УкрСклад, УкрЗарплата, Унидок
Re: Допоможіть відредагувати звіт
« Ответ #4 : Май 12, 2020, 16:56:05 »
можу добавити вибір складу і групи з того складу, але вибір одної групи одночасно в кількох складах - мені поки не під силу

Оставьте
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

  • Младший Пользователь
  • **
  • Сообщений: 26
  • Репутация: 1
Re: Допоможіть відредагувати звіт
« Ответ #5 : Май 12, 2020, 19:39:45 »
Пише "Звіт пустий"
Де туплю?

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

  • Младший Пользователь
  • **
  • Сообщений: 26
  • Репутация: 1
Re: Допоможіть відредагувати звіт
« Ответ #6 : Май 12, 2020, 21:12:46 »
Звіт працює, але тільки тоді, коли в групі немає підгруп.
Можна підправити щоб я міг вибрати групу алкоголь і побачити в звіті всі підгрупи (вино, коньяк..., горілка)?

molotokk

  • =)
  • Помогающий
  • *****
  • Сообщений: 321
  • Репутация: 34
  • Пол: Мужской
  • Carpe Diem
Re: Допоможіть відредагувати звіт
« Ответ #7 : Май 12, 2020, 23:06:49 »
Звіт працює, але тільки тоді, коли в групі немає підгруп.
Можна підправити щоб я міг вибрати групу алкоголь і побачити в звіті всі підгрупи (вино, коньяк..., горілка)?

Пробуйте цей код. Походу має підійти =)

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.#товар_сорт#

HumanKM

  • Младший Пользователь
  • **
  • Сообщений: 26
  • Репутация: 1
Re: Допоможіть відредагувати звіт
« Ответ #8 : Май 12, 2020, 23:45:16 »
ось так заробило, всі склади підтіг

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


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.#товар_сорт#

molotokk

  • =)
  • Помогающий
  • *****
  • Сообщений: 321
  • Репутация: 34
  • Пол: Мужской
  • Carpe Diem
Re: Допоможіть відредагувати звіт
« Ответ #9 : Май 12, 2020, 23:51:45 »
ось так заробило, всі склади підтіг
Дуже вдячний за допомогу
Будь-ласка =)

HumanKM

  • Младший Пользователь
  • **
  • Сообщений: 26
  • Репутация: 1
Re: Допоможіть відредагувати звіт
« Ответ #10 : Май 13, 2020, 22:01:31 »
Звернуся ще раз по допомогу

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