Может кто подскажет как правильно добавить в SQL запрос строки, которые бы выводили в отчете "Реализация товара" дополнительную колонку "Остатки"? Это нужно для того, чтобы было удобнее составлять заказ поставщику на основе данных о реализации товара за выбранный период.
Цитата: victorpolo від Березень 05, 2015, 10:57:39
Используйте переменную [Товар.КолвоНаСкладе] в дизайнере
Добавил переменную в дизайнере. Но, видимо, кроме этого, надо еще в запросе указать как-то эту переменную. Потому что в отчете не отображается "остаток на складе" после добавления переменной только в дизайнере.
Цитата: victorpolo від Березень 05, 2015, 10:57:39
Используйте переменную [Товар.КолвоНаСкладе] в дизайнере
Эта переменная только для документов.
Как делать отчет на основе другого?
1. Заходим в меню "Отчеты" и открываем нужный нам отчет.
2. Потом нажимаем на кнопку "В режим редактирования", и раскрываем
окно на максимум (так будет удобней)
3. В открывшемся окне в полях "Название по-украински" и "Название
по-русски", меняем или дописываем название для будущего отчета.
4. Далее меняем или правим в окне SQL запрос текст SQL запроса к базе
данных.
5. Если надо включаем в "Выбор нужных параметров для отчета" галочки
что надо выбирать перед формированием отчета, а что нет.
6. Нажимаем кнопку "Сохранить как новый", и закрываем окно.
7. Далее заходим обратно в меню Отчеты : Отчеты пользователей и ищем
имя отчета которое вы задали в п.3 Открываем его и запускаем, если
надо правим печатную форму.
в п.4 меняем SQL текст на:
SELECT
sw.group_name,
tm.tovar_id,
tn.kod,
tn.name,
tn.ed_izm,
tn.cena,
tn.cena_r,
tn.cena_o,
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_move tm,
tovar_zal tz,
vnakl vn,
print_view_sklad(#товар_группа_№#,#склад_№#) sw,
tovar_name tn
WHERE
tz.sklad_id = #склад_№# AND
tz.tovar_id = tn.num AND
tm.doc_type_id = 1 AND
tm.doc_id = vn.num AND
#if #пользователь_№# = -1 #then
#else
vn.doc_user_id = #пользователь_№# AND
#endif
tm.mdate >= '#дата_с#' AND
tm.mdate <= '#дата_по#' AND
sw.num = tn.tip AND
tm.tovar_id = tn.num AND
tm.from_sklad_id = #склад_№#
GROUP BY
1,2,3,4,5,6,7,8,9
HAVING
SUM(tm.from_kolvo) > 0
ORDER BY
sw.group_name
в дизайнере используем переменную [DataRep."KOLVO"].
Отчет показывает
текущий остаток (тот что в справочнике товаров), не на дату.
Цитата: admin від Березень 05, 2015, 12:25:56
Цитата: victorpolo від Березень 05, 2015, 10:57:39
Используйте переменную [Товар.КолвоНаСкладе] в дизайнере
Эта переменная только для документов.
Как делать отчет на основе другого?
1. Заходим в меню "Отчеты" и открываем нужный нам отчет.
2. Потом нажимаем на кнопку "В режим редактирования", и раскрываем
окно на максимум (так будет удобней)
3. В открывшемся окне в полях "Название по-украински" и "Название
по-русски", меняем или дописываем название для будущего отчета.
4. Далее меняем или правим в окне SQL запрос текст SQL запроса к базе
данных.
5. Если надо включаем в "Выбор нужных параметров для отчета" галочки
что надо выбирать перед формированием отчета, а что нет.
6. Нажимаем кнопку "Сохранить как новый", и закрываем окно.
7. Далее заходим обратно в меню Отчеты : Отчеты пользователей и ищем
имя отчета которое вы задали в п.3 Открываем его и запускаем, если
надо правим печатную форму.
в п.4 меняем SQL текст на:
SELECT
sw.group_name,
tm.tovar_id,
tn.kod,
tn.name,
tn.ed_izm,
tn.cena,
tn.cena_r,
tn.cena_o,
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_move tm,
tovar_zal tz,
vnakl vn,
print_view_sklad(#товар_группа_№#,#склад_№#) sw,
tovar_name tn
WHERE
tz.sklad_id = #склад_№# AND
tz.tovar_id = tn.num AND
tm.doc_type_id = 1 AND
tm.doc_id = vn.num AND
#if #пользователь_№# = -1 #then
#else
vn.doc_user_id = #пользователь_№# AND
#endif
tm.mdate >= '#дата_с#' AND
tm.mdate <= '#дата_по#' AND
sw.num = tn.tip AND
tm.tovar_id = tn.num AND
tm.from_sklad_id = #склад_№#
GROUP BY
1,2,3,4,5,6,7,8,9
HAVING
SUM(tm.from_kolvo) > 0
ORDER BY
sw.group_name
в дизайнере используем переменную [DataRep."KOLVO"].
Отчет показывает текущий остаток (тот что в справочнике товаров), не на дату.
Все сделал. Все работает как я и хотел. Спасибо большое. Теперь заказ будет составлять значительно проще. А чуть позже я наваяю ТЗ для полноценного отчета "Заказ постащику". Еще раз благодарю!
Подскажите как правильно в этот запрос еще добавить строки, чтобы можно было видеть производителя. Много похожих товаров с разными производителями.