• Ласкаво просимо на Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата.
 

Как вывести отчет с указанием времени?

Автор Kalibr2000, Вересень 19, 2013, 15:28:49

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Kalibr2000

     Доброго дня, добрые люди!

     Подскажите, как можно вывести отчет реализации товара, с указанием даты и времени,

например:   с 1230  19,09,2013  по  20,09,2013     

(может в ручном режиме, с указанием конкретного времени в SQL запросе?)


semp

Цитата: Kalibr2000 від Вересень 19, 2013, 15:28:49
   
(может в ручном режиме, с указанием конкретного времени в SQL запросе?)



Если Вас устраивает вводить время в ручном режиме, то открываете нужный отчет, нажимаете кнопку "В режим редактирования", в "Выбор нужных параметров для отчета" ставите "галочку" "Произвольный текст", затем кнопку "Редактирование шаблона" и в нужном месте добавляете [текст_1] ; сохраняете отчет как новый, изменив его название если нужно и по идее должно работать.

Kalibr2000

     А как сделать выборку для отчета     с  1230  19,09,2013  по  20,09,2013


TheOK

1) Создать новый отчет на основании реализация товара (сохранить как новый).
2) Перейти в него (созданный отчет находится в отчетах пользователей)
3) Нажать кнопку В режим редактирования
4) Поставить "отметку" напротив поля Произвольный текст

5) В поле SQL запрос вставить текст, приведенный ниже

6) Выставить все параметры (включая дату)
7) В появившееся поле (Произвольный текст) вставить выражение:
'19.09.2013 12:30' and '21.09.2013'
8) Запускаете


Отчет без введенного периода (см.П.7) работать не должен (не проверял).
Указанное ограничение времени работает как дополнительный фильтр по дате создания документа. Т.е. вы выбрали все документы ограниченные параметрами отчета (включая дату указанную в поле документа).






