Потрібно в звіті Прибуток по складу (різниця цін) в дизайнер шаблонів додати додаткові поля товару, підкажіть яким чином...
SELECT
gr.group_name,
tn.name,
tn.kod,
tn.ed_izm,
AVG(CASE
WHEN (c.how_to_calc IN (1,6)) THEN tn.cena/c.kurs
WHEN (c.how_to_calc = 0) THEN tn.cena*c.kurs
END) AS cena,
SUM(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_kolvo
ELSE NULL
END) AS kolvo_in,
AVG(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_cena
ELSE NULL
END) AS cena_in,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) AS kolvo_out,
AVG(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_cena
WHEN (tm.doc_type_id = 12) THEN NULL
ELSE NULL
END) AS cena_out,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_suma
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_suma
ELSE NULL
END) AS suma_out
FROM
tovar_move tm,
tovar_name tn
LEFT JOIN currency c ON tn.cena_curr_id = c.num,
print_view_sklad(0,#склад_№#) gr
WHERE
(
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 1 AND tm.from_sklad_id = #склад_№#) OR
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 6 AND tm.from_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 8 AND tm.to_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 12 AND tm.to_sklad_id = #склад_№#)
) AND
tm.is_usluga = 0 AND
tm.tovar_id = tn.num AND
tn.tip = gr.num AND
tm.mdate >= '#дата_с#' AND
tm.mdate <= '#дата_по#'
GROUP BY
1,2,3,4
HAVING
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) IS NOT NULL
ORDER BY
1,2,3,4
Якщо ви говорите про додаткові поля для товару, то найпростіший спосіб додати ці поля (у них назви якісь заморочені...) це видалити вирази tn. ... , із тієї частини запиту, яку навожу нижче
------------
SELECT
gr.group_name,
tn.name,
tn.kod,
tn.ed_izm,
AVG(CASE
....
Тобто видалити: tn.name, tn.kod, tn.ed_izm, , а замість них додати поле tn.*.
В наслідок цього зявляться ще деякі поля (які вам не потрібні), але їх можна ігнорувати.
Якщо щось буде не так, пишіть, щось придумаємо
Ви правильно мене зрозуміли, додаткові поля товарів, я навіть в подібному звіті додавав tn.*, і все працювало, а тут чомусь не працює, видає помилку:
DataM.QueryRep.SelectQuery
Column does not belong to referenced table.
Dynamic SQL error.
SQL error code =-206
TN.*.
At line 3, column 1.
SELECT
gr.group_name,
tn.*,
AVG(CASE
WHEN (c.how_to_calc IN (1,6)) THEN tn.cena/c.kurs
WHEN (c.how_to_calc = 0) THEN tn.cena*c.kurs
END) AS cena,
SUM(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_kolvo
ELSE NULL
END) AS kolvo_in,
AVG(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_cena
ELSE NULL
END) AS cena_in,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) AS kolvo_out,
AVG(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_cena
WHEN (tm.doc_type_id = 12) THEN NULL
ELSE NULL
END) AS cena_out,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_suma
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_suma
ELSE NULL
END) AS suma_out
FROM
tovar_move tm,
tovar_name tn
LEFT JOIN currency c ON tn.cena_curr_id = c.num,
print_view_sklad(0,#склад_№#) gr
WHERE
(
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 1 AND tm.from_sklad_id = #склад_№#) OR
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 6 AND tm.from_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 8 AND tm.to_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 12 AND tm.to_sklad_id = #склад_№#)
) AND
tm.is_usluga = 0 AND
tm.tovar_id = tn.num AND
tn.tip = gr.num AND
tm.mdate >= '#дата_с#' AND
tm.mdate <= '#дата_по#'
GROUP BY
1,2,3,4
HAVING
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) IS NOT NULL
ORDER BY
1,2,3,4
нельзя просто добавлять tn.*, там ниже идет группировка и перечисляются поля по котором она идет
GROUP BY
1,2,3,4
т.е. по этим четырем
gr.group_name,
tn.name,
tn.kod,
tn.ed_izm,
надо добавить конкретное поле и соответственно это указать в группировке
а як додати усі додаткові поля?? допоможіть будьласка...
SELECT
gr.group_name,
tn.name,
tn.kod,
tn.dopoln2,
tn.cena_1,
tn.dopoln3,
tn.ed_izm,
AVG(CASE
WHEN (c.how_to_calc IN (1,6)) THEN tn.cena/c.kurs
WHEN (c.how_to_calc = 0) THEN tn.cena*c.kurs
END) AS cena,
SUM(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_kolvo
ELSE NULL
END) AS kolvo_in,
AVG(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_cena
ELSE NULL
END) AS cena_in,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) AS kolvo_out,
AVG(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_cena
WHEN (tm.doc_type_id = 12) THEN NULL
ELSE NULL
END) AS cena_out,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_suma
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_suma
ELSE NULL
END) AS suma_out
FROM
tovar_move tm,
tovar_name tn
LEFT JOIN currency c ON tn.cena_curr_id = c.num,
print_view_sklad(0,#склад_№#) gr
WHERE
(
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 1 AND tm.from_sklad_id = #склад_№#) OR
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 6 AND tm.from_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 8 AND tm.to_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 12 AND tm.to_sklad_id = #склад_№#)
) AND
tm.is_usluga = 0 AND
tm.tovar_id = tn.num AND
tn.tip = gr.num AND
tm.mdate >= '#дата_с#' AND
tm.mdate <= '#дата_по#'
GROUP BY
1,2,3,4,5,6,7
HAVING
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) IS NOT NULL
ORDER BY
1,2,3,4
дякую, здається розібрався вже
SELECT
gr.group_name,
tn.name,
tn.kod,
tn.cena_1,
tn.cena_R,
tn.dopoln2,
tn.dopoln3,
tn.ed_izm,
AVG(CASE
WHEN (c.how_to_calc IN (1,6)) THEN tn.cena/c.kurs
WHEN (c.how_to_calc = 0) THEN tn.cena*c.kurs
END) AS cena,
SUM(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_kolvo
ELSE NULL
END) AS kolvo_in,
AVG(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_cena
ELSE NULL
END) AS cena_in,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) AS kolvo_out,
AVG(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_cena
WHEN (tm.doc_type_id = 12) THEN NULL
ELSE NULL
END) AS cena_out,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_suma
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_suma
ELSE NULL
END) AS suma_out
FROM
tovar_move tm,
tovar_name tn
LEFT JOIN currency c ON tn.cena_curr_id = c.num,
print_view_sklad(0,#склад_№#) gr
WHERE
(
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 1 AND tm.from_sklad_id = #склад_№#) OR
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 6 AND tm.from_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 8 AND tm.to_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 12 AND tm.to_sklad_id = #склад_№#)
) AND
tm.is_usluga = 0 AND
tm.tovar_id = tn.num AND
tn.tip = gr.num AND
tm.mdate >= '#дата_с#' AND
tm.mdate <= '#дата_по#'
GROUP BY
1,2,3,4,5,6,7,8
HAVING
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) IS NOT NULL
ORDER BY
1,2,3,4
а як зробити так що, tn.cena_1, tn.cena_R, відображались в основній валюті, в доларах???
cena_cur_id - данное поле отвечает за тип валюты на складе (таблица tovar_name , здесь в этом отчете обозначена как tn)
curr_type - данное поле отвечает за тип валюты в документах (таблица tovar_move , здесь tm)
так же в документах есть поля для обозначения цены в валюте (их там около 7-8)
Это на случай, если вы сами разберетесь.
Теперь по вашему вопросу. Уточните пожалуйста, что вы имели ввиду? Вы хотите, чтобы эти поля отображались именно в долларах, т.к. это основная валюта на вашей фирме?
P.S.если это так, думаю, здесь admin, возможно, подскажет в каком направлении двигаться, т.к. я никогда не менял основную валюту для фирмы и не знаю, что при этом изменяется...
так, хотів би шоб відображались саме в доларах...
Можно посмотреть как это сделано в отчете прайс-листы
Рух по клієнтам: деталізація по товару + ЗП
SELECT
tz.kolvo,
t.*,
CASE
WHEN (t.cena_curr_id = par.param) THEN t.cena
WHEN (c.how_to_calc = 0 AND ct_in.how_to_calc = 1) THEN t.cena/c.kurs/ct_in.kurs
WHEN (c.how_to_calc = 1 AND ct_in.how_to_calc = 1) THEN t.cena*c.kurs/ct_in.kurs
WHEN (c.how_to_calc = 0 AND ct_in.how_to_calc = 0) THEN t.cena/c.kurs*ct_in.kurs
WHEN (c.how_to_calc = 1 AND ct_in.how_to_calc = 0) THEN t.cena*c.kurs*ct_in.kurs
END AS cena_national_valuta,
CASE
WHEN (t.cena_out_curr_id = par.param) THEN t.cena_r
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 1) THEN t.cena_r/c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 1) THEN t.cena_r*c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 0) THEN t.cena_r/c.kurs*ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 0) THEN t.cena_r*c.kurs*ct_out.kurs
END AS cena_r_national_valuta,
CASE
WHEN (t.cena_out_curr_id = par.param) THEN t.cena_o
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 1) THEN t.cena_o/c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 1) THEN t.cena_o*c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 0) THEN t.cena_o/c.kurs*ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 0) THEN t.cena_o*c.kurs*ct_out.kurs
END AS cena_o_national_valuta,
CASE
WHEN (t.cena_out_curr_id = par.param) THEN t.cena_1
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 1) THEN t.cena_1/c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 1) THEN t.cena_1*c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 0) THEN t.cena_1/c.kurs*ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 0) THEN t.cena_1*c.kurs*ct_out.kurs
END AS cena_1_national_valuta,
CASE
WHEN (t.cena_out_curr_id = par.param) THEN t.cena_2
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 1) THEN t.cena_2/c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 1) THEN t.cena_2*c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 0) THEN t.cena_2/c.kurs*ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 0) THEN t.cena_2*c.kurs*ct_out.kurs
END AS cena_2_national_valuta,
CASE
WHEN (t.cena_out_curr_id = par.param) THEN t.cena_3
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 1) THEN t.cena_3/c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 1) THEN t.cena_3*c.kurs/ct_out.kurs
WHEN (c.how_to_calc = 0 AND ct_out.how_to_calc = 0) THEN t.cena_3/c.kurs*ct_out.kurs
WHEN (c.how_to_calc = 1 AND ct_out.how_to_calc = 0) THEN t.cena_3*c.kurs*ct_out.kurs
END AS cena_3_national_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena
WHEN (ct_in.how_to_calc = 1) THEN t.cena/ct_in.kurs
WHEN (ct_in.how_to_calc = 0) THEN t.cena*ct_in.kurs
END AS cena_main_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena_r
WHEN (ct_out.how_to_calc = 1) THEN t.cena_r/ct_out.kurs
WHEN (ct_out.how_to_calc = 0) THEN t.cena_r*ct_out.kurs
END AS cena_r_main_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena_o
WHEN (ct_out.how_to_calc = 1) THEN t.cena_o/ct_out.kurs
WHEN (ct_out.how_to_calc = 0) THEN t.cena_o*ct_out.kurs
END AS cena_o_main_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena_1
WHEN (ct_out.how_to_calc = 1) THEN t.cena_1/ct_out.kurs
WHEN (ct_out.how_to_calc = 0) THEN t.cena_1*ct_out.kurs
END AS cena_1_main_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena_2
WHEN (ct_out.how_to_calc = 1) THEN t.cena_2/ct_out.kurs
WHEN (ct_out.how_to_calc = 0) THEN t.cena_2*ct_out.kurs
END AS cena_2_main_valuta,
CASE
WHEN (t.cena_curr_id = 0) THEN t.cena_3
WHEN (ct_out.how_to_calc = 1) THEN t.cena_3/ct_out.kurs
WHEN (ct_out.how_to_calc = 0) THEN t.cena_3*ct_out.kurs
END AS cena_3_main_valuta,
gr.group_name,
cln.fio,
vn.date_dok,
vn.nu,
vn_.tov_name,
vn_.tov_ed,
vn_.tov_cena,
vn_.tov_kolvo,
vn_.tov_suma,
vn.sklad_id,
vn.cena,
vn.cena_znig,
vn.znig_type,
vn.num
FROM
tovar_name t
LEFT JOIN currency ct_in ON t.cena_curr_id = ct_in.num
LEFT JOIN currency ct_out ON t.cena_out_curr_id = ct_out.num,
print_view_sklad(#товар_группа_№#,#склад_№#) gr,
tovar_zal tz,
currency c,
params par,
vnakl vn,
client cln,
vnakl_ vn_
WHERE
vn.is_move = 1 AND
vn.date_dok >= '#дата_с#' AND
vn.date_dok <= '#дата_по#' AND
vn.client_id = cln.num AND
vn.num = vn_.pid AND
vn_.sklad_id = #склад_№# AND
par.name = 'NationalValutaId' AND
c.num = par.param AND
t.tip = gr.num AND
vn_.tovar_id = t.num AND
t.visible = 1 AND
t.is_price_invisible = 0 AND
t.num=tz.tovar_id AND
tz.sklad_id=#склад_№#
ORDER BY
vn.client,
vn.date_dok,
vn.num,
gr.group_name,
t.name
ось так все працює, єдине що звіт формується дуже довго, підозрюю виконує якісь непотрібні підрахунки, так як складений із двох... Рух по клієнтам: деталізація по товару + Прайс
допоможіть його виправити, дуже потібен..
Запускал у себя ваш отчет. У меня при выборке данных кол-вом в 3 000 (в тестовой базе данных всего столько) работает довольно шустро (1.9 сек).
Подозреваю, что у вас сложная структура склада.
Если вам не нужно поле gr.group_name, советую удалить упоминания о "таблице" gr из выражения, немножко ускорит работу (на моих смешных данных это увеличило скорость более чем в 2 раза (0.9 сек), у вас может быть на много круче, а может и не быть) ).
Если у вас сложная структура склада (много подгрупп в группах), то данная мера может значительно ускорить работу.
gr.group_name - отображает структуру склада группа1/подргуппа1/под подгруппа 1 ....
Доброго дня
хочу до звіту по прибутку прикрутити поле к-сть на складі, підскажіть як це зробити????
Цитата: Petryk від Січень 30, 2014, 11:48:09
Доброго дня
хочу до звіту по прибутку прикрутити поле к-сть на складі, підскажіть як це зробити????
Не дублируйте сообщения на форум и на поддержку. Т.к. это происходит часто, с этого момента будем минусовать или давать бан на денек два.
Это перенаправленное письмо:
От: Служба поддержки
Кому: Петро
Дата: 31 січня 2014 р., 17:17:57
Тема: Звіт по прибутку
===8<==============Оригинал текста письма===============
Приветствую Вас,
29.01.2014 в 10:47, Вы писали:
> Добрий день!
> Допоможіть в звіт по прибутку(середня ціна) добавити поле залишок товару на складі. Звіт прикріпляю
> Наперед вдячний
Текущий остаток, тот что в справочнике товаров.
Как делать отчет на основе другого?
1. Заходим в меню "Отчеты" и открываем нужный нам отчет.
2. Потом нажимаем на кнопку "В режим редактирования", и раскрываем
окно на максимум (так будет удобней)
3. В открывшемся окне в полях "Название по-украински" и "Название
по-русски", меняем или дописываем название для будущего отчета.
4. Далее меняем или правим в окне SQL запрос текст SQL запроса к базе
данных.
5. Если надо включаем в "Выбор нужных параметров для отчета" галочки
что надо выбирать перед формированием отчета, а что нет.
6. Нажимаем кнопку "Сохранить как новый", и закрываем окно.
7. Далее заходим обратно в меню Отчеты : Отчеты пользователей и ищем
имя отчета которое вы задали в п.3 Открываем его и запускаем, если
надо правим печатную форму.
в п.4 меняем текст на:
SELECT
gr.group_name,
tn.name,
tn.kod,
tn.ed_izm,
tz.kolvo,
AVG(CASE
WHEN (c.how_to_calc IN (1,6)) THEN tn.cena/c.kurs
WHEN (c.how_to_calc = 0) THEN tn.cena*c.kurs
END) AS cena,
SUM(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_kolvo
ELSE NULL
END) AS kolvo_in,
AVG(CASE
WHEN (tm.doc_type_id = 8) THEN tm.to_cena
ELSE NULL
END) AS cena_in,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) AS kolvo_out,
AVG(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_cena
WHEN (tm.doc_type_id = 12) THEN NULL
ELSE NULL
END) AS cena_out,
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_suma
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_suma
ELSE NULL
END) AS suma_out
FROM
tovar_move tm,
tovar_name tn
LEFT JOIN currency c ON tn.cena_curr_id = c.num,
tovar_zal tz,
print_view_sklad(0,#склад_№#) gr
WHERE
(
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 1 AND tm.from_sklad_id = #склад_№#) OR
(tm.from_firma_id = #активная_фирма_№# AND tm.doc_type_id = 6 AND tm.from_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 8 AND tm.to_sklad_id = #склад_№#) OR
(tm.to_firma_id = #активная_фирма_№# AND tm.doc_type_id = 12 AND tm.to_sklad_id = #склад_№#)
) AND
tm.is_usluga = 0 AND
tm.tovar_id = tn.num AND
tz.sklad_id = #склад_№# AND
tn.num = tz.tovar_id AND
tn.tip = gr.num AND
tm.mdate >= '#дата_с#' AND
tm.mdate <= '#дата_по#'
GROUP BY
1,2,3,4,5
HAVING
SUM(CASE
WHEN (tm.doc_type_id IN (1,6)) THEN tm.to_kolvo
WHEN (tm.doc_type_id = 12) THEN (-1)*tm.to_kolvo
ELSE NULL
END) IS NOT NULL
ORDER BY
1,2,3,4
--
С уважением, Служба поддержки пользователей
http://www.softbalance.com.ua (http://www.softbalance.com.ua)
===8<===========Окончание оригинала теста письма========
Прошу вибачення за дубль повідомлення, бо на підтримці довго не відповідали, і я вирішив написати на форум
Зробив все як ви мені написали, але видало помилку
Цитата: Petryk від Лютий 01, 2014, 18:53:37
Прошу вибачення за дубль повідомлення, бо на підтримці довго не відповідали, і я вирішив написати на форум
Долго это сколько? День? :)
Цитата: Petryk від Лютий 01, 2014, 18:53:37
Зробив все як ви мені написали, але видало помилку
тут была пропущена запятая
tovar_zal tz,
Цитата: admin від Лютий 01, 2014, 20:01:53
Цитата: Petryk від Лютий 01, 2014, 18:53:37
Прошу вибачення за дубль повідомлення, бо на підтримці довго не відповідали, і я вирішив написати на форум
Долго это сколько? День? :)
Цитата: Petryk від Лютий 01, 2014, 18:53:37
Зробив все як ви мені написали, але видало помилку
тут была пропущена запятая
tovar_zal tz,
А як в звіт добавити к-сть на складі?
Цитата: Petryk від Лютий 02, 2014, 14:40:51
А як в звіт добавити к-сть на складі?
[DataRep."KOLVO"]
Цитата: admin від Лютий 03, 2014, 09:08:27
Цитата: Petryk від Лютий 02, 2014, 14:40:51
А як в звіт добавити к-сть на складі?
[DataRep."KOLVO"]
я добавив, але щось не те показує, залишок зовсім не такий як показує в заданому звіті
Цитата: Petryk від Лютий 03, 2014, 13:03:49
я добавив, але щось не те показує, залишок зовсім не такий як показує в заданому звіті
Остаток показывается не из отчета, а из справочника, как и писали в письме:
Цитата: admin від Січень 31, 2014, 17:17:33
Текущий остаток, тот что в справочнике товаров.
Цитата: admin від Лютий 03, 2014, 14:05:40
Цитата: Petryk від Лютий 03, 2014, 13:03:49
я добавив, але щось не те показує, залишок зовсім не такий як показує в заданому звіті
Остаток показывается не из отчета, а из справочника, как и писали в письме:
Цитата: admin від Січень 31, 2014, 17:17:33
Текущий остаток, тот что в справочнике товаров.
все правильно в довіднику товарів к-сть зовсім не така як тягне в звіті!!!!
tm.is_usluga = 0 AND
tm.tovar_id = tn.num AND
tz.sklad_id = #склад_№# AND
tn.num = tz.tovar_id AND
tn.tip = gr.num AND
tm.mdate >= '#дата_с#' AND
tm.mdate <= '#дата_по#
Цитата: admin від Лютий 03, 2014, 15:21:36
tm.is_usluga = 0 AND
tm.tovar_id = tn.num AND
tz.sklad_id = #склад_№# AND
tn.num = tz.tovar_id AND
tn.tip = gr.num AND
tm.mdate >= '#дата_с#' AND
tm.mdate <= '#дата_по#
Дякую все запрацювало