В Инструкции к программе (работа в Укрсклад. Особенности и советы) написано, что для учета дебиторской задолженности можно использовать стандартный отчет Взаиморасчеты с клиентами/поставщиками, который нужно немного изменить: "Как это сделать Вам легко подскажут на форуме" :)
Подскажите пожалуйста, что сделать нужно?
Вы хотите, чтобы в отчете Взаиморасчеты с контрагентами (поставщики и клиенты) выводились только должники или вы хотите использовать данный отчет для определения задолженности по оплате с отсрочкой (как это написано в советах)?
Уточните пожалуйста.
Если для последнего случая, то вам необходимо:
1) Запустить отчет
2) В открывшемся отчете нажать кнопку Дизайнер -> Новый шаблон
3) В случае необходимости изменить внешний вид отчета (например, добавив еще одну ячейку, советую это делать копированием уже существующих ячеек, любых, кроме тех, у которых есть красненькая точечка слева)
4) Добавить в нужную ячейку текст [SUM(<DataRep."SUMA_ZAL">)+SUM(<DataRep."SUMA_IN">)]
(закладка Текст при редактировании ячейки)
5) В закладке Подсветка при редактировании ячейки можно "подсветить" текст (или всю ячейку) каким-то цветом для определенных условий. В данном случае это условие задается так: (SUM(<DataRep."SUMA_ZAL">)+SUM(<DataRep."SUMA_IN">))<0
P.S. В "советах" имелось ввиду, что на форуме много кто знает как изменить отчет, используя простые арифметические операции над переменными...
Спасибо огромное! Именно это я и хотел!
Вот только один момент. У нас товар при первой поставке передается покупателям для выкладки на витрину (оптовая торговля). Поэтому первые одну-две накладные покупатель не должен оплачивать. Можно как-то предусмотреть в этом отчете, чтобы эти накладные не учитывались в качестве долга? Например ставить метку "1" в такой накладной и чтобы отчет накладные с такой меткой не учитывал?
Мне кажется, что наиболее правильным было бы выписывать такие документы с ценой товара=0 .
Впрочем, если сильно нужно, то можно, ниже напишу как.
Однако, вам следует знать, что лучше не нарушать общего принципа расчета в программе (например, вы будете видеть неправильные данные в справочнике клиентов поля Баланс).
Чтобы не учитывать некоторые накладные (документы) в отчете, нужно выставить для них на закладке Общее статью (заведите какую-то специальную статью под такие случаи).
Итак:
1) Заведите специальную статью в программе (Справочники->статьи прихода/расхода)
2) Узнайте ID статьи (в окне для ввода новых статей "засветите" колонку ID).
3) в текст для запроса (см. ниже) вставить вместо XXX ID статьи (см. П.4)
4) В SQL запросе отчета (в режиме редактирования) после текста WHERE нужно вставить текст
tm.article_id=XXX and
Просто сохранить данный отчет (в стандартных) вы не сможете, нужно жать кнопку не Сохранить, а Сохранить как новый, после чего искать отчет в Отчеты->Отчеты пользователей
Спасибо!
В Вашем коде стоит знак равно, а как написать не равно? Думаю мне как раз это нужно.
Уже нашел в сети - знак "<>".
Остался только вопрос: что написать в редакторе шаблона, чтобы в ячейке высветило сумму всех накладных с нашей определенной статьей ххх ?
Да, вы правы, нужно не равно (т.е. != )
В данном случае нельзя вывести в отдельной ячейке сумму по статье, которая не учитывается, т.к. эти данные отфильтровываются.
Если отзоветесь через недельку, на след. выходных мог бы посмотреть детальнее, в ближайшее время не смогу. Может быть еще кто-то внесет свою лепту...
Буду ждать! Спасибо!
Правда еще вопрос возник. Отчет показывает сумму долга, по которому настал срок платежа, с минусом. А сумму долга, по которой такой срок еще не настал - с плюсом. При этом в последней нижней клетке все эти числа складываются.
Как сделать так, чтобы складывались только отрицательные числа, чтобы знать общую сумму всего просроченного долга? Иначе эта данные в этой клетке никакой практической ценности не имеют.
Формула сейчас, как ее выше написал TheOK:
[SUM(<DataRep."SUMA_ZAL">)+SUM(<DataRep."SUMA_IN">)]
Что изменить, чтобы в сложении участвовали только отрицательные числа? Или нужно sql запрос менять?
Чтобы по несколько раз не переделывать, выложите сюда:
1) шаблон документа (при запущенном отчете, кнопка Дизайнер->изменить шаблон, в открывшемся редакторе: меню Файл->Сохранить как)
2) SQL запрос отчета (оформите его редактирование как код, как вы и сделали с предыдущем отрывком кода)
Заодно гляну, как вывести данные по статье
К стандартному отчету добавлены три колонки:
- К оплате (просроченный долг без учета товара на витрине),
- Витрина (товар статьи 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
Спасибо за Ваш такой полезный и нужный труд!
Не хочу быть назойливым...возможно есть какие-то хорошие новости для всех страждущих отчетов...? :-[
Цитата: дядя від Жовтень 28, 2013, 22:46:09
Не хочу быть назойливым...возможно есть какие-то хорошие новости для всех страждущих отчетов...? :-[
К сожалению, времени помочь совершенно нет. Если у кого-то есть возможность, поспособствуйте решению пожалуйста.
Дабы не плодить темы.
Вопрос по похожему отчету "Взаиморасчеты с клиентами" хотелось бы убрать клиентов с нулевым результатом в колонке "остаток на конец"
и подсветить разными цветами положительный и отрицательный результаты.
И еще один важный для нашей компании вопрос, как учитывать "Все" фирмы, а не только "Активную"
Заранее благодарен.
Читайте выше о подсветке:
5) В закладке Подсветка при редактировании ячейки можно "подсветить" текст (или всю ячейку) каким-то цветом для определенных условий. В данном случае это условие задается так:
Код: [Выделить]
(SUM(<DataRep."SUMA_ZAL">)+SUM(<DataRep."SUMA_IN">))<0
Читал, не работает, у меня отчет немного другой, [FORMATFLOAT(<формат_сумма_табл>,SUM(<DataRep."SUMA_ZAL">+<DataRep."SUMA_IN">-<DataRep."SUMA_OUT">))]
Цитата: 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. В "советах" имелось ввиду, что на форуме много кто знает как изменить отчет, используя простые арифметические операции над переменными...
Подскажите пожалуйста как сделать чтобы в Взаиморасчеты с контрагентами (поставщики и клиенты) выводились только должники?
Цитата: dmytro962 від Жовтень 03, 2022, 23:14:58
Подскажите пожалуйста как сделать чтобы в Взаиморасчеты с контрагентами (поставщики и клиенты) выводились только должники?
Так і є в програмі. За який період ви формуєте звіт?
Цитата: admin від Жовтень 04, 2022, 09:22:51
Цитата: dmytro962 від Жовтень 03, 2022, 23:14:58
Подскажите пожалуйста как сделать чтобы в Взаиморасчеты с контрагентами (поставщики и клиенты) выводились только должники?
Так і є в програмі. За який період ви формуєте звіт?
Я формую звіт через "отчеты -> "Взаиморасчеты с контрагентами (поставщики и клиенты)"" дата 22,06 по 04.10 і мені потрібно щоб "нулі"(оплачені) не виводилися, а виводилися тільки борги клієнтів.
Цитата: dmytro962 від Жовтень 04, 2022, 21:12:41
Я формую звіт через "отчеты -> "Взаиморасчеты с контрагентами (поставщики и клиенты)"" дата 22,06 по 04.10 і мені потрібно щоб "нулі"(оплачені) не виводилися, а виводилися тільки борги клієнтів.
Якщо формуєте звіт за період, то програма вам за цей період і показує рух коштів. Не показувати їх було б нелогічно, вони ж були, хоч і зійшлись залишком на 0. Якщо бажаєте не бачити нулі формуйте звіт з 04.10 по 04.10.