| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod CreateFillingCapacityOrderScheme ( | 
|   MacroPlan owner, | 
|   String schemeName | 
| ) | 
| { | 
|   TextBody: | 
|   [* | 
|     // NBoTk Sep-14-2023 (created) | 
|      | 
|     fillingCapacityOrders := selectset( owner,FillingCapacityOrder,fillingOrder, | 
|                                         not fillingOrder.IsFilling() | 
|                                         ); | 
|      | 
|     // customer | 
|     customerList := selectvalues( fillingCapacityOrders,Elements,e, | 
|                                   e.Customer()); | 
|     customer := customerList.Concatenate( ",") | 
|      | 
|     // customerID | 
|     customerIDList := selectvalues( fillingCapacityOrders,Elements,e, | 
|                                    e.CustomerID()); | 
|     customerID := customerIDList.Concatenate( ",") | 
|      | 
|     // businessType | 
|     businessTypeList := selectvalues( fillingCapacityOrders,Elements,e, | 
|                                       e.BusinessType()); | 
|     businessType := businessTypeList.Concatenate( ",") | 
|      | 
|     // salesSegmentName | 
|     salesSegmentNameList := selectvalues( fillingCapacityOrders,Elements,e, | 
|                                           e.SalesSegmentName()); | 
|     salesSegmentName := salesSegmentNameList.Concatenate( ",") | 
|      | 
|     schemeDate := Date::Today(); | 
|      | 
|     filllingCapacityOrderScheme := owner.FilllingCapacityOrderScheme(relnew,SchemeName := schemeName,SchemeDate := schemeDate,BusinessType := businessType,Customer := customer,CustomerID := customerID, | 
|                                                                       SalesSegmentName := salesSegmentName); | 
|      | 
|      | 
|     traverse( fillingCapacityOrders,Elements,e) | 
|     { | 
|       e.SchemeName(schemeName); | 
|       e.IsFilling(true); | 
|       filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, e); | 
|     } | 
|      | 
|     // 版本号 | 
|     verNoOrder := select( filllingCapacityOrderScheme,FillingCapacityOrder,o, | 
|                                  o.VerNo() <> '' | 
|                                  ) | 
|      | 
|     // 需要将销售订单和预售订单同时保存到方案中 | 
|     traverse( owner,CustomerAndForecastOrder,order) | 
|     { | 
|        | 
|          fillingOrder := owner.FillingCapacityOrder(relnew,BusinessType := order.BusinessType(),Customer := order.Customer(),CustomerID := order.CustomerID(), | 
|                                                                            DemandDate := order.DemandDate(),ForecastDemandDate := order.ForecastDemandDate(),IsFilling := true, | 
|                                                                            OrderType := '提拉',PanelBigSheetQuantity := order.PanelBigSheetQuantity(),ProductID := order.ProductID(), | 
|                                                                            Quantity := order.Quantity(),SalesSegmentName := order.SalesSegmentName(),SalesAmount := order.SalesAmount(), | 
|                                                                            SchemeName := schemeName,StockingPointID := order.StockingPointID(),UnitOfMeasureName := order.UnitOfMeasureName(), | 
|                                                                            VerNo := verNoOrder.VerNo() | 
|                                                                            ); | 
|                                                                             | 
|         filllingCapacityOrderScheme.FillingCapacityOrder(relinsert, fillingOrder); | 
|     } | 
|   *] | 
| } |