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

Наши программы => УкрСклад => Тема розпочата: дядя від Вересень 27, 2013, 01:11:59

Назва: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: дядя від Вересень 27, 2013, 01:11:59
В Инструкции к программе (работа в Укрсклад. Особенности и советы) написано, что для учета дебиторской задолженности можно использовать стандартный отчет Взаиморасчеты с клиентами/поставщиками, который нужно немного изменить: "Как это сделать Вам легко подскажут на форуме" :)
Подскажите пожалуйста, что сделать нужно?
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: TheOK від Вересень 27, 2013, 03:22:57
Вы хотите, чтобы в отчете Взаиморасчеты с контрагентами (поставщики и клиенты) выводились только должники или вы хотите использовать данный отчет для определения задолженности по оплате с отсрочкой (как это написано в советах)?
Уточните пожалуйста.
Если для последнего случая, то вам необходимо:
1) Запустить отчет
2) В открывшемся отчете нажать кнопку Дизайнер -> Новый шаблон
3) В случае необходимости изменить внешний вид отчета (например, добавив еще одну ячейку, советую это делать копированием уже существующих ячеек, любых, кроме тех, у которых есть красненькая точечка слева)
4) Добавить в нужную ячейку текст [SUM(<DataRep."SUMA_ZAL">)+SUM(<DataRep."SUMA_IN">)] (закладка Текст при редактировании ячейки)
5) В закладке Подсветка при редактировании ячейки можно "подсветить" текст (или всю ячейку) каким-то цветом для определенных условий. В данном случае это условие задается так: (SUM(<DataRep."SUMA_ZAL">)+SUM(<DataRep."SUMA_IN">))<0


P.S. В "советах" имелось ввиду, что на форуме много кто знает как изменить отчет, используя простые арифметические операции над переменными...
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: дядя від Вересень 27, 2013, 19:50:22
Спасибо огромное! Именно это я и хотел!
Вот только один момент. У нас товар при первой поставке передается покупателям для выкладки на витрину (оптовая торговля). Поэтому первые одну-две накладные покупатель не должен оплачивать. Можно как-то предусмотреть в этом отчете, чтобы эти накладные не учитывались в качестве долга? Например ставить метку "1" в такой накладной и чтобы отчет накладные с такой меткой не учитывал?
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: TheOK від Вересень 27, 2013, 20:43:44


Мне кажется, что наиболее правильным было бы выписывать такие документы с ценой товара=0 .
Впрочем, если сильно нужно, то можно, ниже напишу как.
Однако, вам следует знать, что лучше не нарушать общего принципа расчета в программе (например, вы будете видеть неправильные данные в справочнике клиентов поля Баланс).


Чтобы не учитывать некоторые накладные (документы) в отчете, нужно выставить для них на закладке Общее статью (заведите какую-то специальную статью под такие случаи).
Итак:
1) Заведите специальную статью в программе  (Справочники->статьи прихода/расхода)
2) Узнайте ID статьи (в окне для ввода новых статей "засветите" колонку ID).
3) в текст для запроса (см. ниже) вставить вместо XXX ID статьи (см. П.4)
4) В SQL запросе отчета (в режиме редактирования) после текста WHERE нужно вставить текст
  tm.article_id=XXX and

Просто сохранить данный отчет (в стандартных) вы не сможете, нужно жать кнопку не Сохранить, а Сохранить как новый, после чего искать отчет в Отчеты->Отчеты пользователей

Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: дядя від Вересень 27, 2013, 21:27:07
Спасибо!
В Вашем коде стоит знак равно, а как написать не равно? Думаю мне как раз это нужно.
Уже нашел в  сети - знак "<>".

Остался только вопрос: что написать в редакторе шаблона, чтобы в ячейке высветило сумму всех накладных с нашей определенной статьей ххх ?
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: TheOK від Вересень 27, 2013, 22:01:30
Да, вы правы, нужно не равно (т.е. != )
В данном случае нельзя вывести в отдельной ячейке сумму по статье, которая не учитывается, т.к. эти данные отфильтровываются.
Если отзоветесь через недельку, на след. выходных мог бы посмотреть детальнее, в ближайшее время не смогу. Может быть еще кто-то внесет свою лепту...
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: дядя від Вересень 27, 2013, 23:04:42
Буду ждать! Спасибо!

