Використовую звіт для переоцінки товару.
Цитата: cola78 від Грудень 15, 2021, 14:29:54Рабочий код:
SELECT T.SKLAD_ID, T.KOLVO, T2.CENA, T2.TOVAR_ID, T2.LAST_MODIFY, T2.LAST_USER_ID, T2.CENA_TYPE_ID, T1.KOD, T1.NAME, S.NAME, T3.NAME
FROM
((((TOVAR_ZAL T
INNER JOIN TOVAR_CENA_LOG T2 ON (T.TOVAR_ID=T2.TOVAR_ID))
INNER JOIN TOVAR_NAME T1 ON (T2.TOVAR_ID=T1.NUM))
INNER JOIN SKLAD_NAMES S ON (T.SKLAD_ID=S.NUM))
INNER JOIN TIP T3 ON (T1.TIP=T3.NUM))
WHERE
( T.SKLAD_ID =#склад_№#) AND
( T2.LAST_MODIFY >='#дата_с#') AND ( T2.LAST_MODIFY <='#дата_по#')AND
( T2.CENA_TYPE_ID =1)
#if #выбор_да_нет_1# = 1 #then
#else
AND T.KOLVO > 0
#endif
ORDER BY T3.NAME,T1.NAME
Також, налаштував шаблон цінників. Проблема в тому що, коли товар випадково переоцінили двічі, то і цінників буде два, з різними цінами. Як переробити звіт, чи шаблон, щоб відображалась лише остання ціна?
UserZvit0211.fr3UserZvit0211.fr3
Вітаю !
Пробуйте.
Буде відображатись тільки той товар який є на певному складі.UserZvit0091.fr3
SELECT
tn.kod,
tn.name,
tn.cena_curr_id,
tn.cena_out_curr_id,
tn.tov_scancode_in,
tn.tov_scancode,
tc.cena,
tc.curr_id,
tc.last_modify,
tcb.cena AS cena_old,
tcb.last_modify AS last_modify_old,
tcb.curr_id AS curr_id_old
FROM
tovar_name tn
JOIN tovar_zal tz ON (tz.tovar_id = tn.num AND tz.sklad_id = #склад_№# AND tz.kolvo > 0)
LEFT JOIN tovar_cena_log tc ON (tc.num = (SELECT FIRST 1 tc_s1.num FROM tovar_cena_log tc_s1 WHERE tc_s1.tovar_id = tn.num AND tc_s1.cena_type_id = #цена_тип_№# AND tc_s1.last_modify >= '#дата_с#' AND tc_s1.last_modify < DATEADD(1 DAY TO CAST('#дата_по#' AS TIMESTAMP)) ORDER BY tc_s1.last_modify DESC) )
LEFT JOIN tovar_cena_log tcb ON (tcb.num = (SELECT FIRST 1 tc_s2.num FROM tovar_cena_log tc_s2 WHERE tc_s2.tovar_id = tn.num AND tc_s2.cena_type_id = #цена_тип_№# AND tc_s2.last_modify < tc.last_modify ORDER BY tc_s2.last_modify DESC) )
WHERE
#if #товар_группа_№# = 0 #then
#else
tn.tip IN (SELECT sg.num FROM get_tovar_subgroups(#товар_группа_№#,0) sg) AND
#endif
tc.cena IS NOT NULL AND
tcb.cena IS NOT NULL AND
tc.cena != tcb.cena
ORDER BY
tn.#товар_сорт#
Дякую!
В принципі так. Але чомусь ваш звіт показує не весь товар, хоча він на складі є, в прихідній накладній.
Звіт для відображення товарів в яких змінилась ціна. Це означає , що ціна в цих товарів не змінилась.
Я це розумію.
Ось скріни результатів звітів. Перший скрін - це цінник, які видає мій звіт на усі переоцінені товари по складу. Як видно, є цінники на однаковий товар. мені потрібно щоб видавало лише останню змінену ціну. Другий скрін з Вашого звіту. Зверніть увагу на товар "пш 25 чорний". Він є і там, і там. Остання ціна на нього якраз 0.65. Ваш звіт видав вірну ціну. Пробелма лише в тому що видає не всі товари.
Спробував у себе. Теж не весь товар. Може вже перемогли? потрібний звіт теж. Коли стала мережева версія - потрібно. Перезвірив - відображає якщо була активність в природній накладні. А якщо зміна ррц в номенклатурі то ні.