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

Пользовательский отчёт

Автор odessit, Лютий 20, 2012, 13:16:31

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

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

odessit

Здравствуйте.
Писал Вам на почту, не отвечаете, поэтому пишу сюда.

Возможно   ли   создание   отчёта,   при   котором   выбор   склада  не
осуществляется (т.е.  берётся  по  всем  складам),  а  выбирается только
подгруппа  товара.  На  данный  момент  выбирает  подгруппу  товара на
каком-то конкретном складе, а мне нужно по всем.

vasos

Цитата: odessit від Лютий 20, 2012, 13:16:31
Здравствуйте.
Писал Вам на почту, не отвечаете, поэтому пишу сюда.
Кого Вы имеете в виду?
Если разработчиков то:
Цитата1.3. Форум не предназначен для вопросов, адресованных разработчикам. Чтобы связаться с разработчиками, обратитесь пожалуйста в техподдержку СофтБаланс: на email support@softbalance.com.ua.
Так что немного не по адресу =)
Цитата: odessit від Лютий 20, 2012, 13:16:31
Возможно   ли   создание   отчёта,   при   котором   выбор   склада  не
осуществляется (т.е.  берётся  по  всем  складам),  а  выбирается только
подгруппа  товара.  На  данный  момент  выбирает  подгруппу  товара на
каком-то конкретном складе, а мне нужно по всем.
Кончено, возможно. Система построения отчетов в УкрСклад позволяет организовать/анализировать накопленные в базе данных практически любым способом. Изощренность отчета ограничена, практически, лишь богатством воображения и знаниями того, кто его разрабатывает.
Какой именно отчет Вы рассматриваете?

odessit

Цитата: vasos від Лютий 21, 2012, 11:10:30
Кончено, возможно. Система построения отчетов в УкрСклад позволяет организовать/анализировать накопленные в базе данных практически любым способом. Изощренность отчета ограничена, практически, лишь богатством воображения и знаниями того, кто его разрабатывает.
Какой именно отчет Вы рассматриваете?

Нужен отчёт (для экспорта в цсв и потом импорта в интернет магазин) который выводит четыре колонки - название, наличие, цена розн., дополнительно. Я себе такой переделал(из существующих), но только с запросом по складу, а теперь нужна выборка по подгруппе со всех складов.
"Остатки по всем складам" не подходит там выводит абсолютно всё, а мне нужна одна подгруппа товара.
Как выглядит реально - товар А есть на одном складе товара В нет, товар В есть на втором товара А нет. В интернет магазине должен прийти цсв в котором товар А и В есть.

admin

Цитата: odessit від Лютий 23, 2012, 11:05:46
"Остатки по всем складам" не подходит там выводит абсолютно всё, а мне нужна одна подгруппа товара.
Как выглядит реально - товар А есть на одном складе товара В нет, товар В есть на втором товара А нет. В интернет магазине должен прийти цсв в котором товар А и В есть.

Это перенаправленное письмо:
От: Дмитрий Котельников <info@ukrsklad.com>
Кому: copybrandopt
Тема: пользовательский отчёт

===8<==============Оригинал текста письма===============
Приветствую Вас,

23.02.2012 в 10:52, Вы писали:

c>>> Возможно ли из "Остатки по всем складам" сделать выборку по конкретной
c>>> подгрупе.

>> У нас такого отчета нет, но если вы знаете SQL язык то можно сделать
>> любой отчет.

c> Я не знаю sql язык. Вы можете написать такой отчёт? Если да, то сколько
c> это будет стоить?

Мы не пишем отчеты за оплату.

Как делать отчет на основе другого?
1. Заходим в меню "Отчеты" и открываем нужный нам отчет.
2. Потом нажимаем на кнопку "В режим редактирования", и раскрываем
окно на максимум (так будет удобней)
3. В открывшемся окне в полях "Название по-украински" и "Название
по-русски", меняем или дописываем название для будущего отчета.
4. Далее меняем или правим в окне SQL запрос текст SQL запроса к базе
данных.
5. Если надо включаем в "Выбор нужных параметров для отчета" галочки
что надо выбирать перед формированием отчета, а что нет.
6. Нажимаем кнопку "Сохранить как новый", и закрываем окно.
7. Далее заходим обратно в меню Отчеты : Отчеты пользователей и ищем
имя отчета которое вы задали в п.3 Открываем его и запускаем, если
надо правим печатную форму.

п п.1 выбираем "Остатки по всем складам"