Правда еще вопрос возник. Отчет показывает сумму долга, по которому настал срок платежа, с минусом. А сумму долга, по которой такой срок еще не настал -  с плюсом. При этом в последней нижней клетке все эти числа складываются.
Как сделать так, чтобы складывались только отрицательные числа, чтобы знать общую сумму всего просроченного долга? Иначе эта данные в этой клетке никакой практической ценности не имеют.
Формула сейчас, как ее выше написал TheOK:
[SUM(<DataRep."SUMA_ZAL">)+SUM(<DataRep."SUMA_IN">)] 
Что изменить, чтобы в сложении участвовали только отрицательные числа? Или нужно sql запрос менять?
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: TheOK від Жовтень 02, 2013, 00:34:23
Чтобы по несколько раз не переделывать, выложите сюда:
1) шаблон документа (при запущенном отчете, кнопка Дизайнер->изменить шаблон, в открывшемся редакторе: меню Файл->Сохранить как)
2) SQL запрос отчета (оформите его редактирование как код, как вы и сделали с предыдущем отрывком кода)
Заодно гляну, как вывести данные по статье
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: дядя від Жовтень 02, 2013, 01:13:50
К стандартному отчету добавлены три колонки:
- К оплате (просроченный долг без учета товара на витрине),
- Витрина (товар статьи 1017, который не учитывается как долг),
- Всего (сумма колонок Остатки на конец периода+Витрина).
Для двух последних колонок не знаю какие формулы и как писать.
Также в нижней ячейке колонки "К оплате" нужно сложить только отрицательные числа, чтобы узнать общую сумму просроченного долга, но не знаю как. А еще правильнее в этой колонке все числа больше нуля не отображать, т.е. показать равными 0. Тогда и сумма внизу будет нормально считаться.

SELECT
  c.fio, 
  CASE       
    WHEN (tm.doc_type_id IN (1,4,5,6)) THEN tm.to_firma_id     
    ELSE tm.from_firma_id
  END AS client_id,     
  SUM(CASE
    WHEN (tm.doc_type_id IN (3,12,16) AND tm.mdate < '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv
    WHEN (tm.doc_type_id IN (1,4,5,6) 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 (1,4,5,6) 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,12,16) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv
    ELSE 0 
  END) AS suma_in
FROM       
  tovar_move tm, 
  client c       
WHERE     
  tm.article_id!=1017 and
  c.visible = 1 AND   
  c.main_pid = -10 AND
#if #валюта_№# = -1 #then
#else
  tm.curr_type = #валюта_№# AND
#endif
  tm.doc_type_id in (1,3,4,5,6,12,16) AND   
  tm.mdate <= '#дата_по#' AND
  CASE       
    WHEN (tm.doc_type_id = 1) THEN tm.from_firma_id   
    WHEN (tm.doc_type_id = 4) THEN tm.from_firma_id   
    WHEN (tm.doc_type_id = 5) THEN tm.from_firma_id   
    WHEN (tm.doc_type_id = 6) THEN tm.from_firma_id   
    ELSE tm.to_firma_id   
  END = #активная_фирма_№# AND
  CASE       
    WHEN (tm.doc_type_id = 1) THEN tm.to_firma_id   
    WHEN (tm.doc_type_id = 4) THEN tm.to_firma_id   
    WHEN (tm.doc_type_id = 5) THEN tm.to_firma_id   
    WHEN (tm.doc_type_id = 6) THEN tm.to_firma_id   
    ELSE tm.from_firma_id       
  END = c.num       
GROUP BY
  1,2
HAVING
  (udf_roundto(SUM(CASE
    WHEN (tm.doc_type_id IN (3,12,16) AND tm.mdate < '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv
    WHEN (tm.doc_type_id IN (1,4,5,6) 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 (1,4,5,6) 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,12,16) AND tm.mdate >= '#дата_с#') THEN tm.#валюта_преф#from_suma+tm.#валюта_преф#suma_pdv
    ELSE 0 
  END),5) != 0 )
ORDER BY     
  1

Спасибо за Ваш такой полезный и нужный труд!
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: дядя від Жовтень 28, 2013, 22:46:09
Не хочу быть назойливым...возможно есть какие-то хорошие новости для всех страждущих отчетов...? :-[
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: TheOK від Жовтень 29, 2013, 00:03:42
Цитата: дядя від Жовтень 28, 2013, 22:46:09
Не хочу быть назойливым...возможно есть какие-то хорошие новости для всех страждущих отчетов...? :-[
К сожалению, времени помочь совершенно нет. Если у кого-то есть возможность, поспособствуйте решению пожалуйста.
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: Den від Жовтень 31, 2013, 13:20:54
Дабы не плодить темы.
Вопрос по похожему отчету "Взаиморасчеты с клиентами" хотелось бы убрать клиентов с нулевым результатом в колонке "остаток на конец"
и подсветить разными цветами положительный и отрицательный результаты.
И еще один важный для нашей компании вопрос, как учитывать "Все" фирмы, а не только "Активную"
Заранее благодарен.
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: дядя від Жовтень 31, 2013, 18:57:07
Читайте выше о подсветке:

5) В закладке Подсветка при редактировании ячейки можно "подсветить" текст (или всю ячейку) каким-то цветом для определенных условий. В данном случае это условие задается так:
Код: [Выделить]
(SUM(<DataRep."SUMA_ZAL">)+SUM(<DataRep."SUMA_IN">))<0
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: Den від Листопад 01, 2013, 13:01:35
Читал, не работает, у меня отчет немного другой, [FORMATFLOAT(<формат_сумма_табл>,SUM(<DataRep."SUMA_ZAL">+<DataRep."SUMA_IN">-<DataRep."SUMA_OUT">))]
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: dmytro962 від Жовтень 03, 2022, 23:14:58
Цитата: TheOK від Вересень 27, 2013, 03:22:57
Вы хотите, чтобы в отчете Взаиморасчеты с контрагентами (поставщики и клиенты) выводились только должники или вы хотите использовать данный отчет для определения задолженности по оплате с отсрочкой (как это написано в советах)?
Уточните пожалуйста.
Если для последнего случая, то вам необходимо:
1) Запустить отчет
2) В открывшемся отчете нажать кнопку Дизайнер -> Новый шаблон
3) В случае необходимости изменить внешний вид отчета (например, добавив еще одну ячейку, советую это делать копированием уже существующих ячеек, любых, кроме тех, у которых есть красненькая точечка слева)
4) Добавить в нужную ячейку текст [SUM(<DataRep."SUMA_ZAL">)+SUM(<DataRep."SUMA_IN">)] (закладка Текст при редактировании ячейки)
5) В закладке Подсветка при редактировании ячейки можно "подсветить" текст (или всю ячейку) каким-то цветом для определенных условий. В данном случае это условие задается так: (SUM(<DataRep."SUMA_ZAL">)+SUM(<DataRep."SUMA_IN">))<0


