Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
	
		
		已添加26个文件
	
		
		已修改17个文件
	
		
		已删除39个文件
	
	
 
	
	
	
	
	
	
	
	
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Relation PackagingPlanNewCapability_MacroPlan_MacroPlan_PackagingPlanNewCapability | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '1[413988.0.1594771453]' | 
|---|
|  |  |  | DefaultRelationStrategy | 
|---|
|  |  |  | { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | RelationSide.LeftSide MacroPlan | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '3[413988.0.1594771455][413988.0.1594771454][413988.0.1594771456]' | 
|---|
|  |  |  | Cardinality: '0to1' | 
|---|
|  |  |  | ObjectDefinition: PackagingPlanNewCapability | 
|---|
|  |  |  | OwningSide: 'Reference' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | RelationSide.RightSide PackagingPlanNewCapability | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '3[413988.0.1594771458][413988.0.1594771457][413988.0.1594771459]' | 
|---|
|  |  |  | Cardinality: '1toN' | 
|---|
|  |  |  | ObjectDefinition: MacroPlan | 
|---|
|  |  |  | OwningSide: 'Owned' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Function CalcEstimatedTotalCost | 
|---|
|  |  |  | { | 
|---|
|  |  |  | TextBody: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | // lihongji Oct-9-2024 (created) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | value := this.StorageFeesForRentedWarehouses()             + | 
|---|
|  |  |  | this.OutboundExpensesForRentedWarehouses()        + | 
|---|
|  |  |  | this.ExternalRentalWarehouseTransportationCosts() + | 
|---|
|  |  |  | this.RentalWarehouseStorageFees()                 + | 
|---|
|  |  |  | this.CleaningCost() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.EstimatedTotalCost( value ); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Function CalcTotalCost | 
|---|
|  |  |  | { | 
|---|
|  |  |  | TextBody: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | // lihongji Oct-9-2024 (created) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | value := this.EstimatedTotalCost() * this.Coefficient(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.TotalCost( value ); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | // åå»ºè¡ | 
|---|
|  |  |  | genrations := selectuniquevalues( macroPlan, Product_MP, tempPMP, tempPMP.Generation().TrimBoth() <> "", tempPMP.Generation() ); | 
|---|
|  |  |  | mqbmlbs    := selectuniquevalues( macroPlan, Product_MP, tempPMP, tempPMP.MQBMLB().TrimBoth() <> "", tempPMP.MQBMLB() ); | 
|---|
|  |  |  | traverse ( genrations, Elements, g, g.ToUpper() = "EVO5" or g.ToUpper() = "GEN3" ) { | 
|---|
|  |  |  | traverse ( mqbmlbs, Elements, m, m.ToUpper() = "MLB" or m.ToUpper() = "MQB" ) { | 
|---|
|  |  |  | traverse ( genrations, Elements, g ) { | 
|---|
|  |  |  | traverse ( mqbmlbs, Elements, m ) { | 
|---|
|  |  |  | macroPlan.CC_EngineRackRow( relnew, Generation := g, MLB_MQB := m ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å建åå
æ ¼ | 
|---|
|  |  |  | traverse ( macroPlan, CC_EngineRackRow, ccerr ) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | traverse ( macroPlan, CC_EngineRackRow, ccerr ) { // å¾ªç¯è¡ | 
|---|
|  |  |  | info( "å½åéåçè¡ï¼", ccerr.Generation(), " ", ccerr.MLB_MQB() ); | 
|---|
|  |  |  | traverse ( macroPlan, CC_EngineRackColumn, ccerc ) { // å¾ªç¯å | 
|---|
|  |  |  | // å卿ºææ¬åæ° | 
|---|
|  |  |  | lce  := select( macroPlan, LogisticsCostEngine, tempLCE, tempLCE.Generation() = ccerr.Generation() and tempLCE.MLB_MQB() = ccerr.MLB_MQB() and tempLCE.Factory() = "é¿æ¥å·¥å" ); | 
|---|
|  |  |  | lce  := select( macroPlan, LogisticsCostEngine, tempLCE, tempLCE.Generation() = ccerr.Generation() and tempLCE.MLB_MQB() = ccerr.MLB_MQB() and tempLCE.Factory() = "é¿æ¥å·¥å" | 
|---|
|  |  |  | and tempLCE.StartDate() <= ccerc.StartDate() and tempLCE.EndDate() >= ccerc.StartDate().StartOfNextMonth() ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // ææ¶ææ¬åæ° | 
|---|
|  |  |  | lcmr := select( macroPlan, LogisticsCostMaterialRack, tempLCMR, tempLCMR.Factory() = "é¿æ¥å·¥å" ); | 
|---|
|  |  |  | lcmr := select( macroPlan, LogisticsCostMaterialRack, tempLCMR, tempLCMR.Factory() = "é¿æ¥å·¥å" | 
|---|
|  |  |  | and tempLCMR.StartDate() <= ccerc.StartDate() and tempLCMR.EndDate() >= ccerc.StartDate().StartOfNextMonth() ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | traverse ( macroPlan, CC_EngineRackColumn, ccerc ) { | 
|---|
|  |  |  | // è¿è¾ææ¬åæ° | 
|---|
|  |  |  | lct  := select( macroPlan, LogisticsCostTransport, tempLCT, tempLCT.Product() = "å卿º" and tempLCT.Origin() = "CC åå
åº" and tempLCT.Destination() = "é¿æ¥å¤ç§åº" ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å½åææ«æåä¸å¤©æ¥æ | 
|---|
|  |  |  | lastDayOfThisMonth := ccerc.StartDate().StartOfNextMonth() - 1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | cell := ccerr.CC_EngineRackCell( relnew ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // ç©ºææ¶æ°éï¼é¿æ¥å该产åçææ¶æ»æ°é - å卿ºåºå / å
è£
容é ï¼ | 
|---|
|  |  |  | lastDayOfThisMonth := ccerc.StartDate().StartOfNextMonth() - 1; | 
|---|
|  |  |  | plannedInventory := sum( macroPlan, Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod, tempPISPIP, | 
|---|
|  |  |  | tempPISPIP.ProductInStockingPoint_MP().Product_MP().IsLeaf()                          and | 
|---|
|  |  |  | tempPISPIP.ProductInStockingPoint_MP().Product_MP().ParentID()   = "产æå"           and | 
|---|
|  |  |  | exists( tempPISPIP.ProductInStockingPoint_MP().Product_MP(), AllParent.AsParent, tempPMP, tempPMP.ID() = "å卿º" )         and | 
|---|
|  |  |  | tempPISPIP.ProductInStockingPoint_MP().StockingPointID()         = "é¿æ¥å¤ç§åº"       and | 
|---|
|  |  |  | tempPISPIP.ProductInStockingPoint_MP().Product_MP().Generation() = ccerr.Generation() and | 
|---|
|  |  |  | tempPISPIP.ProductInStockingPoint_MP().Product_MP().MQBMLB()     = ccerr.MLB_MQB()    and | 
|---|
|  |  |  | tempPISPIP.Start().Date()                                                  = lastDayOfThisMonth, | 
|---|
|  |  |  | tempPISPIP.PlannedInventoryLevelEnd() ); | 
|---|
|  |  |  | cell.PackagingCapacity( guard( lce.PackagingCapacity(), 0 ) ); | 
|---|
|  |  |  | cell.PackagingCapacity( guard( lce.PackagingCapacity(), 1 ) ); | 
|---|
|  |  |  | cell.PlannedInventory( plannedInventory ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å¤ç§åºå
¥åºè´¹ç¨ï¼å卿ºéé / å
è£
容é[åä¸åæ´] * ææ¶å
¥åºåä»·ï¼ | 
|---|
|  |  |  | engineSales := sum( macroPlan, FSImportData, tempFSID, | 
|---|
|  |  |  | tempFSID.Unit()              = "é¿æ¥å·¥å"               and | 
|---|
|  |  |  | tempFSID.Unit()              = FinancialProductionReport::GetDefaultCCUnit() and | 
|---|
|  |  |  | tempFSID.Generation()        = ccerr.Generation()       and | 
|---|
|  |  |  | tempFSID.MqbMlb()            = ccerr.MLB_MQB()          and | 
|---|
|  |  |  | tempFSID.StartDate().Year()  = ccerc.StartDate().Year() and | 
|---|
|  |  |  | tempFSID.StartDate().Month() = ccerc.StartDate().Month(), | 
|---|
|  |  |  | tempFSID.Quantity() ); | 
|---|
|  |  |  | cell.StorageFeesForRentedWarehouses( guard( [Number] ( engineSales / guard( lce.PackagingCapacity(), 0 ) ) * guard( lcmr.WarehousingPrice(), 0 ), 0 ) ); | 
|---|
|  |  |  | cell.StorageFeesForRentedWarehouses( [Number] ( engineSales / guard( lce.PackagingCapacity(), 1 ) * guard( lcmr.WarehousingPrice(), 1 ) ) ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å¤ç§åºåºåºè´¹ç¨ï¼å卿ºäº§é / å
è£
容é[åä¸åæ´] * ææ¶åºåºåä»·ï¼ | 
|---|
|  |  |  | engineProductions := sum( macroPlan, FPImportData, tempFPID, | 
|---|
|  |  |  | tempFPID.Unit()              = "é¿æ¥å·¥å"               and | 
|---|
|  |  |  | tempFPID.Unit()              = FinancialProductionReport::GetDefaultCCUnit() and | 
|---|
|  |  |  | tempFPID.Generation()        = ccerr.Generation()       and | 
|---|
|  |  |  | tempFPID.MqbMlb()            = ccerr.MLB_MQB()          and | 
|---|
|  |  |  | tempFPID.StartDate().Year()  = ccerc.StartDate().Year() and | 
|---|
|  |  |  | tempFPID.StartDate().Month() = ccerc.StartDate().Month(), | 
|---|
|  |  |  | tempFPID.Quantity() ); | 
|---|
|  |  |  | cell.OutboundExpensesForRentedWarehouses( guard( [Number] ( engineProductions / guard( lce.PackagingCapacity(), 0 ) ) * guard( lcmr.OutboundPrice(), 0 ), 0 ) ); | 
|---|
|  |  |  | cell.OutboundExpensesForRentedWarehouses( [Number] ( engineProductions / guard( lce.PackagingCapacity(), 1 ) ) * guard( lcmr.OutboundPrice(), 1 ) ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å¤ç§åºè¿è¾è´¹ç¨ï¼å卿ºè¿è¾é / å
è£
容é / è£
载容éï¼åä¸åæ´ï¼ * ææ¶è¿è¾åä»· | 
|---|
|  |  |  |  | 
|---|
|  |  |  | transportationQuantity := sum( macroPlan, Unit.Lane.LaneLeg.Trip.ProductInTrip, tempPIT, | 
|---|
|  |  |  | tempPIT.Product_MP().Generation()                                                =  ccerr.Generation() and | 
|---|
|  |  |  | tempPIT.Product_MP().MQBMLB()                                                    =  ccerr.MLB_MQB()    and | 
|---|
|  |  |  | tempPIT.Trip().Departure().Date()                                                >= ccerc.StartDate()  and | 
|---|
|  |  |  | tempPIT.Trip().Arrival().Date()                                                  <= lastDayOfThisMonth and | 
|---|
|  |  |  | tempPIT.Trip().LaneLeg().AsOriginStockingPointLeg().StockingPoint_MP().ID()      = "CC åå
åº"         and | 
|---|
|  |  |  | tempPIT.Trip().LaneLeg().AsDestinationStockingPointLeg().StockingPoint_MP().ID() = "é¿æ¥å¤ç§åº", | 
|---|
|  |  |  | tempPIT.Quantity() | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | cell.ExternalRentalWarehouseTransportationCosts( transportationQuantity / guard( lce.PackagingCapacity(), 1 ) / guard( lct.LoadingCapacity(), 1 ) * guard( lct.TransportPrice(), 1 ) ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å¤ç§åºä»å¨è´¹ç¨ï¼ææ¶æ»æ°é - å卿ºåºå / å
è£
容éï¼åä¸åæ´ï¼ï¼åä¹ä»¥ç©ºææ¶ä»å¨åä»·å¾å°ç©ºææ¶ä»å¨è´¹ç¨ãå卿ºåºååActual inventorieséåå°é¿æ¥å¤ç§åºè¯¥å卿ºçä»å¨éï¼ææ¶æ»æ°ééè¦æå¨ç»´æ¤ã | 
|---|
|  |  |  | cell.UnitPriceOfEmptyShelfStorage( lcmr.StoragePrice() ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // æ¸
æ´è´¹ç¨ï¼å卿ºå
¥åºé / å
è£
容é * ææ¶æ¸
æ´åä»·ãå卿ºå
¥åºéåå卿ºééï¼å
è£
容éåèªå卿ºææ¬è¡¨ãææ¶æ¸
æ´åä»·åææ¶ææ¬è¡¨ã | 
|---|
|  |  |  | cell.CleaningCost( guard( engineSales / guard( lce.PackagingCapacity(), 0 ) * lcmr.CleanPrice(), 0 ) ); | 
|---|
|  |  |  | cell.CleaningCost( engineSales / guard( lce.PackagingCapacity(), 1 ) * lcmr.CleanPrice() ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | cell.CC_EngineRackColumn( relset, ccerc ); | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Attribute PackagingCapacity | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '3[413988.0.1594771571][413988.0.1594771570][413988.0.1594771572]' | 
|---|
|  |  |  | ValueType: Real | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Attribute PlannedInventory | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '3[413988.0.1594771558][413988.0.1594771557][413988.0.1594771559]' | 
|---|
|  |  |  | ValueType: Real | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Function CalcNumberOfEmptyShelves | 
|---|
|  |  |  | { | 
|---|
|  |  |  | TextBody: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | // lihongji Oct-9-2024 (created) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | value := guard( this.TotalQuantityOfMaterialRacks() - ( this.PlannedInventory() / this.PackagingCapacity() ), 0 ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.NumberOfEmptyShelves( value ); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | macroPlan.DL_EngineRackRow( relflush ); | 
|---|
|  |  |  | macroPlan.DL_EngineRackColumn( relflush ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å建è¡EVO5 MLB, EVO5 MQB, GEN3 MLB, GEN3 MQB | 
|---|
|  |  |  | macroPlan.DL_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MLB" ); | 
|---|
|  |  |  | macroPlan.DL_EngineRackRow( relnew, Generation := "EVO5", MLB_MQB := "MQB" ); | 
|---|
|  |  |  | macroPlan.DL_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MLB" ); | 
|---|
|  |  |  | macroPlan.DL_EngineRackRow( relnew, Generation := "GEN3", MLB_MQB := "MQB" ); | 
|---|
|  |  |  | // åå»ºè¡ | 
|---|
|  |  |  | genrations := selectuniquevalues( macroPlan, Product_MP, tempPMP, tempPMP.Generation().TrimBoth() <> "", tempPMP.Generation() ); | 
|---|
|  |  |  | mqbmlbs    := selectuniquevalues( macroPlan, Product_MP, tempPMP, tempPMP.MQBMLB().TrimBoth() <> "", tempPMP.MQBMLB() ); | 
|---|
|  |  |  | traverse ( genrations, Elements, g ) { | 
|---|
|  |  |  | traverse ( mqbmlbs, Elements, m ) { | 
|---|
|  |  |  | macroPlan.DL_EngineRackRow( relnew, Generation := g, MLB_MQB := m ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å建å | 
|---|
|  |  |  | indexDate := macroPlan.StartOfPlanning().Date().StartOfMonth(); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å建åå
æ ¼ | 
|---|
|  |  |  | traverse ( macroPlan, DL_EngineRackRow, dlerr ) { | 
|---|
|  |  |  | traverse ( macroPlan, DL_EngineRackColumn, dlerc ) { | 
|---|
|  |  |  | traverse ( macroPlan, DL_EngineRackRow, dlerr ) { // å¾ªç¯è¡ | 
|---|
|  |  |  | info( "å½åéåçè¡ï¼", dlerr.Generation(), " ", dlerr.MLB_MQB() ); | 
|---|
|  |  |  | traverse ( macroPlan, DL_EngineRackColumn, dlerc ) { // å¾ªç¯å | 
|---|
|  |  |  | // å卿ºææ¬åæ° | 
|---|
|  |  |  | lce  := select( macroPlan, LogisticsCostEngine, tempLCE, tempLCE.Generation() = dlerr.Generation() and tempLCE.MLB_MQB() = dlerr.MLB_MQB() and tempLCE.Factory() = "大è¿å·¥å" | 
|---|
|  |  |  | and tempLCE.StartDate() <= dlerc.StartDate() and tempLCE.EndDate() >= dlerc.StartDate().StartOfNextMonth() ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å½åææ«æåä¸å¤©æ¥æ | 
|---|
|  |  |  | lastDayOfThisMonth := dlerc.StartDate().StartOfNextMonth() - 1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | cell := dlerr.DL_EngineRackCell( relnew ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å¤ç§åºå
¥åºè´¹ç¨ï¼å卿ºéé / å
è£
容é[åä¸åæ´] * ææ¶å
¥åºåä»·ï¼ | 
|---|
|  |  |  | // ç©ºææ¶æ°éï¼å¤§è¿å该产åçææ¶æ»æ°é - å卿ºåºå / å
è£
容éï¼åä¸åæ´ï¼ | 
|---|
|  |  |  | plannedInventory := sum( macroPlan, Product_MP.ProductInStockingPoint_MP.ProductInStockingPointInPeriod, tempPISPIP, | 
|---|
|  |  |  | tempPISPIP.ProductInStockingPoint_MP().Product_MP().IsLeaf()                                                                and | 
|---|
|  |  |  | exists( tempPISPIP.ProductInStockingPoint_MP().Product_MP(), AllParent.AsParent, tempPMP, tempPMP.ID() = "å卿º" )         and | 
|---|
|  |  |  | tempPISPIP.ProductInStockingPoint_MP().StockingPointID()                                               = "大è¿å¤ç§åº"       and | 
|---|
|  |  |  | tempPISPIP.ProductInStockingPoint_MP().Product_MP().Generation()                                       = dlerr.Generation() and | 
|---|
|  |  |  | tempPISPIP.ProductInStockingPoint_MP().Product_MP().MQBMLB()                                           = dlerr.MLB_MQB()    and | 
|---|
|  |  |  | tempPISPIP.Start().Date()                                                                              = lastDayOfThisMonth, | 
|---|
|  |  |  | tempPISPIP.PlannedInventoryLevelEnd() ); | 
|---|
|  |  |  | cell.PackagingCapacity( guard( lce.PackagingCapacity(), 1 ) ); | 
|---|
|  |  |  | cell.PlannedInventory( plannedInventory ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // å¤ç§åºåºåºè´¹ç¨ï¼å卿ºäº§é / å
è£
容é[åä¸åæ´] * ææ¶åºåºåä»·ï¼ | 
|---|
|  |  |  | // CCå¤ç§åºå
¥åºè´¹ç¨ï¼å卿ºéé / å
è£
容éï¼åä¸åæ´ï¼* ææ¶å
¥åºåä»· | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // CCå¤ç§åºåºåºè´¹ç¨ï¼å卿ºéé / å
è£
容éï¼åä¸åæ´ï¼* ææ¶åºåºåä»· | 
|---|
|  |  |  |  | 
|---|
|  |  |  | cell.DL_EngineRackColumn( relset, dlerc ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | 
|---|
|  |  |  | TextBody: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | // çå
°é¸½ Jun-25-2024 (created) | 
|---|
|  |  |  | startofplanning           := owner.StartOfPlanning(); | 
|---|
|  |  |  | startofyear               := startofplanning.StartOfYear().Date(); | 
|---|
|  |  |  | startofendyear            := startofplanning.StartOfNextYear().Date(); | 
|---|
|  |  |  | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å | 
|---|
|  |  |  | weekstart             := owner.StartOfPlanning().Date(); | 
|---|
|  |  |  | traverse( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() ){ | 
|---|
|  |  |  | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ | 
|---|
|  |  |  | periodtime          := period.StartDate(); | 
|---|
|  |  |  | periodname          := periodtime.Format( "M2/D2/Y" ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); | 
|---|
|  |  |  | if( startdate < startofendyear and enddate > startofyear ){ | 
|---|
|  |  |  | if( startdate < startofyear ){ | 
|---|
|  |  |  | startdate             := startofyear; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if( enddate > startofendyear ){ | 
|---|
|  |  |  | enddate               := startofendyear; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ | 
|---|
|  |  |  | for( start := startdate; start <= enddate; start := start.DateTime().StartOfNextDay().Date() ){ | 
|---|
|  |  |  | periodname          := start.Format( "M2/D2/Y" ); | 
|---|
|  |  |  | this.Column( relnew, Name := periodname, StartDate := start, EndDate := start, TimeUnit := Translations::MP_GlobalParameters_Day() ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){ | 
|---|
|  |  |  | if( period.StartDate() = weekstart ){ | 
|---|
|  |  |  | weekperiodname    := weekstart.Format( "M2/D2/Y" ); | 
|---|
|  |  |  | this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart + Duration::Days( 6 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() ); | 
|---|
|  |  |  | weekstart         := ( weekstart + Duration::Days( 7 ) ).Date(); | 
|---|
|  |  |  | for( start := startdate; start <= enddate; start := start.StartOfNextWeek() ){ | 
|---|
|  |  |  | periodname          := start.Format( "M2/D2/Y" ); | 
|---|
|  |  |  | weekend             := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.Column( relnew, Name := periodname, StartDate := start, EndDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | traverse( stockingpoint, ProductInStockingPoint_MP, pisp,  pisp.Product_MP().IsLeaf() and not pisp.IsSystem() | 
|---|
|  |  |  | and exists( pisp.Product_MP().GetAllParent(), Elements, e, e.ID() = productparent ) | 
|---|
|  |  |  | and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 ) ) ){ | 
|---|
|  |  |  | weekstart           := owner.StartOfPlanning().Date(); | 
|---|
|  |  |  | pispips             := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() | 
|---|
|  |  |  | and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day(), pispip.Start() ); | 
|---|
|  |  |  | row := table.GetRow( pisp.ProductID() ); | 
|---|
|  |  |  | 
|---|
|  |  |  | //åºåéè¦åæåä¸å¤© | 
|---|
|  |  |  | row.SetCellInventoryValue( daycolumn, [Real]inventoryquantity ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if( pispip.Start() = weekstart + Duration::Days( 6 ) or pispip.Period_MP() = endperiod ){ | 
|---|
|  |  |  | weekstart       := ( weekstart + Duration::Days( 7 ) ).Date(); | 
|---|
|  |  |  | if( pispip.Start().Date() = weekcolumn.EndDate() or pispip.Period_MP() = endperiod ){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | row.SetCellInventoryValue( weekcolumn, [Real]inventoryquantity ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | , MLBMQB                  := product.MQBMLB() | 
|---|
|  |  |  | , Power                   := product.Power() | 
|---|
|  |  |  | , Product                 := product.ID() | 
|---|
|  |  |  | , InventoryDate           := column.Period() | 
|---|
|  |  |  | , InventoryDate           := column.StartDate() | 
|---|
|  |  |  | , InventoryEndQty         := cell.EndingInventory() | 
|---|
|  |  |  | , InventoryMinQty         := cell.MinimumInventory() | 
|---|
|  |  |  | , InventoryMaxQty         := cell.MaximumInventory() | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else if( timeunit = Translations::MP_GlobalParameters_Week() ){ | 
|---|
|  |  |  | for( start := starttime; start <= endtime; start := start.StartOfNextWeek() ){ | 
|---|
|  |  |  | periodtime          := start.Date(); | 
|---|
|  |  |  | periodname          := periodtime.Format( "M2/D2/Y" ); | 
|---|
|  |  |  | weekend             := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.InventorySummaryColumn( relnew, Name := periodname, StartDate := periodtime, EndaDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); | 
|---|
|  |  |  | this.InventorySummaryColumn( relnew, Name := weekend.Format( "M2/D2/Y" ), StartDate := start.Date(), EndaDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else if( timeunit = Translations::MP_GlobalParameters_Month() ){ | 
|---|
|  |  |  | for( start := starttime; start <= endtime; start := start.StartOfNextMonth() ){ | 
|---|
|  |  |  | periodtime          := start.Date(); | 
|---|
|  |  |  | periodname          := periodtime.Format( "M2/D2/Y" ); | 
|---|
|  |  |  | monthend            := ( start.StartOfNextMonth() - Duration::Days( 1 ) ).Date(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.InventorySummaryColumn( relnew, Name := periodname, StartDate := periodtime, EndaDate := monthend, TimeUnit := Translations::MP_GlobalParameters_Month() ); | 
|---|
|  |  |  | this.InventorySummaryColumn( relnew, Name := monthend.Format( "M2/D2/Y" ), StartDate := start.Date(), EndaDate := monthend, TimeUnit := Translations::MP_GlobalParameters_Month() ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | periodname        := periodtime.Format( "M2/D2/Y" ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //天ï¼éæ©æ¥é¢ç²åº¦æ¶ï¼ææ«åºåï¼æå°åºåï¼æå¤§åºååå¹³ååºåçæ°å¼ä¿æä¸è´ | 
|---|
|  |  |  | daycolumn         := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname, column.Period() = periodtime, column.TimeUnit() = Translations::MP_GlobalParameters_Day() ); | 
|---|
|  |  |  | daycolumn         := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname, column.StartDate() = periodtime, column.TimeUnit() = Translations::MP_GlobalParameters_Day() ); | 
|---|
|  |  |  | quantity          := ifexpr( pispip.Period_MP().IsHistorical(), [Number]pispip.ActualInventoryLevelEnd(), [Number]pispip.PlannedInventoryLevelEnd() ); | 
|---|
|  |  |  | factoryrow.SetCellValue( daycolumn, quantity ); | 
|---|
|  |  |  | allrow.SetCellValue( daycolumn, quantity ); | 
|---|
|  |  |  | 
|---|
|  |  |  | selections                := selectset( interface, InventoryPointSelection, selection, allsps.Find( selection.StockpoingPoint() ) >= 0 and selection.IsIncluded() ); | 
|---|
|  |  |  | productids                := selectuniquevalues( selections, Elements, selection, selection.ProductID() ); | 
|---|
|  |  |  | //æåå°è¿äºåºä½ä¸é¶ä»¶å·çæ°éè¿è¡å æ» | 
|---|
|  |  |  | traverse( table, InventorySummaryColumn, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.Period() < startofplanning.Date() ){ | 
|---|
|  |  |  | traverse( table, InventorySummaryColumn, column, column.TimeUnit() = Translations::MP_GlobalParameters_Day() and column.StartDate() < startofplanning.Date() ){ | 
|---|
|  |  |  | traverse( productids, Elements, productid ){ | 
|---|
|  |  |  | column.GenerateCell( selections, ccsps, dlsps, table, column.Period(), column.Period(), productid, allunit, ccunit, dlunit ); | 
|---|
|  |  |  | column.GenerateCell( selections, ccsps, dlsps, table, column.StartDate(), column.EndaDate(), productid, allunit, ccunit, dlunit ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | // çå
°é¸½ Jun-25-2024 (created) | 
|---|
|  |  |  | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å | 
|---|
|  |  |  | weekstart             := owner.StartOfPlanning().Date(); | 
|---|
|  |  |  | traverse( owner, Period_MP, period, not period.IsHistorical() and period.TimeUnit() = Translations::MP_GlobalParameters_Day() ){ | 
|---|
|  |  |  | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ | 
|---|
|  |  |  | periodtime          := period.StartDate(); | 
|---|
|  |  |  | periodname          := periodtime.Format( "M2/D2/Y" ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.Column( relnew, Name := periodname, StartDate := periodtime, EndDate := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); | 
|---|
|  |  |  | startofplanning           := owner.StartOfPlanning(); | 
|---|
|  |  |  | startofyear               := startofplanning.StartOfYear().Date(); | 
|---|
|  |  |  | startofendyear            := startofplanning.StartOfNextYear().Date(); | 
|---|
|  |  |  | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å | 
|---|
|  |  |  | if( startdate < startofendyear and enddate > startofyear ){ | 
|---|
|  |  |  | if( startdate < startofyear ){ | 
|---|
|  |  |  | startdate             := startofyear; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if( enddate > startofendyear ){ | 
|---|
|  |  |  | enddate               := startofendyear; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ | 
|---|
|  |  |  | for( start := startdate; start <= enddate; start := start.DateTime().StartOfNextDay().Date() ){ | 
|---|
|  |  |  | periodname          := start.Format( "M2/D2/Y" ); | 
|---|
|  |  |  | this.Column( relnew, Name := periodname, StartDate := start, EndDate := start, TimeUnit := Translations::MP_GlobalParameters_Day() ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){ | 
|---|
|  |  |  | if( period.StartDate() = weekstart ){ | 
|---|
|  |  |  | weekperiodname    := weekstart.Format( "M2/D2/Y" ); | 
|---|
|  |  |  | this.Column( relnew, Name := weekperiodname, StartDate := weekstart, EndDate := ( weekstart + Duration::Days( 6 ) ).Date(), TimeUnit := Translations::MP_GlobalParameters_Week() ); | 
|---|
|  |  |  | weekstart         := ( weekstart + Duration::Days( 7 ) ).Date(); | 
|---|
|  |  |  | for( start := startdate; start <= enddate; start := start.StartOfNextWeek() ){ | 
|---|
|  |  |  | periodname          := start.Format( "M2/D2/Y" ); | 
|---|
|  |  |  | weekend             := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.Column( relnew, Name := periodname, StartDate := start, EndDate := weekend, TimeUnit := Translations::MP_GlobalParameters_Week() ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | // çå
°é¸½ Jun-24-2024 (created) | 
|---|
|  |  |  | owner.FinancialProductionSource( relflush ); | 
|---|
|  |  |  | productparent             := MachiningPipelineReport::GetDefaultProductParent(); | 
|---|
|  |  |  | //ccunit                    := MachiningPipelineReport::GetDefaultCCUnit(); | 
|---|
|  |  |  | //dlunit                    := MachiningPipelineReport::GetDefaultDLUnit(); | 
|---|
|  |  |  | //allunit                   := EnginePipelineReport::GetDefaultAllUnit(); | 
|---|
|  |  |  | source                    := owner.MachiningPipelineSource( relnew, Name := MachiningPipelineReport::GetDefaultName() ); | 
|---|
|  |  |  | table                     := source.Report( relnew, ID := source.Name(), Name := source.Name() ); | 
|---|
|  |  |  | showtable                 := source.Report( relnew, ID := source.Name() + 'Show', Name := source.Name(), IsShow := true ); | 
|---|
|  |  |  | 
|---|
|  |  |  | iscc                    := stockingpoint.ID().StartsWith( 'CC' ) or unit.ID().StartsWith( 'CC' ) or exists( parentunits, Elements, punit, punit.ID().StartsWith( 'CC' ) );//unit.ID() = ccunit or exists( parentunits, Elements, punit, punit.ID() = ccunit ); | 
|---|
|  |  |  | //æ¯å¦å±äºå¤§è¿å·¥å | 
|---|
|  |  |  | isdl                    := stockingpoint.ID().StartsWith( 'DL' ) or unit.ID().StartsWith( 'DL' ) or exists( parentunits, Elements, punit, punit.ID().StartsWith( 'DL' ) );//unit.ID() = dlunit or exists( parentunits, Elements, punit, punit.ID() = dlunit ); | 
|---|
|  |  |  | //æ¯å¦å±äºé¿æ¥è£
é
线CCåå
åº | 
|---|
|  |  |  | //  isccassemnly            := stockingpoint.ID().EndsWith( 'åå
åº' ) and ( stockingpoint.ID().StartsWith( 'CC' ) or stockingpoint.ID().StartsWith( 'é¿æ¥' ) );//unit.ID() = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultCCAssemnlyUnit() ); | 
|---|
|  |  |  | //æ¯å¦å±äºå¤§è¿è£
é
线DLåå
åº | 
|---|
|  |  |  | //  isdlassemnly            := stockingpoint.ID().EndsWith( 'åå
åº' ) and ( stockingpoint.ID().StartsWith( 'DL' ) or stockingpoint.ID().StartsWith( '大è¿' ) );//unit.ID() = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultDLAssemnlyUnit() ); | 
|---|
|  |  |  | //æ¯å¦å±äºé¿æ¥æºå äº§çº¿ | 
|---|
|  |  |  | isccproduction          := stockingpoint.ID().EndsWith( '线边åº' ) and ( stockingpoint.ID().StartsWith( 'CC' ) or stockingpoint.ID().StartsWith( 'é¿æ¥' ) );//unit.ID() = MachiningPipelineReport::GetDefaultCCProductionUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultCCProductionUnit() ); | 
|---|
|  |  |  | //æ¯å¦å±äºå¤§è¿æºå äº§çº¿ | 
|---|
|  |  |  | isdlproduction          := unit.ID().EndsWith( 'MoMo' ) and unit.ID().StartsWith( 'DL' );//unit.ID() = MachiningPipelineReport::GetDefaultDLProductionUnit() or exists( parentunits, Elements, punit, punit.ID() = MachiningPipelineReport::GetDefaultDLProductionUnit() ); | 
|---|
|  |  |  | if( iscc or isdl ){ | 
|---|
|  |  |  | traverse( stockingpoint, ProductInStockingPoint_MP, pisp,  pisp.Product_MP().IsLeaf() and not pisp.IsSystem() | 
|---|
|  |  |  | traverse( stockingpoint, ProductInStockingPoint_MP, pisp,  pisp.Product_MP().IsLeaf() and not pisp.IsSystem()// and pisp.ProductID() = '06K103011CM' | 
|---|
|  |  |  | and exists( pisp.Product_MP().GetAllParent(), Elements, e, e.ID() = productparent ) | 
|---|
|  |  |  | and exists( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 or pispip.DependentDemandAndSalesDemandQuantity() <> 0 ) ) ){ | 
|---|
|  |  |  | isccassemnly        := stockingpoint.ID().EndsWith( pisp.Product_MP().ParentID() + '线边åº' ) and ( stockingpoint.ID().StartsWith( 'CC' ) or stockingpoint.ID().StartsWith( 'é¿æ¥' ) ); | 
|---|
|  |  |  | isdlassemnly        := stockingpoint.ID().EndsWith( pisp.Product_MP().ParentID() ) and ( stockingpoint.ID().StartsWith( 'DL' ) or stockingpoint.ID().StartsWith( '大è¿' ) ); | 
|---|
|  |  |  | pispips             := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, not pispip.Period_MP().IsHistorical() | 
|---|
|  |  |  | and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day() and ( pispip.NewSupplyQuantity() <> 0 or pispip.PlannedInventoryLevelEnd() <> 0 or pispip.DependentDemandAndSalesDemandQuantity() <> 0 ), pispip.Start() ); | 
|---|
|  |  |  | traverse( pispips, Elements, pispip ){ | 
|---|
|  |  |  | traverse( pispips, Elements, pispip){//, pispip.Start().Month() = 1 and pispip.Start().Day() = 2 | 
|---|
|  |  |  | products.Add( pisp.Product_MP() ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //天 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | row               := table.GetRow( pisp.ProductID() ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //è£
é
线 | 
|---|
|  |  |  | if( isccassemnly or isdlassemnly ){ | 
|---|
|  |  |  | quantity        := [Number]pispip.DependentDemandAndSalesDemandQuantity();//åèäºå
¥ | 
|---|
|  |  |  | row.SetCellProductionValue( daycolumn, isccassemnly, [Real]quantity ); | 
|---|
|  |  |  | row.SetCellProductionValue( weekcolumn, isccassemnly, [Real]quantity ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //æºå çº¿ | 
|---|
|  |  |  | if( isccproduction or isdlproduction ){ | 
|---|
|  |  |  | if( isccassemnly or isdlassemnly ){ | 
|---|
|  |  |  | //è£
é
线 | 
|---|
|  |  |  | quantity        := [Number]pispip.DependentDemandAndSalesDemandQuantity();//åèäºå
¥ | 
|---|
|  |  |  | row.SetAssemblyPlanValue(  daycolumn, isccassemnly, [Real]quantity ); | 
|---|
|  |  |  | row.SetAssemblyPlanValue( weekcolumn, isccassemnly, [Real]quantity ); | 
|---|
|  |  |  | //ç产 | 
|---|
|  |  |  | supplyqty       := [Number]pispip.NewSupplyQuantity();//åèäºå
¥ | 
|---|
|  |  |  | row.SetCellProductionValue( daycolumn, isccproduction, [Real]supplyqty ); | 
|---|
|  |  |  | row.SetCellProductionValue( weekcolumn, isccproduction, [Real]supplyqty ); | 
|---|
|  |  |  | //          info( '****************', quantity, supplyqty ); | 
|---|
|  |  |  | row.SetCellProductionValue( daycolumn, isccassemnly, [Real]supplyqty ); | 
|---|
|  |  |  | row.SetCellProductionValue( weekcolumn, isccassemnly, [Real]supplyqty ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //åºå | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // è·åæå¤§å
è£
æ°é | 
|---|
|  |  |  | maxPackageReflection   := Reflection::FindAttribute( "PackagingPlanCapability", ppc.PackagingPlanRow().FactoryAbbreviation() + "_" + ppc.PackagingPlanRow().Category() + "_Package" ); | 
|---|
|  |  |  | maxPackageQuantity     := maxPackageReflection.GetNumber( macroPlan.PackagingPlanCapability() ); | 
|---|
|  |  |  | //        maxPackageQuantity     := maxPackageReflection.GetNumber( macroPlan.PackagingPlanCapability() ); // æ¤å¤éè¦ä¿®æ¹ | 
|---|
|  |  |  | maxPackageQuantity     := 100000; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // è·åæç»å
è£
æ°é | 
|---|
|  |  |  | finalPackagingQuantity := minvalue( ceil( needPackagingQuantity / ppls.LotSize() ), ceil( ( maxPackageQuantity - prePPC.Package() ) / ppls.LotSize() ) ) * ppls.LotSize(); | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Attribute MaximumDailyPackagingQuantity | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '3[413988.0.1594771467][413988.0.1594771466][413988.0.1594771468]' | 
|---|
|  |  |  | ValueType: Real | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Attribute MaximumDailyUnpackingQuantity | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '3[413988.0.1594771477][413988.0.1594771476][413988.0.1594771478]' | 
|---|
|  |  |  | ValueType: Real | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Attribute ProductionLine | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '3[413988.0.1594771444][413988.0.1594771443][413988.0.1594771445]' | 
|---|
|  |  |  | ValueType: String | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #root | 
|---|
|  |  |  | #parent: #DomainModel | 
|---|
|  |  |  | Type PackagingPlanNewCapability | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '5[413988.0.1594210998][413988.0.1594210996][0.0.0][413988.0.1594210997][413988.0.1594210999]' | 
|---|
|  |  |  | BaseType: Object | 
|---|
|  |  |  | StructuredName: 'PackagingPlanNewCapabilitys' | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | Component pnlActions | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596179622]' | 
|---|
|  |  |  | BaseType: 'WebPanel' | 
|---|
|  |  |  | Children: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Component btnOk | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596179626]' | 
|---|
|  |  |  | BaseType: 'WebButton' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Label: 'OK' | 
|---|
|  |  |  | Taborder: 0 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Component btnCancel | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596179628]' | 
|---|
|  |  |  | BaseType: 'WebButton' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Label: 'Cancel' | 
|---|
|  |  |  | Taborder: 1 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Alignment: 'trailing' | 
|---|
|  |  |  | Border: true | 
|---|
|  |  |  | ExcludeFromActiveComponent: true | 
|---|
|  |  |  | FixedSize: true | 
|---|
|  |  |  | Orientation: 'horizontal' | 
|---|
|  |  |  | Padding: 'true' | 
|---|
|  |  |  | Style: 'footer' | 
|---|
|  |  |  | Taborder: 1 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | Component pnlContent | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596179620]' | 
|---|
|  |  |  | BaseType: 'WebPanel' | 
|---|
|  |  |  | Children: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Component ddslProductionLine | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596148502]' | 
|---|
|  |  |  | BaseType: 'WebDropDownStringList' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | DataBinding: 'DataHolderDialogData.Data.ProductionLine' | 
|---|
|  |  |  | Label: 'Production line' | 
|---|
|  |  |  | Taborder: 0 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Component npMaximumDailyPackagingQuantity | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596148605]' | 
|---|
|  |  |  | BaseType: 'WebNumberPicker' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | DataBinding: 'DataHolderDialogData.Data.MaximumDailyPackagingQuantity' | 
|---|
|  |  |  | Label: 'Maximum daily packaging quantity' | 
|---|
|  |  |  | Taborder: 1 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Component npMaximumDailyUnpackingQuantity | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596148618]' | 
|---|
|  |  |  | BaseType: 'WebNumberPicker' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | DataBinding: 'DataHolderDialogData.Data.MaximumDailyUnpackingQuantity' | 
|---|
|  |  |  | Label: 'Maximum daily unpacking quantity' | 
|---|
|  |  |  | Taborder: 2 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Padding: 'true' | 
|---|
|  |  |  | Taborder: 0 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Method Edit ( | 
|---|
|  |  |  | PackagingPlanNewCapability selection | 
|---|
|  |  |  | ) id:Method_DialogCreateEditPackagingPlanNewCapability_Edit | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596179841]' | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | data := shadow( selection ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | DataHolderDialogData.Data( &data ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ApplicationMacroPlanner.ShowFormModal( this ); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Method New () id:Method_DialogCreateEditPackagingPlanNewCapability_New | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596179843]' | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | data := MacroPlan.PackagingPlanNewCapability( relshadow ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | DataHolderDialogData.Data( &data ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ApplicationMacroPlanner.ShowFormModal( this ); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Method OnOK () id:Method_DialogCreateEditPackagingPlanNewCapability_OnOK | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596179844]' | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | // On ok | 
|---|
|  |  |  | Form.ApplyChanges(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | data := DataHolderDialogData.Data(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | data.Commit(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Form.Close(); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: pnlActions/btnCancel | 
|---|
|  |  |  | Response OnClick () id:Response_pnlActions_btnCancel_OnClick | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596179632]' | 
|---|
|  |  |  | DefinitionID: 'Responsedef_WebButton_OnClick' | 
|---|
|  |  |  | GroupServerCalls: true | 
|---|
|  |  |  | QuillAction | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | Form.Close(); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: pnlActions/btnOk | 
|---|
|  |  |  | Response OnClick () id:Response_pnlActions_btnOk_OnClick | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596179631]' | 
|---|
|  |  |  | DefinitionID: 'Responsedef_WebButton_OnClick' | 
|---|
|  |  |  | QuillAction | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | Form.OnOK(); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | GroupServerCalls: false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: pnlContent/ddslProductionLine | 
|---|
|  |  |  | Response OnCreated () id:Response_pnlContent_ddslProductionLine_OnCreated | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596148773]' | 
|---|
|  |  |  | CanBindMultiple: false | 
|---|
|  |  |  | DefinitionID: 'Responsedef_WebComponent_OnCreated' | 
|---|
|  |  |  | Precondition: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | return not isnull( MacroPlan ); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | QuillAction | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | uids := selectuniquevalues( MacroPlan, Unit, tempU, true, tempU.ID() ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.Strings( uids.Concatenate( ";" ) ); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | GroupServerCalls: false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #root | 
|---|
|  |  |  | #parent: MacroPlannerWebApp | 
|---|
|  |  |  | OrphanComponent DialogCreateEditPackagingPlanNewCapability | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596179618]' | 
|---|
|  |  |  | BaseType: 'WebForm' | 
|---|
|  |  |  | Children: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | #child: pnlContent | 
|---|
|  |  |  | #child: pnlActions | 
|---|
|  |  |  | Component DataHolderDialogData id:DataHolderDialogData_915 | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596179977]' | 
|---|
|  |  |  | BaseType: 'WebDataHolder' | 
|---|
|  |  |  | Databinding: 'shadow[PackagingPlanNewCapability]*' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Taborder: 2 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Alignment: 'trailing' | 
|---|
|  |  |  | EnterButton: 'btnOk' | 
|---|
|  |  |  | EscapeButton: 'btnCancel' | 
|---|
|  |  |  | ExcludeFromActiveComponent: true | 
|---|
|  |  |  | Padding: 'false' | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | Component abpContent | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1594809024]' | 
|---|
|  |  |  | BaseType: 'listActionBarPage' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Taborder: 1 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | Component cmContent | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1594809029]' | 
|---|
|  |  |  | BaseType: 'listContextMenu' | 
|---|
|  |  |  | Children: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Component MenuSeparator | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[121142.1.1147171519]' | 
|---|
|  |  |  | BaseType: 'MenuSeparator' | 
|---|
|  |  |  | IsDerived: true | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Taborder: 3 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Component mSelectAll | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596149028]' | 
|---|
|  |  |  | BaseType: 'WebMenu' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Image: 'SELECTION_VIEW' | 
|---|
|  |  |  | Shortcut: 'Ctrl+A' | 
|---|
|  |  |  | Taborder: 2 | 
|---|
|  |  |  | Title: 'Select all' | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Component mNew | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596149298]' | 
|---|
|  |  |  | BaseType: 'WebMenu' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Image: 'ADD2' | 
|---|
|  |  |  | Taborder: 4 | 
|---|
|  |  |  | Title: 'New' | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Component mEdit | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596149554]' | 
|---|
|  |  |  | BaseType: 'WebMenu' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | BindOnDoubleClick: true | 
|---|
|  |  |  | Image: 'PENCIL' | 
|---|
|  |  |  | Taborder: 5 | 
|---|
|  |  |  | Title: 'Edit' | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Component mDelete | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596149809]' | 
|---|
|  |  |  | BaseType: 'WebMenu' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Image: 'DELETE' | 
|---|
|  |  |  | Taborder: 6 | 
|---|
|  |  |  | Title: 'Delete' | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Taborder: 0 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | Component lstContent | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1594809021]' | 
|---|
|  |  |  | BaseType: 'WebList' | 
|---|
|  |  |  | Children: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Component deContent | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1594809022]' | 
|---|
|  |  |  | BaseType: 'WebDataExtractor' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | DataType: 'MacroPlan' | 
|---|
|  |  |  | Source: 'MacroPlan' | 
|---|
|  |  |  | Taborder: 0 | 
|---|
|  |  |  | Transformation: 'PackagingPlanNewCapability' | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | #child: abpContent | 
|---|
|  |  |  | Component dslContent | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1594809027]' | 
|---|
|  |  |  | BaseType: 'WebDataSetLevel' | 
|---|
|  |  |  | Children: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | #child: cmContent | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductionLine","title":"ProductionLine","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductionLine"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumDailyPackagingQuantity","title":"MaximumDailyPackagingQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumDailyPackagingQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"MaximumDailyUnpackingQuantity","title":"MaximumDailyUnpackingQuantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"MaximumDailyUnpackingQuantity"}}]' | 
|---|
|  |  |  | ContextMenu: 'cmContent' | 
|---|
|  |  |  | Taborder: 2 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Taborder: 0 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | ResponseDefinitions: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | DelegatedResponseDefinition OnClick id:Responsedef_lstContent_WebMenu_OnClick | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596148973]' | 
|---|
|  |  |  | Initiator: 'WebMenu' | 
|---|
|  |  |  | IsInherited: false | 
|---|
|  |  |  | ResponseType: 'OnClick' | 
|---|
|  |  |  | Arguments: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | ResponseDefinitionArgument selection | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[3777.0.12953454]' | 
|---|
|  |  |  | Binding: 'this.Selection()' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | BaseType: 'WebPanel' | 
|---|
|  |  |  | Children: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | #child: p_DL_ZKG | 
|---|
|  |  |  | #child: p_DL_ZKM | 
|---|
|  |  |  | #child: p_DL_ZK | 
|---|
|  |  |  | #child: p_DL_PL | 
|---|
|  |  |  | #child: p_DL_KW | 
|---|
|  |  |  | #child: p_DL_AGW12 | 
|---|
|  |  |  | #child: p_DL_AGW3 | 
|---|
|  |  |  | #child: p_CC_ZKG | 
|---|
|  |  |  | #child: p_CC_ZKM | 
|---|
|  |  |  | #child: p_CC_PL | 
|---|
|  |  |  | #child: p_CC_KW1 | 
|---|
|  |  |  | #child: p_CC_KW2 | 
|---|
|  |  |  | #child: lstContent | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: #root | 
|---|
|  |  |  | Method Opne ( | 
|---|
|  |  |  | PackagingPlanCapability ppc | 
|---|
|  |  |  | ) id:Method_DialogPackagingPlanCapability_Opne | 
|---|
|  |  |  | Method Opne () id:Method_DialogPackagingPlanCapability_Opne | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1402004588]' | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | DataHolderDialog.Data( ppc ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ApplicationMacroPlanner.ShowFormModal( this ); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: lstContent | 
|---|
|  |  |  | Response OnClick ( | 
|---|
|  |  |  | structured[PackagingPlanNewCapability] selection | 
|---|
|  |  |  | ) id:Response_lstContent_mDelete_OnClick | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596149948]' | 
|---|
|  |  |  | CanBindMultiple: false | 
|---|
|  |  |  | DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick | 
|---|
|  |  |  | Initiator: 'mDelete' | 
|---|
|  |  |  | QuillAction | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | MacroPlan::DeleteObjects( selection ); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | GroupServerCalls: false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: lstContent | 
|---|
|  |  |  | Response OnClick ( | 
|---|
|  |  |  | PackagingPlanNewCapability selection | 
|---|
|  |  |  | ) id:Response_lstContent_mEdit_OnClick | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596149701]' | 
|---|
|  |  |  | CanBindMultiple: false | 
|---|
|  |  |  | DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick | 
|---|
|  |  |  | Initiator: 'mEdit' | 
|---|
|  |  |  | QuillAction | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | dlg := construct( DialogCreateEditPackagingPlanNewCapability ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | dlg.Edit( selection ); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | GroupServerCalls: false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: lstContent | 
|---|
|  |  |  | Response OnClick () id:Response_lstContent_mNew_OnClick | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596149457]' | 
|---|
|  |  |  | CanBindMultiple: false | 
|---|
|  |  |  | DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick | 
|---|
|  |  |  | Initiator: 'mNew' | 
|---|
|  |  |  | Precondition: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | return not isnull( MacroPlan ); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | QuillAction | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | dlg := construct( DialogCreateEditPackagingPlanNewCapability ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | dlg.New(); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | GroupServerCalls: false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
| ¶Ô±ÈÐÂÎļþ | 
|  |  |  | 
|---|
|  |  |  | Quintiq file version 2.0 | 
|---|
|  |  |  | #parent: lstContent | 
|---|
|  |  |  | Response OnClick () id:Response_lstContent_mSelectAll_OnClick | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1596149206]' | 
|---|
|  |  |  | CanBindMultiple: false | 
|---|
|  |  |  | DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick | 
|---|
|  |  |  | Initiator: 'mSelectAll' | 
|---|
|  |  |  | QuillAction | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | this.SelectAll(); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | GroupServerCalls: false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | #child: pnlContent | 
|---|
|  |  |  | #child: pnlActions | 
|---|
|  |  |  | Component DataHolderDialog | 
|---|
|  |  |  | { | 
|---|
|  |  |  | #keys: '[413988.0.1402317641]' | 
|---|
|  |  |  | BaseType: 'WebDataHolder' | 
|---|
|  |  |  | Databinding: 'PackagingPlanCapability' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Taborder: 2 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | 
|---|
|  |  |  | EnterButton: 'btnOk' | 
|---|
|  |  |  | EscapeButton: 'btnCancel' | 
|---|
|  |  |  | ExcludeFromActiveComponent: true | 
|---|
|  |  |  | MinimumColumns: 100 | 
|---|
|  |  |  | MinimumRows: 30 | 
|---|
|  |  |  | Padding: 'false' | 
|---|
|  |  |  | Title: 'Packaging Plan Capability' | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | 
|---|
|  |  |  | EnterButton: 'btnOk' | 
|---|
|  |  |  | EscapeButton: 'btnCancel' | 
|---|
|  |  |  | ExcludeFromActiveComponent: true | 
|---|
|  |  |  | MinimumColumns: 100 | 
|---|
|  |  |  | MinimumRows: 30 | 
|---|
|  |  |  | Padding: 'false' | 
|---|
|  |  |  | Title: 'Packaging Plan Lot Size' | 
|---|
|  |  |  | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Image: 'EXPORT1' | 
|---|
|  |  |  | Label: '导å
¥' | 
|---|
|  |  |  | Label: '导åº' | 
|---|
|  |  |  | Taborder: 1 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | BaseType: 'WebButton' | 
|---|
|  |  |  | Properties: | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | Label: 'Maximum quantity' | 
|---|
|  |  |  | Label: 'Maximum unpackaged quantity' | 
|---|
|  |  |  | Taborder: 1 | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Body: | 
|---|
|  |  |  | [* | 
|---|
|  |  |  | if ( isnull( MacroPlan.PackagingPlanCapability() ) ) { | 
|---|
|  |  |  | MacroPlan.PackagingPlanCapability( relnew ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | dlg := construct( DialogPackagingPlanCapability ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | dlg.Opne( MacroPlan.PackagingPlanCapability() ); | 
|---|
|  |  |  | dlg.Opne(); | 
|---|
|  |  |  | *] | 
|---|
|  |  |  | GroupServerCalls: false | 
|---|
|  |  |  | } | 
|---|