Всем привет!
Часто возникает потребность вылаживать Новые поступления в новостях на сайт.
Но т.к. они приходят от болле чем 5-ти поставщиков, очень неудобна экспортировать каждую накладную и вылаживать.
Можно ли создать отчёт о последних поступлениях товара(в течение например прошедших двух дней), желательно с группировкой по группам?
Если Вы имеете в виду товары из ПН за два последних дня в разрезе товарных групп, то конечно можно)
Таблица с товарами по ПН pnakl_, с ПН pnakl, товары и привязка к группе товаров в tovar_name, группы товаров по моему в tip.
Цитата: vasos від Березень 30, 2012, 11:51:27
Если Вы имеете в виду товары из ПН за два последних дня в разрезе товарных групп, то конечно можно)
Таблица с товарами по ПН pnakl_, с ПН pnakl, товары и привязка к группе товаров в tovar_name, группы товаров по моему в tip.
понял что вы говорите что можно, но КАК не понял, подробнее можно ?
Вот запрос
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)
Цитата: 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 выдаёт ошибку, прикрепил скрин
Запрос изменил в предыдущем посте (выводил для id своей фирмы)
Запрос вставляйте в отчет. В sql менеджере не пойдет, т.к. используются переменные, которые обрабатывает УкрСклад (в Sql менеджер он этого не делает)
код вводить в отчёте пользователя, так ?
а где взять ID своей фирмы ?
Цитата: YuzhnyCD від Березень 30, 2012, 15:11:22
всё равно не хочет, таже ошибка
Запрос вставляете в отчет, а не в sql менеджер?
У меня все работает
Не забудьте выставить дату (не период дат, а именно дату)
Для запроса с использованием только названия групп, а не иерархии, можно будет выводить для всех фирм, а не только активной.
Только следует обратить внимание, что работает корректно только там, где одна фирма, или общие склады иначе будет выводить "лишние" данные. Если будет необходимость подкорректирую... если нет, пусть так валяется)
Цитата: TheOK від Березень 30, 2012, 15:15:17
Цитата: YuzhnyCD від Березень 30, 2012, 15:11:22
всё равно не хочет, таже ошибка
Запрос вставляете в отчет, а не в sql менеджер?
У меня все работает
Не забудьте выставить дату (не период дат, а именно дату)
где взять ID фирмы ?
Цитата: YuzhnyCD від Березень 30, 2012, 15:16:55
где взять ID фирмы ?
В данном запросе он вам не нужен. Попробуйте. У вас одна фирма или несколько на одной базе данных?
Цитата: TheOK від Березень 30, 2012, 15:19:12
Цитата: YuzhnyCD від Березень 30, 2012, 15:16:55
где взять ID фирмы ?
В данном запросе он вам не нужен. Попробуйте. У вас одна фирма или несколько на одной базе данных?
ругается что не найден файл печатной формы
Это хорошо, что ругается. Значит сделали почти все правильно.
Теперь, сделайте следующим образом.
1) Возьмите любой работающий отчет (на который есть печатная форма)
2) Переименовываете на нужное, и жмете Сохранить как новый
3) Закрываете.
4) Открываете вновь созданный отчет.
5) вставляете туда запрос
6) Запускаете (он будет ругаться)
7) Редактируете шаблон
8 ) наслаждаетесь результатом
Можно воспользоваться мастером построения шаблона, если плохо разбираетесь. Если просто нажать Редактировать отчет, программа создаст файл шаблона, после заходите в меню Файл : Новый : Мастер стандартного отчета
TheOк, аdmin
Спасибо! Завтра буду пробовать.
В sql и в построении отчётов я пока полный ламер
Вот новый отчет.
Работать должен быстрее первого (чем данных за выбранный период, тем шустрее). Выводит данные о товаре не только из расходной накадной, а еще из справочника товаров по всем фирмам БД. Группы товаров выводятся не в виде иерархии, а просто название группы.
(можно еще ограничить для конкретной фирмы.. но это , если будет нужно).
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
Так же прилагаю вам шаблон, который вы можете использовать как "заготовку". Сразу говорю, он очень-преочень сырой. Не ставил цель сделать его хорошим. Просто структурку набросал.
Переименуйте его (если, конечно ваш шаблон еще не готов) и разместите в базе под тем именем файла, на который ссылается ваша форма отчета (высвечивается на закладке Редактирование отчета->файл шаблона) в папку для отчетов.
Цитата: TheOK від Березень 31, 2012, 06:27:37
Вот новый отчет.
Работать должен быстрее первого (чем данных за выбранный период, тем шустрее). Выводит данные о товаре не только из расходной накадной, а еще из справочника товаров по всем фирмам БД. Группы товаров выводятся не в виде иерархии, а просто название группы.
(можно еще ограничить для конкретной фирмы.. но это , если будет нужно).
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
Так же прилагаю вам шаблон, который вы можете использовать как "заготовку". Сразу говорю, он очень-преочень сырой. Не ставил цель сделать его хорошим. Просто структурку набросал.
Переименуйте его (если, конечно ваш шаблон еще не готов) и разместите в базе под тем именем файла, на который ссылается ваша форма отчета (высвечивается на закладке Редактирование отчета->файл шаблона) в папку для отчетов.
Бомба! работает, спасибо!