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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.05.2006, 11:19   #1  
Mila is offline
Mila
Участник
 
73 / 31 (2) +++
Регистрация: 21.04.2006
Рабочие дни
Добрый день. Подскажите пожалуйста, какой класс возвращает количество рабочих дней в определенном периоде? Извините если вопрос покажется глупым, просто я ничего на форуме не нашла.
Старый 02.05.2006, 11:41   #2  
kosenkov is offline
kosenkov
Columbus IT
Columbus IT
 
202 / 38 (2) +++
Регистрация: 19.08.2005
Адрес: Москва
Есть классы, работающие с календарями (основное - календарь).
WorkCalendar
WorkCalendarShed и т.д.

Метод forward возвращает дату через количество дней по определенному календарю
Наверное, есть методы и про количество рабочих дней в определенном периоде
Старый 02.05.2006, 11:47   #3  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Можно просто пощитать дни перебирая за определенный период, если не субб. или воскр., то увеличивать счетчик. (Enum - WeekDays). Только вот как быть с красными днями календаря
Старый 02.05.2006, 13:16   #4  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от Sada
Можно просто пощитать дни перебирая за определенный период, если не субб. или воскр., то увеличивать счетчик. (Enum - WeekDays). Только вот как быть с красными днями календаря
Зачем же так грубо ?
Если есть лицензия на модуль расчетов с персоналом, то вообще все проще. В тех календарях есть методы для расчета количества дней с учетом праздников (таблица RPayCalendarTable). Если же нет, то в WorkCalendar подсчет следующей рабочей даты идет с учетом настроек рабочих дней.
Старый 02.05.2006, 15:21   #5  
Mila is offline
Mila
Участник
 
73 / 31 (2) +++
Регистрация: 21.04.2006
Большое спасибо. По-моему, даже лицензии не нужно. Календари входят в стандартный пакет.
Старый 02.05.2006, 15:41   #6  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Код:
select count(RecId)
        from _WorkCalendarDate
        group by TransDate
         where _WorkCalendarDate.WorkTimeControl == WorkTimeControl::Open
            && _WorkCalendarDate.CalendarId == _WorkCalendarId
            && _WorkCalendarDate.TransDate >= _dtFrom
            && _WorkCalendarDate.TransDate <= _dtTo;
C уважением, itfs.
Старый 02.05.2006, 16:36   #7  
Mila is offline
Mila
Участник
 
73 / 31 (2) +++
Регистрация: 21.04.2006
Есть готовый метод periodWorkDays на таблице RPayCalendarDate, если кому-то это интересно. Возвращает число рабочих дней заданного календаря за определенный период.
Старый 02.05.2006, 17:04   #8  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
Цитата:
Сообщение от Mila
Есть готовый метод periodWorkDays на таблице RPayCalendarDate, если кому-то это интересно. Возвращает число рабочих дней заданного календаря за определенный период.
Хорошо когда в системе много календарей. Главное сделать правильный выбор.
Обратите внимание, что вы используете не тот календарь, что входит в "основную поставку". Впрочем, раз он у вас есть ...

С уважением, itfs.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Рабочие дни в календаре fialka DAX: Программирование 5 23.01.2008 19:00
платежные дни RE DAX: Функционал 2 20.10.2005 13:09
Как в Вашей компании автоматизируются удаленные рабочие места Axapta? chel DAX: Администрирование 4 16.06.2004 13:54
При расчета отпуска не правильно считаются дни ea DAX: Функционал 2 28.11.2003 18:49

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

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

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