P.S. В "советах" имелось ввиду, что на форуме много кто знает как изменить отчет, используя простые арифметические операции над переменными...

Подскажите пожалуйста как сделать чтобы в Взаиморасчеты с контрагентами (поставщики и клиенты) выводились только должники?
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: admin від Жовтень 04, 2022, 09:22:51
Цитата: dmytro962 від Жовтень 03, 2022, 23:14:58
Подскажите пожалуйста как сделать чтобы в Взаиморасчеты с контрагентами (поставщики и клиенты) выводились только должники?

Так і є в програмі. За який період ви формуєте звіт?
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: dmytro962 від Жовтень 04, 2022, 21:12:41
Цитата: admin від Жовтень 04, 2022, 09:22:51
Цитата: dmytro962 від Жовтень 03, 2022, 23:14:58
Подскажите пожалуйста как сделать чтобы в Взаиморасчеты с контрагентами (поставщики и клиенты) выводились только должники?

Так і є в програмі. За який період ви формуєте звіт?

Я формую звіт через "отчеты -> "Взаиморасчеты с контрагентами (поставщики и клиенты)"" дата 22,06 по 04.10 і мені потрібно щоб "нулі"(оплачені) не виводилися, а виводилися тільки борги клієнтів.
Назва: Re: Помогите с отчетом Взаиморасчеты с клиентами/поставщиками
Відправлено: admin від Жовтень 06, 2022, 16:34:11
Цитата: dmytro962 від Жовтень 04, 2022, 21:12:41
Я формую звіт через "отчеты -> "Взаиморасчеты с контрагентами (поставщики и клиенты)"" дата 22,06 по 04.10 і мені потрібно щоб "нулі"(оплачені) не виводилися, а виводилися тільки борги клієнтів.

Якщо формуєте звіт за період, то програма вам за цей період і показує рух коштів. Не показувати їх було б нелогічно, вони ж були, хоч і зійшлись залишком на 0. Якщо бажаєте не бачити нулі формуйте звіт з 04.10 по 04.10.