в п.4 меняем

  t.tip = gr.num AND

на

  t.tip = gr.num AND
  t.tip = #товар_группа_№# AND

в п.5 включите "Группа товара..."

С уважением, Дмитрий Котельников
  Разработчик программы Склад Украина.
===8<===========Окончание оригинала теста письма========

semp

Нам такой отчет тоже нужен был, все подпавил и все работает. Спасибо admin.
В догонку еще один вопрос - а можно ли в отчете "Остатки по всем складам" исключить нулевые остатки, подскажите кто знает!

TheOK

Если товар вылетел в отчете остатки, значит его кол-во не равно 0.
Ситуация описывалась http://www.softbalance.com.ua/forum/index.php?topic=2036.msg11452#msg11452
Работа в УкрСклад(особенности и советы): [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]

semp

Спасибо, я просмотрел эту ссылку, но у меня ведь нет дробных количеств. Просто довольно часто бывает пришло на один склад, а ушло с другого, а в отчете "По всем складам" получается 0. Вот эти нули (т.е. товары) мне и нужно не показывать в отчете "Остатки по всем складам"

TheOK

#7
Исправить можно, изменив отчет остатки по всем складам.
Для этого необходимо добавить в запрос строку :
and (s.z_kolvo >X or s.z_kolvo <-X)
, где X - число <1 (например 0.00001)
В таком случае ваш запрос будет иметь вид (Советую не изменять стандартный отчет, а создать новый на основе отчета Залишки по всім складам изменив лишь SQL запрос.):



