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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.02.2007, 14:59   #21  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
Цитата:
А разве 7 день не является последним в неделе???
Блин... голова под конец дня съезжает. Не неделя, а месяц
Старый 21.02.2007, 15:02   #22  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007

DreamCreator
Спасибо!
Старый 21.02.2007, 15:08   #23  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от moid Посмотреть сообщение
DreamCreator
Не правильно спросил. Нужно узнать является ли сегодняшний день последним в неделе. В параметре указываем день(1-7), а результатом является Boolean(true - последний день или false)
У тебя результат выдает по текущему дню последнюю дату такого дня
Ах, Вы тренер наш по гимнастике для ума!
Я, честно говоря, понял точно так же, как DreamCreator, и у меня такой же метод лечения геморроя, только безИтерационный:
X++:
static void Job55(Args _args)
{
    date DateOfLastWeekdayInMonth (int _lastWeekday, date _date = today () )
    {
        date    eomDate     = endMth( _date );
        int     eomWeekday  = dayOfWk( eomDate );
        return  eomDate - (eomWeekday - _lastWeekday) - (eomWeekday < _lastWeekday ? 7 : 0);
    }
    ;

    info( strFmt('%1', DateOfLastWeekdayInMonth( 1 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 2 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 3 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 4 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 5 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 6 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 7 )) );
}
Результат:
26.02.2007
27.02.2007
28.02.2007
22.02.2007
23.02.2007
24.02.2007
25.02.2007
За это сообщение автора поблагодарили: moid (1).
Старый 21.02.2007, 15:15   #24  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
DreamCreator
рано спасибо сказал, результат выдает только для последнего вторника текщего месяца правильно почему-то...А остальные пишет, что не последний
Старый 21.02.2007, 15:18   #25  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от moid Посмотреть сообщение

DreamCreator
Спасибо!
Есть такая опция справа: "Одобрить сообщение". По возможности не пренебрегайте, и к Вам сразу потянутся люди
Старый 21.02.2007, 15:19   #26  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
чо сделать то надо я не понял ничего...
Старый 21.02.2007, 15:22   #27  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
А уже ничего... Все сделано
Старый 21.02.2007, 15:22   #28  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от moid Посмотреть сообщение
DreamCreator
рано спасибо сказал, результат выдает только для последнего вторника текщего месяца правильно почему-то...А остальные пишет, что не последний
X++:
Days        day = 2;
Не в этом дело?

(т.е. job не принимает параметров -- он настроен только на второй день при небольшой доработке - можно все переменные оформить в виде параметров)
+ У Gustav оформленный вариант, с меньшим числом строк!!
Старый 21.02.2007, 15:25   #29  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Sada Посмотреть сообщение
чо сделать то надо я не понял ничего...
Sada, это первая часть нашего треннинга - понять, что надо сделать... Присоединяйтесь!
Старый 21.02.2007, 15:32   #30  
fialka is offline
fialka
Участник
 
347 / 16 (1) ++
Регистрация: 05.10.2006
Адрес: Екатеринбург
Цитата:
Сообщение от Gustav Посмотреть сообщение
Sada, это первая часть нашего треннинга - понять, что надо сделать... Присоединяйтесь!
Ребята, это действительно была неплохая зарядка..Мелочи, а приятно такими задачками заниматся .
может ещё поразбираем в понедельник после выходных, задачки по вычислению дат и дней... . чтобы проверить , как мозг работает
Старый 21.02.2007, 15:36   #31  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
Возможно по ходу дела еще что-нибудь подкину сюда...
У меня тут заваруха с датами большая...
Старый 21.02.2007, 15:42   #32  
fialka is offline
fialka
Участник
 
347 / 16 (1) ++
Регистрация: 05.10.2006
Адрес: Екатеринбург
Цитата:
Сообщение от moid Посмотреть сообщение
Возможно по ходу дела еще что-нибудь подкину сюда...
У меня тут заваруха с датами большая...
Не.. классно.. у меня тоже бывает с датами проблемы... а так все случаи рассмотрим.. может в будущем пригодятся
Старый 21.02.2007, 15:45   #33  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
Gustav, а как подобным образом вывести даты не последних, а первых дней месяца?
Старый 21.02.2007, 15:48   #34  
Himan is offline
Himan
Участник
Аватар для Himan
 
312 / 12 (1) ++
Регистрация: 07.11.2006
Адрес: Tumen
Цитата:
Сообщение от moid Посмотреть сообщение
Gustav, а как подобным образом вывести даты не последних, а первых дней месяца?
в предыдущем условии шли с конца, а теперь с ночала надо и все
__________________
Рабочий день сокращает жизнь на 8 часов
Старый 21.02.2007, 16:01   #35  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
Цитата:
в предыдущем условии шли с конца, а теперь с ночала надо и все
Можно пример, а то я чёт туплю
Старый 21.02.2007, 16:07   #36  
Himan is offline
Himan
Участник
Аватар для Himan
 
312 / 12 (1) ++
Регистрация: 07.11.2006
Адрес: Tumen
что-то вроде........
X++:
static void Job55(Args _args)
{
    date DateOfLastWeekdayInMonth (int _lastWeekday, date _date = today () )
    {
        date    eomDate     = dateStartMth( _date );
        int     eomWeekday  = dayOfWk( eomDate );
        return  eomDate + _lastWeekday - 1 ;
    }
    ;

    info( strFmt('%1', DateOfLastWeekdayInMonth( 1 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 2 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 3 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 4 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 5 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 6 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 7 )) );
}
т.е. есть 1 прибовляеш 1 и получаеш дату с начала
__________________
Рабочий день сокращает жизнь на 8 часов
Старый 21.02.2007, 16:12   #37  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
Не правильно работает.
info( strFmt('%1', DateOfFirstWeekdayInMonth(1 )) );
результат = 1,02,07

info( strFmt('%1', DateOfFirstWeekdayInMonth( 5 )) );
результат = 5,02,07
Старый 21.02.2007, 16:18   #38  
Himan is offline
Himan
Участник
Аватар для Himan
 
312 / 12 (1) ++
Регистрация: 07.11.2006
Адрес: Tumen
А да щас исправлю
__________________
Рабочий день сокращает жизнь на 8 часов
Старый 21.02.2007, 16:33   #39  
Himan is offline
Himan
Участник
Аватар для Himan
 
312 / 12 (1) ++
Регистрация: 07.11.2006
Адрес: Tumen
X++:
static void Job55(Args _args)
{
    date DateOfLastWeekdayInMonth (int _lastWeekday, date _date = today () )
    {
        date    eomDate     = dateStartMth( _date );
        int     eomWeekday  = dayOfWk( eomDate );
        return  eomDate + ( _lastWeekday - eomWeekday ) + (eomWeekday > _lastWeekday ? 7 : 0);
    }
    ;

    info( strFmt('%1', DateOfLastWeekdayInMonth( 1 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 2 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 3 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 4 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 5 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 6 )) );
    info( strFmt('%1', DateOfLastWeekdayInMonth( 7 )) );
}
все ок, просто протупил малость, конец рабочего дня
__________________
Рабочий день сокращает жизнь на 8 часов
За это сообщение автора поблагодарили: moid (1).
Старый 21.02.2007, 16:36   #40  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
Мне бы еще такую конструкцию как сделал Gustav, только с начала месяца... И было бы замечательно...
Теги
дата

 

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

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

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

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