|
![]() |
#1 |
Участник
|
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). |
![]() |
#2 |
Участник
|
Спасибо все работает.
А что такое "Одобрить сообщение"? |
|
![]() |
#3 |
Участник
|
Зеленый квадратик рядом с ником, вот когда одобряеш второе число повышается это типа рейтенга
__________________
Рабочий день сокращает жизнь на 8 часов ![]() |
|
![]() |
#4 |
Участник
|
Продолжаем...
![]() мне нужно к заданной дате прибавить несколько месяцев и число изменить на другое... Пример: Есть дата 22.02.2007, нужно число установить в 12 и прибавить 3 месяца. Причем если бы месяц был 11(22.11.2007), то год увеличивается и месяц = 2 (12.02.2008) |
|
![]() |
#5 |
Участник
|
Цитата:
http://axapta.mazzy.ru/lib/ledgerperiodcode/ |
|
![]() |
#6 |
Участник
|
что ж вы там такое с этими датами делаете??
X++: print mkDate(12, mthOfYr(nextQtr(SystemDateGet())), year(nextQtr(SystemDateGet()))); pause; |
|
![]() |
#7 |
Участник
|
Цитата:
print mkDate(12, mthOfYr(nextQtr(SystemDateGet())), year(nextQtr(SystemDateGet())));
И как в этой конструкции добавить несколько месяцев и лет? |
|
![]() |
#8 |
Участник
|
KERNDOC://Functions/nextQtr
См. nextYr, prevYr, nextMth, prevMth, ... Kernel Functions, одним словом. (Shift + F4) |
|
![]() |
#9 |
Участник
|
Цитата:
KERNDOC://Functions/nextQtr
См. nextYr, prevYr, nextMth, prevMth, ... Kernel Functions, одним словом. (Shift + F4) А другого способа нет? |
|
![]() |
#10 |
Участник
|
Есть!
![]() Можно 1 раз вызвать nextYr и два раза prevMth() А вообще, если уж пишите, попробуйте просто с использованием этих функций сделать универсальную свою. А про интервалы вам не понравился совет? |
|
![]() |
#11 |
NavAx
|
Ну что все так набросились на человека...
А то что встроенный в аксапту аутлук позволит реализовать workflow, любые одобрения, обмен сообщениями, посылать ссылки на документы, котрые будут открывать эти документы и прочее, конечно если все это в нем допилить. |
|
![]() |
#12 |
Участник
|
Цитата:
одобрения см в управлении платежами ссылки на документы см в документооброте. разве что обмен сообщениями... |
|
![]() |
#13 |
NavAx
|
я же не про стандартный аутлук говорю, а про самописный, и при его помощи можно реализовать подобие workflow, что бы некий документ прошел несколько человек, котрые сделав с ним что то, могли породить другие докуметы и т.д.
документ - это не файл *.doc, а аксаптовый журнал (sales, purch, ledger, invent...). ну это жалкое подобие того что нужно |
|
![]() |
#14 |
Участник
|
Есть строка (1100001), которая определяет день недели. Единицы означают, что день выбран (понедельник,вторник, воскресенье). Нули соответственно не выбранные дни.
Нужна функция, в параметрах которой передаются: дата начала, кол-во недель. X++: date WeekNt(date _date, int Coun) { //нужно, чтобы эта функция возвращала дату следующего выбранного дня недели //относительно _date + Coun //К примеру: к 28.02.2007 прибавляем 3 недели и ф-я должна вернуть выбранный // день. } следующего выбранного дня, если больше выбранных дней нет в этой неделе, то к дате прибавляем Coun и смотрим новую неделю Последний раз редактировалось moid; 28.02.2007 в 16:38. |
|
![]() |
#15 |
Moderator
|
Цитата:
![]() А можно от руки расписать несколько последовательных вызовов функции и значений, которые будут возвращаться? Может, чисто визуально глядя на последовательность что-нить и родится... Распишите здесь, вместе поглядим P.S. ИМХО Coun бы только куда-нибудь довели до "общепринятого": либо до Count, либо до cnt, а то прямо на стуле ерзаю от такого идентификатора ![]() |
|
![]() |
#16 |
Участник
|
Цитата:
Распишите здесь, вместе поглядим
Если есть Outlook можно там посмотреть как работает. Задачи -> Повторения -> Еженедельно -> Первый пункт |
|
![]() |
#17 |
Moderator
|
Цитата:
//К примеру: к 28.02.2007 прибавляем 3 недели и ф-я должна вернуть выбранный
// день. Недели же все одинаковые - по 7 дней. Поэтому дата, отстоящая вперед (назад) на заданное кол-во недель, получается простым прибавлением (вычитанием) к заданной дате кол-ва дней, кратного 7. Хотя, учитывая Ваш шаблон 1100001, Вам, наверное, хочется, чтобы некая функция генерила примерно такую последовательность: 1, 2, 7, 8, 9, 14, 15, 16, 21... Нет? |
|
![]() |
#18 |
Участник
|
Я сделал. Глючит время-от времени где-то. Отладчиком еще пройдусь и завтра скину код
|
|
![]() |
#19 |
Участник
|
PHP код:
|
|
![]() |
#20 |
Участник
|
Да, фраза не для слабонервных.
А зачем? тот, что в Офисе от Microsoft плохо работает? ![]() Инетересно было бы посмотреть, что получится. Или это строго коммерческая разработка? |
|
Теги |
дата |
|
![]() |
||||
Тема | Ответов | |||
Подробный отчет по датам к оплате | 3 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|