Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Здравствуйте всем.
Задача рассчитать количество дней возникновения дебиторской задолженности по контрагенту.
Есть:
[Dt] – поле с дебиторской задолженности в таблице (справочник) контрагенты, на максимальную(сегодняшнюю) дату;
[maxDate] – переменная - максимальная дата или сегодняшнее число;
[сумма1] - поле с суммой отгрузки по датам [дата1] и контрагентам;
Рассчитываем дату возникновения отнимая от дебиторки суммы отгрузки по убыванию дат (от сегодняшнего числа). Как только разница будет 0 или отрицательная, тогда эта дата отгрузки будет датой возникновения текущей дебиторки.
Думаю вопрос типовой, но сходу решения не нашёл. Решил построить суммы отгрузки нарастающим итогом по убыванию дат:
RangeSum(Above(Sum([Сумма1]),0,RowNo()))
Соответственно подтянув даты, нашел разницу в днях, мера: «ДниВ»
[maxDate]-if([Dt]-RangeSum(Above(Sum([Сумма1]),0,RowNo()))<=0,[дата1],Null())
Получил таблицу по контрагенту:
дата1 | Сумма1 | ДниВ |
25.10.2018 | 90 702,71р, | - |
22.10.2018 | 213 618,12р, | - |
18.10.2018 | 274 142,95р, | - |
15.10.2018 | 270 327,07р, | - |
11.10.2018 | 367 877,32р, | - |
08.10.2018 | 186 138,69р, | - |
04.10.2018 | 381 374,44р, | - |
01.10.2018 | 200 339,99р, | - |
27.09.2018 | 230 941,91р, | - |
24.09.2018 | 182 497,99р, | - |
20.09.2018 | 418 458,43р, | - |
17.09.2018 | 149 480,41р, | 38 |
13.09.2018 | 238 548,07р, | 42 |
10.09.2018 | 158 197,15р, | 45 |
06.09.2018 | 286 112,64р, | 49 |
03.09.2018 | 229 596,31р, | 52 |
Нужная только одна, первая, строчка, где 38 дней. Как мне оставить только её?
Использование Min(), Max() сообщает об ошибке и возвращает null.
Добрый вечер, если вопрос еще актуален и есть желание получить ответ, то, полагаю, будет лучше дать возможность читателю погрузиться в вопрос:
Здравствуйте. Вопрос ещё актуален.
1.Исходные данные все в таблице, не хватает только суммы дебиторской задолженности. Если просуммировать отгрузки с 17.09 по 25.10 получим 2 965 900,03р, сумма дебиторки чуть меньше 2 965 000,00р.
Т.е. если от суммы дебиторки [Dt] последовательно (по убыванию дат) отнимать суммы отгрузки [Сумма1], то именно на 17.09 разница будет отрицательной - это будет нужная дата.
Находя разницу между текущим числом 25.10 [maxDate], получим число 38 дней - количество дней, от текущей даты, когда образовалась дебиторская задолженность.
Dt= | 2 965 00,00р. | ||||
Дата1 | Сумма1 | RangeSum(…) | Разница: [Dt]-RangeSum(…) | Условие на разницу | ДниВ |
25.10.2018 | 90 702,71р, | 90 702,71р, | 2 874 297,29р, | > 0 | - |
22.10.2018 | 213 618,12р, | 304 320,83р, | 2 660 679,17р, | > 0 | - |
18.10.2018 | 274 142,95р, | 578 463,78р, | 2 386 536,22р, | > 0 | - |
15.10.2018 | 270 327,07р, | 848 790,85р, | 2 116 209,15р, | > 0 | - |
11.10.2018 | 367 877,32р, | 1 216 668,17р, | 1 748 331,83р, | > 0 | - |
08.10.2018 | 186 138,69р, | 1 402 806,86р, | 1 562 193,14р, | > 0 | - |
04.10.2018 | 381 374,44р, | 1 784 181,30р, | 1 180 818,70р, | > 0 | - |
01.10.2018 | 200 339,99р, | 1 984 521,29р, | 980 478,71р, | > 0 | - |
27.09.2018 | 230 941,91р, | 2 215 463,20р, | 749 536,80р, | > 0 | - |
24.09.2018 | 182 497,99р, | 2 397 961,19р, | 567 038,81р, | > 0 | - |
20.09.2018 | 418 458,43р, | 2 816 419,62р, | 148 580,38р, | > 0 | - |
17.09.2018 | 149 480,41р, | 2 965 900,03р, | -900,03р, | <= 0 | 38 |
13.09.2018 | 238 548,07р, | 3 204 448,10р, | -239 448,10р, | <= 0 | 42 |
10.09.2018 | 158 197,15р, | 3 362 645,25р, | -397 645,25р, | <= 0 | 45 |
06.09.2018 | 286 112,64р, | 3 648 757,89р, | -683 757,89р, | <= 0 | 49 |
03.09.2018 | 229 596,31р, | 3 878 354,20р, | -913 354,20р, | <= 0 | 52 |
2.Вот это количество дней и нужно вывести в таблицу по каждому контрагенту, для ежедневного контроля. В дальнейшем построить график Y(дни), Х(даты) - отследить как сокращались дни по конкретному контрагенту.
Я не могу, пока, понять как мне отсечь остальные дни разницы 42, 45 и т.д. и/или переформулировать условия вывода результата так, что бы выводилась только одно число.
Dt = | 2 965 000,00 | ||||
Дата1 | Сумма1 | RangeSum(…) | Разница: [Dt]-RangeSum(…) | Проверка '<= 0' | ДниВ |
25.10.2018 | 90 702,71р, | 90 702,71р, | 2 874 297,29р, | > 0 | - |
22.10.2018 | 213 618,12р, | 304 320,83р, | 2 660 679,17р, | > 0 | - |
18.10.2018 | 274 142,95р, | 578 463,78р, | 2 386 536,22р, | > 0 | - |
15.10.2018 | 270 327,07р, | 848 790,85р, | 2 116 209,15р, | > 0 | - |
11.10.2018 | 367 877,32р, | 1 216 668,17р, | 1 748 331,83р, | > 0 | - |
08.10.2018 | 186 138,69р, | 1 402 806,86р, | 1 562 193,14р, | > 0 | - |
04.10.2018 | 381 374,44р, | 1 784 181,30р, | 1 180 818,70р, | > 0 | - |
01.10.2018 | 200 339,99р, | 1 984 521,29р, | 980 478,71р, | > 0 | - |
27.09.2018 | 230 941,91р, | 2 215 463,20р, | 749 536,80р, | > 0 | - |
24.09.2018 | 182 497,99р, | 2 397 961,19р, | 567 038,81р, | > 0 | - |
20.09.2018 | 418 458,43р, | 2 816 419,62р, | 148 580,38р, | > 0 | - |
17.09.2018 | 149 480,41р, | 2 965 900,03р, | -900,03р, | <= 0 | 38 |
13.09.2018 | 238 548,07р, | 3 204 448,10р, | -239 448,10р, | <= 0 | 42 |
10.09.2018 | 158 197,15р, | 3 362 645,25р, | -397 645,25р, | <= 0 | 45 |
06.09.2018 | 286 112,64р, | 3 648 757,89р, | -683 757,89р, | <= 0 | 49 |
03.09.2018 | 229 596,31р, | 3 878 354,20р, | -913 354,20р, | <= 0 | 52 |