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

Отчёт о Новых поступлениях

Автор YuzhnyCD, Березень 29, 2012, 12:36:15

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

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

YuzhnyCD

Всем привет!
Часто возникает потребность вылаживать Новые поступления в новостях на сайт.
Но т.к. они приходят от болле чем 5-ти поставщиков, очень неудобна экспортировать каждую накладную и вылаживать.

Можно ли создать отчёт о последних поступлениях товара(в течение например прошедших двух дней), желательно с группировкой по группам?

vasos

#1
Если Вы имеете в виду товары из ПН за два последних дня в разрезе товарных групп, то конечно можно)
Таблица с товарами по ПН pnakl_, с ПН pnakl, товары и привязка к группе товаров в tovar_name, группы товаров по моему в tip.

YuzhnyCD

Цитата: vasos від Березень 30, 2012, 11:51:27
Если Вы имеете в виду товары из ПН за два последних дня в разрезе товарных групп, то конечно можно)
Таблица с товарами по ПН pnakl_, с ПН pnakl, товары и привязка к группе товаров в tovar_name, группы товаров по моему в tip.

понял что вы говорите что можно, но КАК не понял, подробнее можно ?

TheOK

#3
Вот запрос
select
 distinct  p_.*,gr.num,gr.Group_name
from
   pnakl p left join pnakl_ p_ on (p.num=p_.pid)
   left join tovar_name tn on (p_.tovar_id=tn.num)
   left join print_view_sklad_all('#активная_фирма_№#') gr on (tn.tip=gr.num)
where
   p.date_dok>='#дата#' and
   p_.tovar_id not in
       (select distinct Lp_.tovar_id  from pnakl Lp left join pnakl_ Lp_ on (Lp.num=Lp_.pid) where p.date_dok<'#дата#')
order by gr.group_name,tn.name

Если не нужна иерархия групп, измените print_view_sklad_all('#активная_фирма_№#') на tip (как и говорил vasos)
Запрос изменен (добавлена строка '#активная_фирма_№#' вместо 464)
Работа в УкрСклад(особенности и советы): [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]

YuzhnyCD

Цитата: TheOK від Березень 30, 2012, 14:41:34
Вот запрос
select
  distinct  p_.*,gr.num,gr.Group_name
from
    pnakl p left join pnakl_ p_ on (p.num=p_.pid)
    left join tovar_name tn on (p_.tovar_id=tn.num)
    left join print_view_sklad_all(464) gr on (tn.tip=gr.num)
where
    p.date_dok>='#дата#' and
    p_.tovar_id not in
        (select distinct Lp_.tovar_id  from pnakl Lp left join pnakl_ Lp_ on (Lp.num=Lp_.pid) where p.date_dok<'#дата#')
order by gr.group_name,tn.name

SQL выдаёт ошибку, прикрепил скрин

TheOK

#5
Запрос изменил в предыдущем посте (выводил для id своей фирмы)
Запрос вставляйте в отчет. В sql менеджере не пойдет, т.к. используются переменные, которые обрабатывает УкрСклад (в Sql менеджер он этого не делает)
Работа в УкрСклад(особенности и советы): [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]

YuzhnyCD

#6
код вводить в отчёте пользователя, так ?
а где взять ID своей фирмы ?

TheOK

#7
Цитата: YuzhnyCD від Березень 30, 2012, 15:11:22
всё равно не хочет, таже ошибка
Запрос вставляете в отчет, а не в sql менеджер?
У меня все работает
Не забудьте выставить дату (не период дат, а именно дату)
Для запроса с использованием только названия групп, а не иерархии, можно будет выводить для всех фирм, а не только активной.
Только следует обратить внимание, что работает корректно только там, где одна фирма, или общие склады иначе будет выводить "лишние" данные. Если будет необходимость подкорректирую... если нет, пусть так валяется)
Работа в УкрСклад(особенности и советы): [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]

YuzhnyCD

Цитата: TheOK від Березень 30, 2012, 15:15:17
Цитата: YuzhnyCD від Березень 30, 2012, 15:11:22
всё равно не хочет, таже ошибка
Запрос вставляете в отчет, а не в sql менеджер?
У меня все работает
Не забудьте выставить дату (не период дат, а именно дату)

где взять ID фирмы ?

TheOK

Цитата: YuzhnyCD від Березень 30, 2012, 15:16:55
где взять ID фирмы ?
В данном запросе он вам не нужен. Попробуйте. У вас одна фирма или несколько на одной базе данных?
Работа в УкрСклад(особенности и советы): [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]

YuzhnyCD

#10
Цитата: TheOK від Березень 30, 2012, 15:19:12
Цитата: YuzhnyCD від Березень 30, 2012, 15:16:55
где взять ID фирмы ?
В данном запросе он вам не нужен. Попробуйте. У вас одна фирма или несколько на одной базе данных?
ругается что не найден файл печатной формы

TheOK

Это хорошо, что ругается. Значит сделали почти все правильно.
Теперь, сделайте следующим образом.
1) Возьмите любой работающий отчет (на который есть печатная форма)
2) Переименовываете на нужное, и жмете Сохранить как новый
3) Закрываете.
4) Открываете вновь созданный отчет.
5) вставляете туда запрос
6) Запускаете (он будет ругаться)
7) Редактируете шаблон
8 ) наслаждаетесь результатом
Работа в УкрСклад(особенности и советы): [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]

admin

Можно воспользоваться мастером построения шаблона, если плохо разбираетесь. Если просто нажать Редактировать отчет, программа создаст файл шаблона, после заходите в меню Файл : Новый : Мастер стандартного отчета

YuzhnyCD

TheOк, аdmin
Спасибо! Завтра буду пробовать.
В sql и в построении отчётов я пока полный ламер

TheOK

#14
Вот новый отчет.
Работать должен быстрее первого (чем данных за выбранный период, тем шустрее). Выводит данные о товаре не только из расходной накадной, а еще из справочника товаров по всем фирмам БД. Группы товаров выводятся не в виде иерархии, а просто название группы.
(можно еще ограничить для конкретной фирмы.. но это , если будет нужно).
select
 distinct tip.name as group_name, tn.*
from
   pnakl p left join pnakl_ p_ on (p.num=p_.pid)
   left join tovar_name tn on (p_.tovar_id=tn.num)
   left join tip on (tn.tip=tip.num)
where
   p.date_dok>='#дата#' and
   p_.tovar_id not in
       (select distinct Lp_.tovar_id  from pnakl Lp left join pnakl_ Lp_ on (Lp.num=Lp_.pid) where p.date_dok<'#дата#')
order by
   tip.name,tn.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]