yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Quintiq file version 2.0
#parent: #root
StaticMethod Create (
  String id,
  MacroPlan owner,
  String name,
  UnitOfMeasure_MP unitofmeasure,
  Unit parent,
  String capacitytype,
  String createstockingpointtype,
  SupplyChainView view,
  Number gridx,
  Number gridy,
  Boolean isfromdb
) as Unit
{
  Description: 'Create a unit base with minimal arguments.'
  TextBody:
  [*
    // Populate the required arguments with default values
    group                        := null( Group );
    currency                     := owner.BaseCurrency();
    isvisible                    := true;
    startdate                    := Date::MinDate();
    enddate                      := Date::MaxDate();
    campaigntypeduration         := Duration::Days( 3650 );
    isplannedinfinite            := false;
    minimumquantity              := 0.0;
    hasmaximumquantity           := false;
    maximumquantity              := 0.0;
    lotsize                      := 0.0;
    usericonname                 := GlobalParameters_MP::GetDefaultUnitIcon();
    textcolor                    := 'Black';
    namedisplaybehavior          := '';
    quantitytoprocess            := ifexpr( isnull( parent ), GlobalParameters_MP::GetQTProcessOut(), parent.QuantityToProcess() );
    giscountrycode               := '';
    giscity                      := '';
    gispostalcode                := '';
    notes                        := '';
    hascapacitysmoothing         := false;
    issmoothcapacityoverallperiods := false;
    usercapacitysmoothinglength  := 2;
    capacitysmoothingpercentagedelta := 0.0;
    isoverlapcapacitysmoothing   := false;
    isincludedinsupplyspec       := true;
    issupplier                   := false;
    hasuserfrozenfutureduration  := false;
    userfrozenfutureduration     := Duration::Zero(); 
    useshiftoptimization         := false;
    
    // Create unit with minimal user passed in arguments
    unit := Unit::Create( id, owner, name, parent, capacitytype, group,
                          unitofmeasure, currency, view, isvisible, gridx, gridy,
                          startdate, enddate, campaigntypeduration,
                          isplannedinfinite,
                          minimumquantity, hasmaximumquantity, maximumquantity, lotsize,
                          usericonname,
                          textcolor, namedisplaybehavior,
                          createstockingpointtype,
                          quantitytoprocess,
                          giscountrycode, giscity, gispostalcode,
                          notes,
                          hascapacitysmoothing,
                          issmoothcapacityoverallperiods,
                          usercapacitysmoothinglength,
                          capacitysmoothingpercentagedelta,
                          isoverlapcapacitysmoothing,
                          isincludedinsupplyspec, issupplier,
                          hasuserfrozenfutureduration, userfrozenfutureduration,
                          useshiftoptimization,
                          isfromdb );
    
    return unit;
  *]
}