AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Функционал
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.03.2009, 15:20   #1  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
Здравствуйте Коллеги,
помогите разобраться, какую формулу надо поставить в ДатаФильтр2 в строках внешнего отчета чтоб сравнить два месяца?
сейчас первый фильтр стоит ср а второй ср-1м, так вот результат при расчете феврала ДатаФильтр1 010209..280209 Датафильтр2 010109..280109
НАВ-5 сп-1
Старый 02.03.2009, 18:13   #2  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Arshak Посмотреть сообщение
помогите разобраться, какую формулу надо поставить в ДатаФильтр2 в строках внешнего отчета чтоб сравнить два месяца?
сейчас первый фильтр стоит ср а второй ср-1м, так вот результат при расчете феврала ДатаФильтр1 010209..280209 Датафильтр2 010109..280109
НАВ-5 сп-1
CM и CM-1M пробовали?
Старый 03.03.2009, 11:37   #3  
Milk is offline
Milk
Участник
 
242 / 12 (1) ++
Регистрация: 08.06.2006
Если проблема в том, что январь обрезался 28 числом, то в формуле -1М надо написать вначале, а потом уже +СМ.
Старый 03.03.2009, 11:40   #4  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
при таких значениях получаем 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  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
Цитата:
Сообщение от Milk Посмотреть сообщение
Если проблема в том, что январь обрезался 28 числом, то в формуле -1М надо написать вначале, а потом уже +СМ.
при cp-1m+cm
получил результат 31.01.09..31.01.09
Старый 03.03.2009, 12:23   #6  
Milk is offline
Milk
Участник
 
242 / 12 (1) ++
Регистрация: 08.06.2006
Да, я не сразу осознал проблему. Надо придумать формулу, чтобы она из первого числа месяца делала первое число предыдущего месяца, а из последнего - поледнюю. Пока мне кажется, это невозможно.
Так что, чтобы отображать некую сумму за предыдущий месяц наверное, надо создать две невидимые строки: одну с диапазоном ..ED, другую - с диапазоном ..ED-1M+СM, и видимую - их разность.
Старый 03.03.2009, 12:36   #7  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
Цитата:
Сообщение от Milk Посмотреть сообщение
Да, я не сразу осознал проблему. Надо придумать формулу, чтобы она из первого числа месяца делала первое число предыдущего месяца, а из последнего - поледнюю. Пока мне кажется, это невозможно.
Так что, чтобы отображать некую сумму за предыдущий месяц наверное, надо создать две невидимые строки: одну с диапазоном ..ED, другую - с диапазоном ..ED-1M+СM, и видимую - их разность.
у меня есть подозрение что это все создавалось для внешних отчетов, а там в основном сравнение с прошлым годом и поэтому проблем не возникает, а вот по месяцам судя по всему не работает сильно ломать не хочется так как вроде должно универсально отрабатывать для любых формул дат а не только для месяцев
Старый 03.03.2009, 12:54   #8  
Milk is offline
Milk
Участник
 
242 / 12 (1) ++
Регистрация: 08.06.2006
Arshak, а вы разве не со внешними отчетами работаете? Я-то предложил решение, конечно же, для них По-моему оно ничего не ломает, а что вы имеете в виду?
Старый 03.03.2009, 13:12   #9  
.Quattro. is offline
.Quattro.
Участник
Лучший по профессии 2009
 
194 / 22 (1) +++
Регистрация: 22.05.2006
-CM - Это первое число месяца.
Соответсвенно, можно попробовать <-CM-1D> - Это будет последнее число предыдущего месяца.
Старый 03.03.2009, 13:32   #10  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
Цитата:
Сообщение от Milk Посмотреть сообщение
Arshak, а вы разве не со внешними отчетами работаете? Я-то предложил решение, конечно же, для них По-моему оно ничего не ломает, а что вы имеете в виду?
все правильно вы советуете буду пробовать с двумя строчками.
хотя если строк будет много то будет не весело, а про сравнение 3 периодов я вообще боюсь думать
Спасибо
я высказал мысли в слух про изменения в коде
Старый 03.03.2009, 13:36   #11  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
Цитата:
Сообщение от .Quattro. Посмотреть сообщение
-CM - Это первое число месяца.
Соответсвенно, можно попробовать <-CM-1D> - Это будет последнее число предыдущего месяца.
при фильтре cp-cm-1d
31.01.09..31.01.09
Старый 03.03.2009, 18:02   #12  
.Quattro. is offline
.Quattro.
Участник
Лучший по профессии 2009
 
194 / 22 (1) +++
Регистрация: 22.05.2006
А попоробуйте +1D-1M-1D.
CM то дату начала и окончания к одной дате приведет...
Старый 05.03.2009, 17:45   #13  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
Цитата:
Сообщение от .Quattro. Посмотреть сообщение
А попоробуйте +1D-1M-1D.
CM то дату начала и окончания к одной дате приведет...
Огромное спасибо! на первый взгляд достигнут нужный результат!
Старый 01.04.2011, 11:59   #14  
kgenius is offline
kgenius
Участник
 
98 / 10 (1) +
Регистрация: 27.10.2004
Никогда не мог разобраться с этими формулами...
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:37.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.