yanweiyuan3
2023-09-15 6982337837db3443d05ada70c0afbf331032cf15
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Quintiq file version 2.0
#parent: #root
StaticMethod CopyVersion (
  GlobalOTDTable owner,
  String businessname
) as VersionControl
{
  Description: '复制当前版本并更新版本号'
  TextBody:
  [*
    // Administrator Sep-13-2023 (created)
    createtime := DateTime::ActualTime();
    user := QuintiqUser::CurrentUser().Username();
    starttime := DateTime::Construct(1970,1,1,0,0,0);
    // Get the local scenario businesstype
    businesstype := GlobalOTDTable::GetBusinessTypeName( businessname );
    
    // Get the older version info
    oldversionid := "";
    oldversionname := "";
    
    latestversion := VersionControl::FindLatestUpdateVersion( owner, businesstype );
    copyversionid := latestversion.VersionID();
    
    if( copyversionid.FindString( "-", 0 ) > 0 ){
      latestversionlist := copyversionid.Tokenize( "-" );
      latestversionnamelist := latestversion.LongVersionName().Tokenize( "-" );
      for( i := 0; i < latestversionlist.Size(); i := i + 1 ){
        oldversionid := oldversionid + "-" + latestversionlist.Element( i );
        oldversionname := oldversionname + "-" + latestversionnamelist.Element( i );
        }
      oldversionid := oldversionid + "-";
      oldversionname := oldversionname + "-";
      }
    
    // Calculate new version info
    additionversionid := ( createtime.MinutesAsReal( starttime ) * 60 * 10 + createtime.SecondOfMinute() ).Round( 0 );
    newversionid := oldversionid + [String]additionversionid;
    newcaltype := latestversion.CalType();
    newsingleversionname := newcaltype + "(" + createtime.Format( "Y/M2/D2 H:m:s" ) + ")";
    newversionname := oldversionname + newsingleversionname;
    
    // Create new version
    newversion := VersionControl::Create( owner, businesstype, newcaltype, createtime, newversionid, newversionname, newsingleversionname, user );
    
    return newversion;
  *]
}