陈清红
2025-04-14 880f3c0257eeb8c37761d484258fdd102a369a19
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
76
77
78
79
80
81
82
Quintiq file version 2.0
#parent: #root
StaticMethod Create (
  MacroPlan owner,
  String id,
  String parentunitid,
  Number displayindex,
  String name,
  String qtytoprocess,
  String usericonname,
  String capacitytype,
  String currencyid,
  Date startdate,
  Date enddate,
  Boolean isplannedinfinite,
  String unitofmeasurename,
  String groupname,
  Real minqty,
  Real maxqty,
  Real lotsize,
  String giscountrycode,
  String giscity,
  String gispostalcode,
  Boolean hasmaxqty,
  Boolean hascapacitysmoothing,
  Number usercapacitysmoothinglength,
  Real capacitysmoothinggpercentagedelta,
  Boolean isoverlapcapacitysmoothing,
  Boolean issmoothcapacityoerallperiods,
  String notes,
  Duration campaigntypeduration,
  Boolean isincludedinsupplyspecification,
  Boolean issupplier,
  Boolean hasuserfrozenfutureduration,
  Duration userfrozenfutureduration,
  Boolean useshiftoptimization,
  Boolean isfromdb
) as Unit
{
  Description: 'Create a unit base on its type'
  TextBody:
  [*
    // For MPSync Synchronization purpose
    unit := owner.Unit( relnew,
                        ID := id,
                        ParentUnitID := parentunitid,
                        DisplayIndexForExcel := displayindex,
                        Name := name,
                        QuantityToProcess := qtytoprocess,
                        IconName := usericonname,
                        CapacityType := capacitytype,
                        CurrencyID := currencyid,
                        StartDate := startdate,
                        EndDate := enddate,
                        IsPlannedInfinite := isplannedinfinite,
                        UnitOfMeasureName := unitofmeasurename,
                        GroupName := groupname,
                        MinimumQuantity := minqty,
                        MaximumQuantity := maxqty,
                        LotSize := lotsize,
                        GISCountryCode := giscountrycode,
                        GISCity := giscity,
                        GISPostalCode := gispostalcode,
                        HasMaximumQuantity := hasmaxqty,
                        HasCapacitySmoothing := hascapacitysmoothing,
                        UserCapacitySmoothingLength := usercapacitysmoothinglength,
                        CapacitySmoothingPercentageDelta := capacitysmoothinggpercentagedelta,
                        IsOverlapCapacitySmoothing := isoverlapcapacitysmoothing,
                        IsSmoothCapacityOverAllPeriods := issmoothcapacityoerallperiods,
                        Notes := notes,
                        CampaignTypeDuration := campaigntypeduration,
                        IsIncludedInSupplySpecification := isincludedinsupplyspecification,
                        IsSupplier := issupplier,
                        HasUserFrozenFutureDuration := hasuserfrozenfutureduration,
                        UserFrozenFutureDuration := userfrozenfutureduration,
                        UseShiftOptimization := useshiftoptimization
                        );
    unit.IsManuallyConfigured( not isfromdb );
    
    return unit
  *]
}