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

Наши программы => УкрСклад => Тема розпочата: crazyjonyster від Березень 19, 2012, 03:58:21

Назва: Отчет - Взаиморасчеты с постащикам
Відправлено: crazyjonyster від Березень 19, 2012, 03:58:21
Добрый день!

Сейчас переходим на УкрСклад и в процессе работы возник вопрос как/какой отчет формировать что бы посмотреть задолженность перед поставщиком?
У нас товары поступают под реализацию от ~180 поставщиков. И нужно видеть задолженность перед каждым в отдельности?

Вот пример:
Я оприходовал 100 товаров  по 15 грн от Поставщика№1. Итого на сумму 1500 грн.
Продал 6-ть товаров Поставщика№1 по цене реализации 39 грн, сформировал проводки.
На складе товар снялся и показывает остаток 94 шт.
Но в отчете "Взаиморасчеты с поставщиками" мне показывает:
Поставщик№1, Остаток на начало периода 0, Расход 0, Приход 1500, Остаток на конец периода 1500.

Почему так? Когда должно быть:
Поставщик№1, Остаток на начало периода 0, Расход 90, Приход 1500, Остаток на конец периода 1410.

Может я не тот отчет использую? Тогда какой использовать нужно, что бы увидеть задолженность перед поставщиком, что бы на основе него можно было выписывать РКО и рассчитаться за реализованный товар?
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: admin від Березень 19, 2012, 10:46:33
Вы продали этот товар поставщику? Нет. Взаиморасчеты с поставщиком у вас 1500, а то что вы продали товар клиентам то это же поставщика не касается и этого отчета.
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: vasos від Березень 20, 2012, 14:38:06
Комментарий ошибочен, невнимательно прочитал первое сообщение ТС.
Цитата: crazyjonyster від Березень 19, 2012, 03:58:21
...
Может я не тот отчет использую?
...

Не тот =) Отчет взаиморасчеты с поставщиками не учитывает расходные накладные, т.к. Вы не можете (так устроена программа, лично мне эта особенность кажется странной) продать товар поставщику... Короче говоря программа делит взаиморасчеты с клиентом и поставщиком, не смотря на то что это один и тот же контрагент, но делит, на сколько я понимаю, только документы ПН, РН, ВоК, ВП, а вот кассовые ордера по идее будут все "в куче", по этому, если Вы ведете взаиморасчеты с поставщиком взаимозачетом РН и ПН, то Вам нужно смотреть отчет "Взаиморасчеты с контрагентами (поставщики и клиенты)", он Вам должен показать правильную цифру, либо использовать не РН а ВП, чтобы отпускать товар поставщику, правда оно как-то не то... ведь товар то продали, а не вернули поставщику его же товар...
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: crazyjonyster від Березень 20, 2012, 18:14:27
Цитата: admin від Березень 19, 2012, 10:46:33
Вы продали этот товар поставщику? Нет. Взаиморасчеты с поставщиком у вас 1500, а то что вы продали товар клиентам то это же поставщика не касается и этого отчета.

Ну допустим логично, но вот тогда как мне вычислить сколько денег за товар я должен поставщику отдать, На примере выше: отчет должен был бы сказать что я должен 90 грн Поставщику№1 за такие-то товары...

Какой отчет использовать?
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: crazyjonyster від Березень 20, 2012, 18:17:19
Цитата: vasos від Березень 20, 2012, 14:38:06
Цитата: crazyjonyster від Березень 19, 2012, 03:58:21
...
Может я не тот отчет использую?
...
Не тот =) Отчет взаиморасчеты с поставщиками не учитывает расходные накладные, т.к. Вы не можете (так устроена программа, лично мне эта особенность кажется странной) продать товар поставщику... Короче говоря программа делит взаиморасчеты с клиентом и поставщиком, не смотря на то что это один и тот же контрагент, но делит, на сколько я понимаю, только документы ПН, РН, ВоК, ВП, а вот кассовые ордера по идее будут все "в куче", по этому, если Вы ведете взаиморасчеты с поставщиком взаимозачетом РН и ПН, то Вам нужно смотреть отчет "Взаиморасчеты с контрагентами (поставщики и клиенты)", он Вам должен показать правильную цифру, либо использовать не РН а ВП, чтобы отпускать товар поставщику, правда оно как-то не то... ведь товар то продали, а не вернули поставщику его же товар...

