Доброго дня!
есть в программе ГОТОВЫЙ отчет по реализация товара от конкретного поставщика с остатками на конец периода?
пересмотрел по форуму советы по переделыванию отчетов - нифига не работает даже переменных таких не нахожу как советуют
Это один из главных отчетов для торговли и как вы без него все работаете???
где в каком отчете это найти?
в п.4 меняем
КодВиділити
tovar_name tn
WHERE
tm.doc_type_id = 1 AND
tm.doc_id = vn.num AND
на
КодВиділити
tovar_name tn,
tovar_zal tz
WHERE
tm.doc_type_id = 1 AND
tm.doc_id = vn.num AND
tz.sklad_id = #склад_№# AND
tn.num = tz.tovar_id AND
tz.last_post_id = #поставщик_№# AND
Тут у вас модифікація до звіту "Реалізація товару (серійні номери)"
А вам як я розумію, потрібно простий звіт "Реалізація товару"
1. Вам потрібно створити звіт на основі звіту "Реалізація товару"
2. Поставити в виборі параметрів ще галочку "Постачальник"
3. sql запит видалити і замінити на:
SELECT
sw.group_name,
tm.tovar_id,
tn.kod,
tn.name,
tn.ed_izm,
tn.cena,
tn.cena_r,
tn.cena_o,
tm.doc_type_id,
SUM(tm.suma_znig_diff) AS tov_znig,
SUM(tm.from_kolvo) AS tov_kolvo,
AVG(tm.from_cena) AS tov_cena,
AVG(tm.cena_pdv) AS tov_cena_pdv,
SUM(tm.from_suma) AS tov_suma,
SUM(tm.suma_pdv) AS tov_pdv,
SUM(tm.from_suma+tm.suma_pdv) AS tov_suma_pdv
FROM
tovar_zal tz,
view_alldocs vd
JOIN tovar_move tm ON (tm.doc_type_id = vd.doc_type AND tm.doc_id = vd.num AND tm.doc_type_id IN (1,12) AND tm.mdate >= '#дата_с#' AND tm.mdate <= '#дата_по#'
#if #выбор_да_нет_1# = 1 #then
AND
tm.doc_type_id IN (1,12) AND
(
(tm.from_sklad_id = #склад_№# AND tm.doc_type_id = 1) OR
(tm.to_sklad_id = #склад_№# AND tm.doc_type_id = 12)
)
)
#else
AND
tm.doc_type_id IN (1) AND
tm.from_sklad_id = #склад_№# AND
tm.doc_type_id = 1
)
#endif
#if #товар_группа_№# = 0 #then
JOIN tovar_name tn ON (tm.tovar_id = tn.num)
#else
JOIN tovar_name tn ON (tm.tovar_id = tn.num AND tn.tip IN (SELECT sg.num FROM get_tovar_subgroups(#товар_группа_№#,0) sg))
#endif
LEFT JOIN print_view_sklad(#товар_группа_№#,#склад_№#) sw ON (sw.num = tn.tip)
WHERE
tz.sklad_id = #склад_№# AND
tn.num = tz.tovar_id AND
tz.last_post_id = #поставщик_№# AND
#if #пользователь_№# = -1 #then
#else
vd.doc_user_id = #пользователь_№# AND
#endif
#if #выбор_да_нет_1# = 1 #then
tm.doc_type_id IN (1,12)
#else
tm.doc_type_id IN (1)
#endif
GROUP BY
1,2,3,4,5,6,7,8,9
HAVING
SUM(tm.from_kolvo) > 0
ORDER BY
sw.group_name,
tn.#товар_сорт#
Тоді при виборі в звіті постачальника буде тільки його товар. Якщо постачальник не вибраний - звіт буде пустий
Цитата: molotokk від Вересень 26, 2024, 20:22:403. sql запит видалити і замінити на:
Підскажіть для "чайника" де цей запит ?
Цитата: ОлександрСт від Вересень 28, 2024, 09:20:26Цитата: molotokk від Вересень 26, 2024, 20:22:403. sql запит видалити і замінити на:
Підскажіть для "чайника" де цей запит ?
відкриваєте параметри звіту, знизу біля "продивитись" є "в режим редагування". Те вікно, що відкриється розгортаєте на весь екран - в нижній частині є поле "sql запит" - це воно.
Якщо потрібна допомога - тел/вайбер в підписі
Цитата: molotokk від Вересень 28, 2024, 20:22:57розгортаєте на весь екран
:D
он де собака порилась......
Спасибо совет помог)
а как добавить в этот отчет Остаток товара по складу?
добавить поле [Товар.КолвоНаСкладе] ?
Дякую, за звіт по постачальнику.
Підскажіть, як в шапку форми прописати назву постачальника?
Цитата: Proz72 від Вересень 29, 2024, 13:14:49Спасибо совет помог)
а как добавить в этот отчет Остаток товара по складу?
добавить поле [Товар.КолвоНаСкладе] ?
[DataRep."KOLVO"]
Але SQL переробіть на цей:
SELECT
sw.group_name,
tm.tovar_id,
tn.kod,
tn.name,
tn.ed_izm,
tn.cena,
tn.cena_r,
tn.cena_o,
tm.doc_type_id,
tz.kolvo,
SUM(tm.suma_znig_diff) AS tov_znig,
SUM(tm.from_kolvo) AS tov_kolvo,
AVG(tm.from_cena) AS tov_cena,
AVG(tm.cena_pdv) AS tov_cena_pdv,
SUM(tm.from_suma) AS tov_suma,
SUM(tm.suma_pdv) AS tov_pdv,
SUM(tm.from_suma+tm.suma_pdv) AS tov_suma_pdv
FROM
tovar_zal tz,
view_alldocs vd
JOIN tovar_move tm ON (tm.doc_type_id = vd.doc_type AND tm.doc_id = vd.num AND tm.doc_type_id IN (1,12) AND tm.mdate >= '#дата_с#' AND tm.mdate <= '#дата_по#'
#if #выбор_да_нет_1# = 1 #then
AND
tm.doc_type_id IN (1,12) AND
(
(tm.from_sklad_id = #склад_№# AND tm.doc_type_id = 1) OR
(tm.to_sklad_id = #склад_№# AND tm.doc_type_id = 12)
)
)
#else
AND
tm.doc_type_id IN (1) AND
tm.from_sklad_id = #склад_№# AND
tm.doc_type_id = 1
)
#endif
#if #товар_группа_№# = 0 #then
JOIN tovar_name tn ON (tm.tovar_id = tn.num)
#else
JOIN tovar_name tn ON (tm.tovar_id = tn.num AND tn.tip IN (SELECT sg.num FROM get_tovar_subgroups(#товар_группа_№#,0) sg))
#endif
LEFT JOIN print_view_sklad(#товар_группа_№#,#склад_№#) sw ON (sw.num = tn.tip)
WHERE
tz.sklad_id = #склад_№# AND
tn.num = tz.tovar_id AND
tz.last_post_id = #поставщик_№# AND
#if #пользователь_№# = -1 #then
#else
vd.doc_user_id = #пользователь_№# AND
#endif
#if #выбор_да_нет_1# = 1 #then
tm.doc_type_id IN (1,12)
#else
tm.doc_type_id IN (1)
#endif
GROUP BY
1,2,3,4,5,6,7,8,9,10
HAVING
SUM(tm.from_kolvo) > 0
ORDER BY
sw.group_name,
tn.#товар_сорт#
Цитата: ОлександрСт від Вересень 29, 2024, 15:12:14Дякую, за звіт по постачальнику.
Підскажіть, як в шапку форми прописати назву постачальника?
Вам саме назву, чи вистачить його ID?
Цитата: ОлександрСт від Вересень 29, 2024, 15:12:14Дякую, за звіт по постачальнику.
Підскажіть, як в шапку форми прописати назву постачальника?
я прописал как [поставщик]