SELECT
  sw.group_name,   
  tm.tovar_id, 
  tn.kod,   
  tn.name,   
  tn.ed_izm,   
  tn.cena,   
  tn.cena_r,   
  tn.cena_o,   
  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, 
  vnakl vn,
  print_view_sklad(#товар_группа_№#,#склад_№#) sw,
  tovar_name tn   
WHERE   
  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 = #склад_№# 
  and vn.DOC_CREATE_TIME between #текст_1#
GROUP BY   
  1,2,3,4,5,6,7,8   
HAVING
  SUM(tm.from_kolvo) > 0
ORDER BY   
  sw.group_name
Работа в УкрСклад(особенности и советы): [url="//www.softbalance.com.ua/forum/index.php/topic,2362.0.html"]www.softbalance.com.ua/forum/index.php/topic,2362.0.html[/url]
Некоторые мои отчеты можно найти здесь: [url="http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html"]http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html[/url]

Kalibr2000

     TheOK - СУПЕР ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !

     Может добавить в подписи номер счета - для благодарностей от форумчан?

     Очень помогли, СПАСИБО!

     Я так понял, что   vn.DOC_CREATE_TIME  - название столбца "время создания документа"?

     А какое название столбца "время последнего редактирования" ?

TheOK

Да, вы правы, это столбец со временем создания документа.
Столбец со временем последнего редактирования документа   vn.DOC_MODIFY_TIME

P.S. Рад, что смог помочь, для меня часто это приятнее поступления денег на счет.
Работа в УкрСклад(особенности и советы): [url="//www.softbalance.com.ua/forum/index.php/topic,2362.0.html"]www.softbalance.com.ua/forum/index.php/topic,2362.0.html[/url]
Некоторые мои отчеты можно найти здесь: [url="http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html"]http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html[/url]

Kalibr2000

       Уважаемый TheOK!

  Подскажите, можно ли в Вашем отчете вывести остатки на складе реализованного товара (минимальный остаток я вывел с помощью поля tn.kolvo_min) ?


TheOK

Цитата: Kalibr2000 від Вересень 24, 2013, 16:26:18
       Уважаемый TheOK!

  Подскажите, можно ли в Вашем отчете вывести остатки на складе реализованного товара (минимальный остаток я вывел с помощью поля tn.kolvo_min) ?
Мин остаток вы вывели правильно.

Запрос, расположенный ниже не проверял, сейчас нет возможности.
Будут ошибки, пишите
Не забывайте, что это тот отчет, в котором нужно вводить дату (или дату и время) в поле произвольный текст



SELECT
sw.group_name,
tm.tovar_id,
tn.kod,
tn.name,
tn.ed_izm,
tn.cena,
tn.cena_r,
tn.cena_o,
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  ,
tz.kolvo as sklad_zal
FROM
     tovar_move tm,
vnakl vn,
print_view_sklad(#товар_группа_№#,#склад_№#) sw,
tovar_name tn   
inner join tovar_zal tz on tn.num = tz.tovar_id and tz.sklad_id=#склад_№#
WHERE     
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 = #склад_№#
and vn.DOC_CREATE_TIME between #текст_1#
GROUP BY     
1,2,3,4,5,6,7,8 ,16 
HAVING   
SUM(tm.from_kolvo) > 0
ORDER BY
sw.group_name
Работа в УкрСклад(особенности и советы): [url="//www.softbalance.com.ua/forum/index.php/topic,2362.0.html"]www.softbalance.com.ua/forum/index.php/topic,2362.0.html[/url]
Некоторые мои отчеты можно найти здесь: [url="http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html"]http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html[/url]

Kalibr2000

      Всё работает!

      Уважение и Признательность TheOK!


TheOK

* забыл указать один важный момент.
Остатки на складе в запросе выше указываются текущие (т.е. на момент формирования отчета).
Дома глянул в программе как делаются остатки на складе, вот запрос, аналогичный предыдущему только остатки выводятся на дату = дата_по

Рад, что смог чем-то быть полезным.



SELECT
  sw.group_name,   
  tm.tovar_id, 
  tn.kod,   
  tn.name,   
  tn.ed_izm,   
  tn.cena,   
  tn.cena_r,   
  tn.cena_o,   
  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 ,
  s.z_kolvo  as sklad_zal
FROM   
  tovar_move tm, 
  vnakl vn,
  print_view_sklad(#товар_группа_№#,#склад_№#) sw,
  tovar_name tn ,
  view_sklad_zal(#склад_№#,'#дата_по#') s 
WHERE   
  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 = #склад_№# 
  and vn.DOC_CREATE_TIME between #текст_1#
and   s.num = tn.num
GROUP BY   
  1,2,3,4,5,6,7,8,16
HAVING
  SUM(tm.from_kolvo) > 0
ORDER BY   
  sw.group_name
Работа в УкрСклад(особенности и советы): [url="//www.softbalance.com.ua/forum/index.php/topic,2362.0.html"]www.softbalance.com.ua/forum/index.php/topic,2362.0.html[/url]
Некоторые мои отчеты можно найти здесь: [url="http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html"]http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html[/url]

Kalibr2000

Уважаемый TheOK а можно ли сделать сортировку по количеству продаж (в группах) в Ваших отчетах?


TheOK

Цитата: Kalibr2000 від Жовтень 15, 2013, 19:31:55
Уважаемый TheOK а можно ли сделать сортировку по количеству продаж (в группах) в Ваших отчетах?
Для запроса, который приведен выше, чтобы внутри группы товаров происходила сортировка по кол-ву продаж нужно заменить последние 2 строки запроса на следующие:


ORDER BY   
  sw.group_name,10
Работа в УкрСклад(особенности и советы): [url="//www.softbalance.com.ua/forum/index.php/topic,2362.0.html"]www.softbalance.com.ua/forum/index.php/topic,2362.0.html[/url]
Некоторые мои отчеты можно найти здесь: [url="http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html"]http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html[/url]