Подскажите, пожалуйста, как мне изменить код (что добавить), что бы в FastReport в печатную форму можно было добавить поле "Скрыть в прайсе", то есть [DataRep."IS_PRICE_INVISIBLE"]
Сейчас код отчета такой SELECT
tp.name as group_name
,t.dopoln
,t.num AS product_id
,t.name AS product_name
,t.kod AS product_kod
,t.tov_scancode AS product_scancode
,c.num AS post_id
,c.fio AS post_fio
,zal.sklad_id
,zal.z_kolvo AS z_kolvo
,t.#цена_тип_поле# * zal.z_kolvo AS z_suma
,t.#цена_тип_поле# AS price
,SUM( tm.from_kolvo ) AS selling_kolvo
,SUM( tm.from_suma ) AS selling_sum
FROM
tovar_name t
LEFT JOIN tip tp on t.tip = tp.num
LEFT JOIN client c
ON c.num = (
SELECT
FIRST 1 zal_post.LAST_POST_ID
FROM
tovar_zal zal_post
WHERE
zal_post.tovar_id = t.num
AND zal_post.last_post_id != -1
) INNER JOIN view_sklad_zal_all ('#дата#') zal
ON zal.num = t.num LEFT JOIN tovar_move tm
ON tm.tovar_id = t.num
AND tm.doc_type_id = 1
AND tm.from_sklad_id = zal.sklad_id
AND tm.mdate >= '#дата_с#'
AND tm.mdate <= '#дата_по#'
WHERE
#if #товар_группа_№# = 0 #then #else t.tip = #товар_группа_№#
AND #endif #if #поставщик_№# = 0 #then #else c.num = #поставщик_№#
AND #endif zal.sklad_id IN (
1
,63
,41
,42
,68
,71
,72
)
GROUP BY
tp.name
,t.dopoln
,t.#цена_тип_поле#
,zal.z_kolvo
,t.num
,t.name
,t.kod
,t.tov_scancode
,c.num
,c.fio
,zal.sklad_id
ORDER BY
c.fio
,c.num
,t.name
,t.num
Я посмотрел код отчета прайс лист и нашел там "t.is_price_invisible", но как его правильно и куда вставить в свой код я не могу понять! Помогите пожалуйста, если кто-то может. Админы, вы точно знаете, подскажите! ))
SELECT
tp.name as group_name
,t.dopoln
,t.num AS product_id
,t.name AS product_name
,t.kod AS product_kod
,t.tov_scancode AS product_scancode
,t.is_price_invisible
,c.num AS post_id
,c.fio AS post_fio
,zal.sklad_id
,zal.z_kolvo AS z_kolvo
,t.#цена_тип_поле# * zal.z_kolvo AS z_suma
,t.#цена_тип_поле# AS price
,SUM( tm.from_kolvo ) AS selling_kolvo
,SUM( tm.from_suma ) AS selling_sum
FROM
tovar_name t
LEFT JOIN tip tp on t.tip = tp.num
LEFT JOIN client c
ON c.num = (
SELECT
FIRST 1 zal_post.LAST_POST_ID
FROM
tovar_zal zal_post
WHERE
zal_post.tovar_id = t.num
AND zal_post.last_post_id != -1
) INNER JOIN view_sklad_zal_all ('#дата#') zal
ON zal.num = t.num LEFT JOIN tovar_move tm
ON tm.tovar_id = t.num
AND tm.doc_type_id = 1
AND tm.from_sklad_id = zal.sklad_id
AND tm.mdate >= '#дата_с#'
AND tm.mdate <= '#дата_по#'
WHERE
#if #товар_группа_№# = 0 #then #else t.tip = #товар_группа_№#
AND #endif #if #поставщик_№# = 0 #then #else c.num = #поставщик_№#
AND #endif zal.sklad_id IN (
1
,63
,41
,42
,68
,71
,72
)
GROUP BY
tp.name
,t.dopoln
,t.#цена_тип_поле#
,zal.z_kolvo
,t.num
,t.name
,t.kod
,t.tov_scancode
,t.is_price_invisible
,c.num
,c.fio
,zal.sklad_id
ORDER BY
c.fio
,c.num
,t.name
,t.num
Спасибо! Все сработало! Супер!
Есть еще один вопрос. Для вас это дело 10 секуд...
Как правильно написать выражение (функцию) "if или IIF", что бы из поля DataRep."IS_PRICE_INVISIBLE при значении 0 в отчет выдавало "Включить", а при значении 1 - "Отключить"
То есть из поля DataRep."IS_PRICE_INVISIBLE в отчет (печатную форму) выводится 0 или 1, а мне нужно что бы выводило "Включено" или "Отключено"
А зачем они тогда вообще вам в выборке, может в скрипте прописать условие чтобы выбирались товары только с IS_PRICE_INVISIBLE = 0?
Цитата: admin від Вересень 25, 2015, 16:17:08
А зачем они тогда вообще вам в выборке, может в скрипте прописать условие чтобы выбирались товары только с IS_PRICE_INVISIBLE = 0?
Мне это нужно для синхронизации с Magento. Нужно что бы товары которые скрыты в прайсе скрывались и с сайта.
Но я уже сам нашел решение:
[IIF( <DataRep."IS_PRICE_INVISIBLE"> = 1, 'Отключить',
IIF( <DataRep."IS_PRICE_INVISIBLE"> = 0, 'Включить', 'ОШИБКА'))]