Показать сообщение отдельно
Старый 17.12.2010, 00:50   #9  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Lightbulb Интервалы дат - везде и всюду
В ходе обсуждения на буржуйском форуме возникла идея, как с помощью класса SysQueryRangeUtil прикрутить использование интервалов дат (Главная книга/Настройки/Периоды/Интервалы дат) к любому запросу и любому пакетнику/отчету, который позволяет редактировать запрос. Можно создать новый метод этого класса наподобие:
X++:
public static str datePeriod(DateCode _periodCode, TransDate _basis = systemdateget())
{
    LedgerPeriodCode    ledgerPeriodCode;
    str                 ret;
    ;
    ledgerPeriodCode = LedgerPeriodCode::find(_periodCode);
    if (ledgerPeriodCode)
    {
        ret = SysQuery::range(ledgerPeriodCode.fromDate(_basis), ledgerPeriodCode.toDate(_basis));
    }
    return ret;
}
И тогда в запросе можно будет использовать фильтры вроде
Код:
((datePeriod('CYTD')))
или
Код:
((datePeriod('Q3')))
За это сообщение автора поблагодарили: Vadik (1), Logger (5), Raven Melancholic (1).