SELECT
 gr.group_name,
 t.name,  
 s.num,  
 t.kod,
 CASE
 WHEN (c.how_to_calc = 1) THEN t.#цена_тип_поле#/c.kurs
 WHEN (c.how_to_calc = 0) THEN t.#цена_тип_поле#*c.kurs
 END AS cena,  
 t.ed_izm,  
 gr.num,
 SUM(s.z_kolvo) AS z_kolvo,
 SUM(((t.#цена_тип_поле#*s.z_kolvo)/#валюта_курс#)) AS z_suma
FROM
 view_sklad_zal_all('#дата#') s,
 tovar_name t  
     LEFT JOIN currency c ON t.#цена_тип_поле_пр#_curr_id = c.num,
 print_view_sklad_all(#активная_фирма_№#) gr
WHERE  
 s.num = t.num AND  
 t.tip = gr.num AND
 s.sklad_num = gr.sklad_id AND
 s.sklad_num > 0 AND
 t.visible = 1
 and (s.z_kolvo >0.00001 or s.z_kolvo <-0.00001)
GROUP BY
 1,2,3,4,5,6,7
ORDER BY  
 gr.group_name,
 t.name


Справка: Некоторые отчеты могут выводить данные не по всему товару, т.к. из за особенностей программы может "пропадать" товар (а вернее группы товаров) на складе (детали на форуме http://www.softbalance.com.ua/forum/index.php?topic=1947.msg10708#msg10708 ).
В последних версиях введена дополнительно кнопка, которая "засвечивает" эти группы товара (Параметры->Справочники_1->Проверка групп товаров). Если у вас 1 склад, скорее всего у вас такой проблемы не появится.
Если, вдруг, у вас есть товар, который не "высвечивается", после нажатия вышеуказанной кнопочки, учтите, что данные по отчетам за предыдущие периоды могут перестать совпадать с теми которые вы делали до этой операции.
Работа в УкрСклад(особенности и советы): [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]

semp

Спасибо, за быстрый ответ. Сдвиги, конечно, появились; но с помощью этой строки исключились только те нулевые остатки, где приход и расход прошел по одному складу; эти нулевые остатки исчезли в отчете; а там где приход на один склад, а расход с другого - в итоге по всем складам 0, ситуация не разрешилась

TheOK

Вот вам новый запрос для вашего случая, тестируйте.
SELECT
  gr.group_name,
  t.name
  s.num,   
  t.kod,
  CASE
  WHEN (c.how_to_calc = 1) THEN t.#цена_тип_поле#/c.kurs
  WHEN (c.how_to_calc = 0) THEN t.#цена_тип_поле#*c.kurs
  END AS cena,   
  t.ed_izm,   
  gr.num,
  SUM(s.z_kolvo) AS z_kolvo,
  SUM(((t.#цена_тип_поле#*s.z_kolvo)/#валюта_курс#)) AS z_suma
FROM
  view_sklad_zal_all('#дата#') s,
  tovar_name t   
      LEFT JOIN currency c ON t.#цена_тип_поле_пр#_curr_id = c.num,
  print_view_sklad_all(#активная_фирма_№#) gr
WHERE   
  s.num = t.num AND   
  t.tip = gr.num AND
  s.sklad_num = gr.sklad_id AND
  s.sklad_num > 0 AND
  t.visible = 1
GROUP BY
  1,2,3,4,5,6,7
having
SUM(s.z_kolvo) >0.00001 or SUM(s.z_kolvo) <-0.00001
ORDER BY   
  gr.group_name,
  t.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]

odessit

Цитата: admin від Лютий 24, 2012, 12:21:04
Цитата: odessit від Лютий 23, 2012, 11:05:46
"Остатки по всем складам" не подходит там выводит абсолютно всё, а мне нужна одна подгруппа товара.
Как выглядит реально - товар А есть на одном складе товара В нет, товар В есть на втором товара А нет. В интернет магазине должен прийти цсв в котором товар А и В есть.

Это перенаправленное письмо:
От: Дмитрий Котельников <info@ukrsklad.com>
Кому: copybrandopt
Тема: пользовательский отчёт

===8<==============Оригинал текста письма===============
Приветствую Вас,

23.02.2012 в 10:52, Вы писали:

c>>> Возможно ли из "Остатки по всем складам" сделать выборку по конкретной
c>>> подгрупе.

>> У нас такого отчета нет, но если вы знаете SQL язык то можно сделать
>> любой отчет.

c> Я не знаю sql язык. Вы можете написать такой отчёт? Если да, то сколько
c> это будет стоить?

Мы не пишем отчеты за оплату.

Как делать отчет на основе другого?
1. Заходим в меню "Отчеты" и открываем нужный нам отчет.
2. Потом нажимаем на кнопку "В режим редактирования", и раскрываем
окно на максимум (так будет удобней)
3. В открывшемся окне в полях "Название по-украински" и "Название
по-русски", меняем или дописываем название для будущего отчета.
4. Далее меняем или правим в окне SQL запрос текст SQL запроса к базе
данных.
5. Если надо включаем в "Выбор нужных параметров для отчета" галочки
что надо выбирать перед формированием отчета, а что нет.
6. Нажимаем кнопку "Сохранить как новый", и закрываем окно.
7. Далее заходим обратно в меню Отчеты : Отчеты пользователей и ищем
имя отчета которое вы задали в п.3 Открываем его и запускаем, если
надо правим печатную форму.

п п.1 выбираем "Остатки по всем складам"

в п.4 меняем

  t.tip = gr.num AND

на

  t.tip = gr.num AND
  t.tip = #товар_группа_№# AND

в п.5 включите "Группа товара..."

С уважением, Дмитрий Котельников
  Разработчик программы Склад Украина.
===8<===========Окончание оригинала теста письма========

получилось, но он выбирает только содержание товара в данной подгруппе, а нужно все товары включая подгруппы 2,3 и далее уровней. 

odessit

не уверен что понятно объяснил.
есть группа 1,2,3
в подгруппе 2 есть подгруппа а,б,в и товар без подгруппы - гвозди,мыло, шарики
так вот если выбрать по группе 2, то он выведет только гвозди,мыло, шарики, а содержание а,б,в не выводит

semp

Цитата: TheOK від Лютий 25, 2012, 13:03:22
Вот вам новый запрос для вашего случая, тестируйте.

Огромедное спасибо! Буду тестировать, но на первый взгляд как раз то, что нужно.

LubishkinaIrina

"есть группа 1,2,3
в подгруппе 2 есть подгруппа а,б,в и товар без подгруппы - гвозди,мыло, шарики
так вот если выбрать по группе 2, то он выведет только гвозди,мыло, шарики, а содержание а,б,в не выводит" - не виден ответ на этот вопрос. Можно ли повторить запрос на такой случай

admin

Цитата: LubishkinaIrina від Липень 07, 2021, 16:15:17
"есть группа 1,2,3
в подгруппе 2 есть подгруппа а,б,в и товар без подгруппы - гвозди,мыло, шарики
так вот если выбрать по группе 2, то он выведет только гвозди,мыло, шарики, а содержание а,б,в не выводит" - не виден ответ на этот вопрос. Можно ли повторить запрос на такой случай

Если с подгруппами, то надо заменить:
t.tip = #товар_группа_№#
на
t.tip  IN (SELECT sg.num FROM get_tovar_subgroups(#товар_группа_№#,0) sg)