02.03.2009, 15:20 | #1 |
Участник
|
Здравствуйте Коллеги,
помогите разобраться, какую формулу надо поставить в ДатаФильтр2 в строках внешнего отчета чтоб сравнить два месяца? сейчас первый фильтр стоит ср а второй ср-1м, так вот результат при расчете феврала ДатаФильтр1 010209..280209 Датафильтр2 010109..280109 НАВ-5 сп-1 |
|
02.03.2009, 18:13 | #2 |
Участник
|
CM и CM-1M пробовали?
|
|
03.03.2009, 11:37 | #3 |
Участник
|
Если проблема в том, что январь обрезался 28 числом, то в формуле -1М надо написать вначале, а потом уже +СМ.
|
|
03.03.2009, 11:40 | #4 |
Участник
|
при таких значениях получаем 01.01.09..01.01.09
вот код который отвечает за расчет в кю 12405 IF NOT (Period."Period Start" = 0D) AND NOT (Period."Period End" = 0D) THEN EXIT(STRSUBSTNO('%1..%2', CALCDATE('<' + COPYSTR(DateFilter,3) + '>',Period."Period Start"), CALCDATE('<' + COPYSTR(DateFilter,3) + '>',Period."Period End"))) |
|
03.03.2009, 11:47 | #5 |
Участник
|
|
|
03.03.2009, 12:23 | #6 |
Участник
|
Да, я не сразу осознал проблему. Надо придумать формулу, чтобы она из первого числа месяца делала первое число предыдущего месяца, а из последнего - поледнюю. Пока мне кажется, это невозможно.
Так что, чтобы отображать некую сумму за предыдущий месяц наверное, надо создать две невидимые строки: одну с диапазоном ..ED, другую - с диапазоном ..ED-1M+СM, и видимую - их разность. |
|
03.03.2009, 12:36 | #7 |
Участник
|
Цитата:
Сообщение от Milk
Да, я не сразу осознал проблему. Надо придумать формулу, чтобы она из первого числа месяца делала первое число предыдущего месяца, а из последнего - поледнюю. Пока мне кажется, это невозможно.
Так что, чтобы отображать некую сумму за предыдущий месяц наверное, надо создать две невидимые строки: одну с диапазоном ..ED, другую - с диапазоном ..ED-1M+СM, и видимую - их разность. |
|
03.03.2009, 12:54 | #8 |
Участник
|
Arshak, а вы разве не со внешними отчетами работаете? Я-то предложил решение, конечно же, для них По-моему оно ничего не ломает, а что вы имеете в виду?
|
|
03.03.2009, 13:12 | #9 |
Участник
|
-CM - Это первое число месяца.
Соответсвенно, можно попробовать <-CM-1D> - Это будет последнее число предыдущего месяца. |
|
03.03.2009, 13:32 | #10 |
Участник
|
Цитата:
хотя если строк будет много то будет не весело, а про сравнение 3 периодов я вообще боюсь думать Спасибо я высказал мысли в слух про изменения в коде |
|
03.03.2009, 13:36 | #11 |
Участник
|
|
|
03.03.2009, 18:02 | #12 |
Участник
|
А попоробуйте +1D-1M-1D.
CM то дату начала и окончания к одной дате приведет... |
|
05.03.2009, 17:45 | #13 |
Участник
|
|
|
01.04.2011, 11:59 | #14 |
Участник
|
Никогда не мог разобраться с этими формулами...
|
|