Взаиморасчеты с контрагентами (поставщики и клиенты) - не показывает нужной информации ((
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: Павло від Березень 20, 2012, 21:06:37
Цитата: crazyjonyster від Березень 19, 2012, 03:58:21
Почему так? Когда должно быть:
Поставщик№1, Остаток на начало периода 0, Расход 90, Приход 1500, Остаток на конец периода 1410.

А чому борг повинен бути 1410 грн? Ви ж 90 грн не повернули постачальнику, вони у вас в касі. Віддайте постачальнику 90 грн видатковим касовим, тоді і буде борг 1410.

Покористуйтесь програмою на різних прикладах, щоб її вивчити.
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: crazyjonyster від Березень 20, 2012, 22:37:29
Цитата: Павло від Березень 20, 2012, 21:06:37
Цитата: crazyjonyster від Березень 19, 2012, 03:58:21
Почему так? Когда должно быть:
Поставщик№1, Остаток на начало периода 0, Расход 90, Приход 1500, Остаток на конец периода 1410.

А чому борг повинен бути 1410 грн? Ви ж 90 грн не повернули постачальнику, вони у вас в касі. Віддайте постачальнику 90 грн видатковим касовим, тоді і буде борг 1410.

Покористуйтесь програмою на різних прикладах, щоб її вивчити.

Ну так мне ж нужно из какого-то отчета узнать сколько я должен поставщику! или вы предлагаете все чеки пересматривать и вручную это считать?

Вообщем поизучав форум нашел вот эту тему http://www.softbalance.com.ua/forum/index.php?topic=2205.0 (http://www.softbalance.com.ua/forum/index.php?topic=2205.0)

Она решает мою проблему частично. В этом отчете отображаются розничные цены: вот если бы отчет выдавал закупочные цены, то моя проблема была бы решена!

Кто подскажет что нужно менять в коде что бы в отчете получить закупочные цены, а не розничные?

Вот код отчета:

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,
  tovar_zal tz
WHERE 
  tm.doc_type_id = 1 AND 
  tm.doc_id = vn.num AND
  tz.sklad_id = #склад_№# AND
  tn.num = tz.tovar_id AND
  tz.last_post_id = #поставщик_№# 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   
HAVING
  SUM(tm.from_kolvo) > 0
ORDER BY   
  sw.group_name
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Березень 20, 2012, 23:01:52
Цитата: crazyjonyster від Березень 20, 2012, 18:14:27

Какой отчет использовать?
Мы используем отчет РЕАЛИЗАЦИЯ
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: crazyjonyster від Березень 20, 2012, 23:06:42
Цитата: DILEMMA від Березень 20, 2012, 23:01:52
Цитата: crazyjonyster від Березень 20, 2012, 18:14:27

Какой отчет использовать?
Мы используем отчет РЕАЛИЗАЦИЯ

В моем случае не прокатит! У нас Есть склад магазина, он поделен на категории: бижутерия, билеты, одежда и т.д.
В отчете реализация показывается просто вся реализованная продукция за период без деления на поставщиков. А их у нас более 180... представляете как в конце месяца 10 000 - 20 000 позиций рассортировать на 180 поставщиков вручную?
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: crazyjonyster від Березень 20, 2012, 23:08:01
В идеале мне нужно только подправить код который я постил выше. Но увы я не знаю как там розничную цену поменять на закупочную ((
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: admin від Березень 21, 2012, 09:04:28
Цитата: crazyjonyster від Березень 20, 2012, 23:08:01
В идеале мне нужно только подправить код который я постил выше. Но увы я не знаю как там розничную цену поменять на закупочную ((

А что там менять? cena это приходная цена, cena_r это расходная цена, cena_o это оптовая. И все они есть в скрипте, а значит и доступны в дизайнере как переменные.
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: crazyjonyster від Березень 21, 2012, 13:32:24
Цитата: admin від Березень 21, 2012, 09:04:28
Цитата: crazyjonyster від Березень 20, 2012, 23:08:01
В идеале мне нужно только подправить код который я постил выше. Но увы я не знаю как там розничную цену поменять на закупочную ((

А что там менять? cena это приходная цена, cena_r это расходная цена, cena_o это оптовая. И все они есть в скрипте, а значит и доступны в дизайнере как переменные.

Понял, тогда буду править шаблон в дизайнере.
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Березень 21, 2012, 21:26:42
Цитата: crazyjonyster від Березень 20, 2012, 23:06:42

В отчете реализация показывается просто вся реализованная продукция за период без деления на поставщиков. А их у нас более 180... представляете как в конце месяца 10 000 - 20 000 позиций рассортировать на 180 поставщиков вручную?
представляю, мы для этого сразу заводили поставщика как СКЛАД, это надо было делать с самого начала, теперь конечно вы в пролете.
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: crazyjonyster від Березень 22, 2012, 18:58:37
Цитата: DILEMMA від Березень 21, 2012, 21:26:42
Цитата: crazyjonyster від Березень 20, 2012, 23:06:42

В отчете реализация показывается просто вся реализованная продукция за период без деления на поставщиков. А их у нас более 180... представляете как в конце месяца 10 000 - 20 000 позиций рассортировать на 180 поставщиков вручную?
представляю, мы для этого сразу заводили поставщика как СКЛАД, это надо было делать с самого начала, теперь конечно вы в пролете.

Та не в пролете. Переместить не сложно, но это ИМХО не правильно. Тем более что все разрулилось при помощи отчетов.
А не правильно потому, что у нас и так несколько складов. Основной + еще пару точек реализации и товары поставщиков могут продаваться на всех точках или только на некоторых...
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Березень 22, 2012, 22:50:03
Цитата: crazyjonyster від Березень 22, 2012, 18:58:37

А не правильно потому, что у нас и так несколько складов. Основной + еще пару точек реализации и товары поставщиков могут продаваться на всех точках или только на некоторых...
Так в чем проблема, на пару точек от склада поставщика делаете перемещение и все.
Назва: Re:Отчет - Взаиморасчеты с постащикам
Відправлено: TheOK від Березень 23, 2012, 00:13:43
Если есть возможность вывести необходимые данные при помощи отчета, не усложняя значительно структуру складов и групп, думаю, это лучший вариант.
К счастью, в данном случае, судя из комментария crazyjonyster, это именно такой случай)
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Лютий 05, 2013, 13:06:29
Прошу помощи у TheOK и semp, какой надо вставить скрипт, что бы получился новый отчет Взаиморасчеты с постащикам в котором после поля ФИО поставщика в моем случае отображался расчетный счет данного поставщика?
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: TheOK від Лютий 06, 2013, 00:29:39
Если вы не изменяли изначальный SQL-запрос отчета Взаиморасчеты с поставщиками (Взаєморозрахунки з постачальниками), то вам необходимо заменить SQL запрос на приведенный ниже (конечно же,это делается в созданном новом, пользовательском отчете, через кнопку Сохранить как новый).
Для добавления в текстовое поле использовать конструкцию: [DataRep."ROZR_R"]
P.S. На форуме минимум 5 человек (не считая разработчиков), которые, как я заметил, обладают некоторыми знаниями по построению запросов. Поэтому, думаю, они могли бы так же включаться в обсуждение


SELECT
  c.fio, 
  CASE         
    WHEN (tm.doc_type_id IN (3,8,16)) THEN tm.from_firma_id         
    ELSE tm.to_firma_id         
  END AS client_id,         
  C.ROZR_R ,   
  SUM(CASE
    WHEN (tm.doc_type_id IN (3,8,16) AND tm.mdate < '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    WHEN (tm.doc_type_id IN (4,5,18) AND tm.mdate < '#дата_с#') THEN (-1)*(tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv) 
    ELSE 0 
  END) AS suma_zal,
  SUM(CASE         
    WHEN (tm.doc_type_id IN (4,5,18) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    ELSE 0 
  END) AS suma_out,
  SUM(CASE       
    WHEN (tm.doc_type_id IN (3,8,16) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    ELSE 0 
  END) AS suma_in
FROM         
  tovar_move tm, 
  client c         
WHERE   
  c.visible = 1 AND   
  c.main_pid = -11 AND
#if #валюта_№# = -1 #then
#else
  tm.curr_type = #валюта_№# AND
#endif
  tm.doc_type_id IN (3,8,4,5,16,18) AND 
  tm.mdate <= '#дата_по#' AND   
  CASE     
    WHEN (tm.doc_type_id = 3) THEN tm.to_firma_id   
    WHEN (tm.doc_type_id = 8) THEN tm.to_firma_id   
    WHEN (tm.doc_type_id = 16) THEN tm.to_firma_id   
    ELSE tm.from_firma_id     
  END = #активная_фирма_№# AND   
  CASE         
    WHEN (tm.doc_type_id = 3) THEN tm.from_firma_id   
    WHEN (tm.doc_type_id = 8) THEN tm.from_firma_id   
    WHEN (tm.doc_type_id = 16) THEN tm.from_firma_id   
    ELSE tm.to_firma_id         
  END = c.num
GROUP BY
  1,2,3
HAVING
  (udf_roundto(SUM(CASE
    WHEN (tm.doc_type_id IN (3,8,16) AND tm.mdate < '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    WHEN (tm.doc_type_id IN (4,5,18) AND tm.mdate < '#дата_с#') THEN (-1)*(tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv) 
    ELSE 0 
  END),5) != 0 OR
  udf_roundto(SUM(CASE         
    WHEN (tm.doc_type_id IN (4,5,18) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    ELSE 0 
  END),5) != 0 OR
  udf_roundto(SUM(CASE       
    WHEN (tm.doc_type_id IN (3,8,16) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    ELSE 0 
  END),5) != 0 )
ORDER BY       
  1
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Лютий 06, 2013, 00:47:33
Жаль не заработал запрос выдал такую ошибку
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Лютий 06, 2013, 00:59:51
похоже ему не понравилась 34 линия? WHEN (tm.doc_type_id = 3) THEN tm.to_firma_id
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: TheOK від Лютий 06, 2013, 01:24:57
Цитата: DILEMMA від Лютий 06, 2013, 00:59:51
похоже ему не понравилась 34 линия? WHEN (tm.doc_type_id = 3) THEN tm.to_firma_id
Ему не понравилась немножко другая строка (под той, которую вы указали)... я как-то потерял 2-3 символа в запросе....
Запрос исправил, замените SQL запрос в том отчете, где ошибочка выскочила
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Лютий 06, 2013, 01:25:49
я уже нашел это 8
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Лютий 06, 2013, 01:27:37
огромнейшее спасибо за помощь все получилось супер-пупер, р/с все прописываются
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Лютий 06, 2013, 11:11:29
Подскажите пожалуйста, а можно в отчете сделать так: если в 4 колонке у клиента оплата стоит 0,00 как у поставщика под номером 4, чтобы данная колонка не появлялась в отчете, а скрывалась, так сказать "ушла в туман".
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Лютий 06, 2013, 13:00:49
Точнее сформулирую вопрос: необходимо скрыть строку споставщиком если в колонке ПРИХОД остновного отчета Взаиморасчеты с поставщиками стоит0,00
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: TheOK від Лютий 06, 2013, 22:56:48
Замените SQL запрос отчета на приведенный ниже (или создайте новый отчет на основе того, что вы сейчас сделали и внесите изменения в нем). Вы столкнулись с проблемой округления данных, данные сформировались по поставщику и они округлились до 5 знаков после запятой, а в отчете данные округлились до двух знаков, вот и светит вам в отчете 0, хотя там может быть 0.004



SELECT
  c.fio, 
  CASE         
    WHEN (tm.doc_type_id IN (3,8,16)) THEN tm.from_firma_id         
    ELSE tm.to_firma_id         
  END AS client_id,         
  C.ROZR_R ,   
  SUM(CASE
    WHEN (tm.doc_type_id IN (3,8,16) AND tm.mdate < '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    WHEN (tm.doc_type_id IN (4,5,18) AND tm.mdate < '#дата_с#') THEN (-1)*(tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv) 
    ELSE 0 
  END) AS suma_zal,
  SUM(CASE         
    WHEN (tm.doc_type_id IN (4,5,18) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    ELSE 0 
  END) AS suma_out,
  SUM(CASE       
    WHEN (tm.doc_type_id IN (3,8,16) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    ELSE 0 
  END) AS suma_in
FROM         
  tovar_move tm, 
  client c         
WHERE   
  c.visible = 1 AND   
  c.main_pid = -11 AND
#if #валюта_№# = -1 #then
#else
  tm.curr_type = #валюта_№# AND
#endif
  tm.doc_type_id IN (3,8,4,5,16,18) AND 
  tm.mdate <= '#дата_по#' AND   
  CASE     
    WHEN (tm.doc_type_id = 3) THEN tm.to_firma_id   
    WHEN (tm.doc_type_id = 8) THEN tm.to_firma_id   
    WHEN (tm.doc_type_id = 16) THEN tm.to_firma_id   
    ELSE tm.from_firma_id     
  END = #активная_фирма_№# AND   
  CASE         
    WHEN (tm.doc_type_id = 3) THEN tm.from_firma_id   
    WHEN (tm.doc_type_id = 8) THEN tm.from_firma_id   
    WHEN (tm.doc_type_id = 16) THEN tm.from_firma_id   
    ELSE tm.to_firma_id         
  END = c.num
GROUP BY
  1,2,3
HAVING
  (udf_roundto(SUM(CASE
    WHEN (tm.doc_type_id IN (3,8,16) AND tm.mdate < '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    WHEN (tm.doc_type_id IN (4,5,18) AND tm.mdate < '#дата_с#') THEN (-1)*(tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv) 
    ELSE 0 
  END),2) != 0 OR
  udf_roundto(SUM(CASE         
    WHEN (tm.doc_type_id IN (4,5,18) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    ELSE 0 
  END),2) != 0 OR
  udf_roundto(SUM(CASE       
    WHEN (tm.doc_type_id IN (3,8,16) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    ELSE 0 
  END),2) != 0 )
ORDER BY       
  1
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Лютий 07, 2013, 11:49:25
Заменил SQL запрос, в отчете не произошло сокрытия строки с поставщиком если в колонке ПРИХОД основного отчета Взаиморасчеты с поставщиками стоит  0,00. Дело не в округлении данных до определенного знака, основной вопрос ставится так, что надо убрать ( скрыть, спрятать ) хотябы в печатной форме строку с поставщиком у которого в колонке ПРИХОД основного отчета Взаиморасчеты с поставщиками стоит  0,00. Это нужно для того чтобы "портянка" подаваемая мной кассиру в Мегабанке была только с поставщиками у которых есть положительный баланс для оплаты, т.е. если из 200 поставщиков на сегодняшний день у 180 баланс 0,00 , то в "портянке" на оплату должно значится только 20 человек.
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: TheOK від Лютий 07, 2013, 12:39:12
Проблема не только в округлении (и в ней тоже была, но не факт, что ваши 0.00 зависели от нее), а еще и в том, что в отчет выводятся данные по всем поставщикам у которых был остаток (на начало или конец) или движение товара или денежных средств.
Чтобы убрать постивщиков с 0.00, нужно знать какая переменная у вас в отчете выводится в последнем столбце (правом) "Оплата в....".
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Лютий 07, 2013, 13:00:30
Так я и спрашиваю: можно ли скрыть и не выводить на печать целую строчку в которой находится ПОСТАВЩИК если в колонке ПРИХОД 0, если нельзя связать колонку ПРИХОД где стоит 0 и сокрытие на печать строки с данным ПОСТАВЩИКОМ скажите нет.
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: TheOK від Лютий 07, 2013, 13:27:35
Цитата: DILEMMA від Лютий 07, 2013, 13:00:30
Так я и спрашиваю: можно ли скрыть и не выводить на печать целую строчку в которой находится ПОСТАВЩИК если в колонке ПРИХОД 0, если нельзя связать колонку ПРИХОД где стоит 0 и сокрытие на печать строки с данным ПОСТАВЩИКОМ скажите нет.
Как это нельзя скрыть? В отчетах можно делать такое.... не то, чтобы скрыть
Вот SQL запрос. Если в поле приход 0.00, то данные не должны выводиться. У себя не тестировал, но думаю, что так и должно работать.



SELECT
  c.fio, 
  CASE         
    WHEN (tm.doc_type_id IN (3,8,16)) THEN tm.from_firma_id         
    ELSE tm.to_firma_id         
  END AS client_id,         
  C.ROZR_R ,   
  SUM(CASE
    WHEN (tm.doc_type_id IN (3,8,16) AND tm.mdate < '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    WHEN (tm.doc_type_id IN (4,5,18) AND tm.mdate < '#дата_с#') THEN (-1)*(tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv) 
    ELSE 0 
  END) AS suma_zal,
  SUM(CASE         
    WHEN (tm.doc_type_id IN (4,5,18) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    ELSE 0 
  END) AS suma_out,
  SUM(CASE       
    WHEN (tm.doc_type_id IN (3,8,16) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    ELSE 0 
  END) AS suma_in
FROM         
  tovar_move tm, 
  client c         
WHERE   
  c.visible = 1 AND   
  c.main_pid = -11 AND
#if #валюта_№# = -1 #then
#else
  tm.curr_type = #валюта_№# AND
#endif
  tm.doc_type_id IN (3,8,4,5,16,18) AND 
  tm.mdate <= '#дата_по#' AND   
  CASE     
    WHEN (tm.doc_type_id = 3) THEN tm.to_firma_id   
    WHEN (tm.doc_type_id = 8) THEN tm.to_firma_id   
    WHEN (tm.doc_type_id = 16) THEN tm.to_firma_id   
    ELSE tm.from_firma_id     
  END = #активная_фирма_№# AND   
  CASE         
    WHEN (tm.doc_type_id = 3) THEN tm.from_firma_id   
    WHEN (tm.doc_type_id = 8) THEN tm.from_firma_id   
    WHEN (tm.doc_type_id = 16) THEN tm.from_firma_id   
    ELSE tm.to_firma_id         
  END = c.num
GROUP BY
  1,2,3
HAVING
  udf_roundto(SUM(CASE       
    WHEN (tm.doc_type_id IN (3,8,16) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv 
    ELSE 0 
  END),2) != 0
ORDER BY       
  1
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: DILEMMA від Лютий 07, 2013, 14:46:50
Спасибо скрипт работает "портянка" с 0-лями превращяется в "элегантные шорты", следующий вопрос, правильно ли я понимаю если я делаю выборку по складу и поставщик на этот склад ничего не поставлял то и отчет должен быть пустой правильно? Но на деле получается что показываются все склады при чем кучей. 
Назва: Re: Отчет - Взаиморасчеты с постащикам
Відправлено: TheOK від Лютий 07, 2013, 23:28:06
То, что вы включили галочку показывать тот или иной параметр (или выключили) не значит, что данный параметр будет (или не будет) учитываться.
Все параметры обрабатываются внутри запроса (до отправки данных на обработку), если так можно сказать. Т.к. вы просто отобразили параметр для конечного пользователя, но не указали как он должен учитываться в SQL запросе, то это значит, что ничего особенного произойти не должно. Что отчет показывал до этого, то и будет показывать после.
Данные в стандартных отчетах выводятся не по складу, а по активным фирмам (по текущей), на которую был проведен документ, а так же в зависимости от отчета который вы используете по различным группам, клиентам, поставщикам или всем сразу.
Возможно, кто-то изменит запрос под ваши нужды с учетом складов (я свой лимит исчерпал).