yypsybs
2023-09-09 3cb5a54def670d97301f07170fcaad213bfc54f2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Quintiq file version 2.0
#parent: #root
StaticMethod GetStartOfPreviousMonth (
  DateTime datetime,
  Number nrofrecurrent
) declarative remote as DateTime
{
  Description:
  [*
    Return the start date of the previous month for the given date and number of recurrent in month.
    This method will return a exact date after a month from the date, e.g Given 15 Feb, this will return 15 Jan.
  *]
  TextBody:
  [*
    // DWE2 Apr-25-2016 (created)
    newdate := datetime;
    durationfromstart := newdate - newdate.StartOfMonth();
    
    for( reccurent := 1; reccurent <= nrofrecurrent; reccurent++ )
    {
      startoflastmonth := ( newdate.StartOfMonth() - Duration::Days( 1 ) ).StartOfMonth();
      newdate := startoflastmonth + durationfromstart;
    }
    
    return newdate
  *]
}