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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.02.2007, 15:45   #1  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
Gustav, а как подобным образом вывести даты не последних, а первых дней месяца?
Старый 21.02.2007, 15:48   #2  
Himan is offline
Himan
Участник
Аватар для Himan
 
312 / 12 (1) ++
Регистрация: 07.11.2006
Адрес: Tumen
Цитата:
Сообщение от moid Посмотреть сообщение
Gustav, а как подобным образом вывести даты не последних, а первых дней месяца?
в предыдущем условии шли с конца, а теперь с ночала надо и все
__________________
Рабочий день сокращает жизнь на 8 часов
Старый 21.02.2007, 16:43   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от moid Посмотреть сообщение
Gustav, а как подобным образом вывести даты не последних, а первых дней месяца?
Помните, как в Comedy Club'е диалог по телефону что-то типа:
Цитата:
- А у вас можно заказать столик на двоих?
- Можно.
- А у вас можно заказать столик на троих?
- Можно.
- А у вас можно заказать столик на четверых?
- Вы знаете, у нас можно заказать столик на 4-х, 5-х, 6-х, 7-х, а также на 8-х, 9-х, 10-х и даже на 11-х и 12-х.
- ...А у вас можно заказать столик на 13-х?
moid, держите функцию для N-го вхождения заданного дня недели внутри месяца от начала:
X++:
static void Job56(Args _args)
{
    date DateOfNthWeekdayInMonth (int _nthWeekday, int _numOfEntry = 1, date _date = today () )
    {
        date    bomDate     = dateStartMth( _date );
        int     bomWeekday  = dayOfWk( bomDate );
        return  bomDate + (_nthWeekday - bomWeekday) 
                        + ( bomWeekday > _nthWeekday ? 7 : 0)
                        + (_numOfEntry - 1) * 7;
    }
    ;

    info( strFmt('%1', DateOfNthWeekdayInMonth( 1, 2 )) );
    info( strFmt('%1', DateOfNthWeekdayInMonth( 2, 2 )) );
    info( strFmt('%1', DateOfNthWeekdayInMonth( 3, 2 )) );
    info( strFmt('%1', DateOfNthWeekdayInMonth( 4, 2 )) );
    info( strFmt('%1', DateOfNthWeekdayInMonth( 5, 2 )) );
    info( strFmt('%1', DateOfNthWeekdayInMonth( 6, 2 )) );
    info( strFmt('%1', DateOfNthWeekdayInMonth( 7, 2 )) );
}
Результаты 2-го вхождения:
12.02.2007
13.02.2007
14.02.2007
08.02.2007
09.02.2007
10.02.2007
11.02.2007
За это сообщение автора поблагодарили: Himan (1), moid (1).
Теги
дата

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Подробный отчет по датам к оплате ax_f DAX: Функционал 3 15.11.2004 17:10

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:11.