Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
| | |
| | | { |
| | | DefaultText: 'The two products selected are the same.' |
| | | } |
| | | InfoMessage MP_FinancialProductionReport_ImportIndetifyDuplicateData |
| | | { |
| | | DefaultText: 'There is duplicate data present.' |
| | | } |
| | | InfoMessage MP_FinancialProductionReport_ImportIndetifyFactoryNoExist |
| | | { |
| | | DefaultText: 'Factory does not exist.' |
| | | } |
| | | InfoMessage MP_FinancialProductionReport_ImportIndetifyIllegalCharacter |
| | | { |
| | | DefaultText: 'The required quantity contains illegal characters.' |
| | | } |
| | | InfoMessage MP_FinancialProductionReport_ImportIndetifyIllegalTime |
| | | { |
| | | DefaultText: 'The required period contains illegal time.' |
| | | } |
| | | InfoMessage MP_FinancialProductionReport_ImportIndetifyNegativeNumber |
| | | { |
| | | DefaultText: 'The required quantity includes negative numbers.' |
| | | } |
| | | InfoMessage MP_FinancialProductionReport_ImportIndetifyNullStrings |
| | | { |
| | | DefaultText: 'Required fields contain empty data.' |
| | | } |
| | | InfoMessage MP_FinancialProductionReport_ImportIndetifyOverPeriod |
| | | { |
| | | DefaultText: 'The template month is not within the planning cycle.' |
| | | } |
| | | InfoMessage MP_FinancialProductionReport_ImportIndetifyProductNoExist |
| | | { |
| | | DefaultText: 'Product does not exist.' |
| | | } |
| | | InfoMessage MP_FinancialProductionReport_Question |
| | | { |
| | | DefaultText: '导å
¥æ¨¡æ¿å
嫿ªæ¥æä»½çè´¢å¡æ°æ®ï¼æ¯å¦è¦çç³»ç»è®¡ç®ç»æï¼' |
| | | } |
| | | InfoMessage MP_LibCal_EventType_Exist |
| | | { |
| | | DefaultText: 'The ID or name is the same.' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinancialSalesColumn_FinancialSalesCell_FinancialSalesCell_FinancialSalesColumn |
| | | { |
| | | #keys: '1[415136.0.857450656]' |
| | | ProceduralSequenceRelationStrategy |
| | | { |
| | | #keys: '13[0.0.0][415136.0.857450675][415136.0.857450669][415136.0.857450676][415136.0.857450670][415136.0.857450677][415136.0.857450671][415136.0.857450678][415136.0.857450672][415136.0.857450679][415136.0.857450673][415136.0.857450680][415136.0.857450674]' |
| | | SequenceElementSuffix: 'CellInColumn' |
| | | SequenceSuffix: 'CellInColumn' |
| | | } |
| | | RelationSide.LeftSide FinancialSalesCell |
| | | { |
| | | #keys: '3[415136.0.857450658][415136.0.857450657][415136.0.857450659]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: FinancialSalesColumn |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide FinancialSalesColumn |
| | | { |
| | | #keys: '3[415136.0.857450661][415136.0.857450660][415136.0.857450662]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialSalesCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinancialSalesReport_FinancialSalesColumn_FinancialSalesColumn_FinancialSalesReport |
| | | { |
| | | #keys: '1[415136.0.857450615]' |
| | | ProceduralSequenceRelationStrategy |
| | | { |
| | | #keys: '13[0.0.0][415136.0.857450634][415136.0.857450628][415136.0.857450635][415136.0.857450629][415136.0.857450636][415136.0.857450630][415136.0.857450637][415136.0.857450631][415136.0.857450638][415136.0.857450632][415136.0.857450639][415136.0.857450633]' |
| | | SequenceElementSuffix: 'Column' |
| | | SequenceSuffix: 'Column' |
| | | } |
| | | RelationSide.LeftSide FinancialSalesColumn |
| | | { |
| | | #keys: '3[415136.0.857450617][415136.0.857450616][415136.0.857450618]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: FinancialSalesReport |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide FinancialSalesReport |
| | | { |
| | | #keys: '3[415136.0.857450620][415136.0.857450619][415136.0.857450621]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialSalesColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinancialSalesReport_FinancialSalesSource_FinancialSalesSource_FinancialSalesReport |
| | | { |
| | | #keys: '1[415136.0.857450551]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide FinancialSalesSource |
| | | { |
| | | #keys: '3[415136.0.857450553][415136.0.857450552][415136.0.857450554]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialSalesReport |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide FinancialSalesReport |
| | | { |
| | | #keys: '3[415136.0.857450556][415136.0.857450555][415136.0.857450557]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: FinancialSalesSource |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinancialSalesRow_FinancialSalesCell_FinancialSalesCell_FinancialSalesRow |
| | | { |
| | | #keys: '1[415136.0.857450694]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide FinancialSalesCell |
| | | { |
| | | #keys: '3[415136.0.857450696][415136.0.857450695][415136.0.857450697]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: FinancialSalesRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide FinancialSalesRow |
| | | { |
| | | #keys: '3[415136.0.857450699][415136.0.857450698][415136.0.857450700]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialSalesCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinancialSalesRow_FinancialSalesReport_FinancialSalesReport_FinancialSalesRow |
| | | { |
| | | #keys: '1[415136.0.857450585]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide FinancialSalesReport |
| | | { |
| | | #keys: '3[415136.0.857450587][415136.0.857450586][415136.0.857450588]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialSalesRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide FinancialSalesRow |
| | | { |
| | | #keys: '3[415136.0.857450590][415136.0.857450589][415136.0.857450591]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: FinancialSalesReport |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinancialSalesSource_FinancialSalesSearch_FinancialSalesSearch_FinancialSalesSource |
| | | { |
| | | #keys: '1[415136.0.865304861]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide FinancialSalesSearch |
| | | { |
| | | #keys: '3[415136.0.865304863][415136.0.865304862][415136.0.865304864]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialSalesSource |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide FinancialSalesSource |
| | | { |
| | | #keys: '3[415136.0.865304866][415136.0.865304865][415136.0.865304867]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialSalesSearch |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinancialSalesSource_MacroPlan_MacroPlan_FinancialSalesSource |
| | | { |
| | | #keys: '1[415136.0.857450485]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[415136.0.857450487][415136.0.857450486][415136.0.857450488]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialSalesSource |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide FinancialSalesSource |
| | | { |
| | | #keys: '3[415136.0.857450490][415136.0.857450489][415136.0.857450491]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InventorySummaryCell_ProductInStockingPointInPeriod_ProductInStockingPointInPeriod_InventorySummaryCell |
| | | { |
| | | #keys: '1[415136.0.865101866]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide ProductInStockingPointInPeriod |
| | | { |
| | | #keys: '3[415136.0.865101868][415136.0.865101867][415136.0.865101869]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InventorySummaryCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide InventorySummaryCell |
| | | { |
| | | #keys: '3[415136.0.865101871][415136.0.865101870][415136.0.865101872]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: ProductInStockingPointInPeriod |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InventorySummaryColumn_InventorySummaryCell_InventorySummaryCell_InventorySummaryColumn |
| | | { |
| | | #keys: '1[415136.0.865304752]' |
| | | ProceduralSequenceRelationStrategy |
| | | { |
| | | #keys: '13[0.0.0][415136.0.865304771][415136.0.865304765][415136.0.865304772][415136.0.865304766][415136.0.865304773][415136.0.865304767][415136.0.865304774][415136.0.865304768][415136.0.865304775][415136.0.865304769][415136.0.865304776][415136.0.865304770]' |
| | | SequenceElementSuffix: 'CellInColumn' |
| | | SequenceSuffix: 'CellInColumn' |
| | | } |
| | | RelationSide.LeftSide InventorySummaryCell |
| | | { |
| | | #keys: '3[415136.0.865304754][415136.0.865304753][415136.0.865304755]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InventorySummaryColumn |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide InventorySummaryColumn |
| | | { |
| | | #keys: '3[415136.0.865304757][415136.0.865304756][415136.0.865304758]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InventorySummaryCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InventorySummaryReport_InventorySummaryColumn_InventorySummaryColumn_InventorySummaryReport |
| | | { |
| | | #keys: '1[415136.0.865304722]' |
| | | ProceduralSequenceRelationStrategy |
| | | { |
| | | #keys: '13[0.0.0][415136.0.865304741][415136.0.865304735][415136.0.865304742][415136.0.865304736][415136.0.865304743][415136.0.865304737][415136.0.865304744][415136.0.865304738][415136.0.865304745][415136.0.865304739][415136.0.865304746][415136.0.865304740]' |
| | | SequenceElementSuffix: 'Column' |
| | | SequenceSuffix: 'Column' |
| | | } |
| | | RelationSide.LeftSide InventorySummaryColumn |
| | | { |
| | | #keys: '3[415136.0.865304724][415136.0.865304723][415136.0.865304725]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InventorySummaryReport |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide InventorySummaryReport |
| | | { |
| | | #keys: '3[415136.0.865304727][415136.0.865304726][415136.0.865304728]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InventorySummaryColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InventorySummaryReport_InventroySummaryRow_InventroySummaryRow_InventorySummaryReport |
| | | { |
| | | #keys: '1[415136.0.865304709]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InventroySummaryRow |
| | | { |
| | | #keys: '3[415136.0.865304711][415136.0.865304710][415136.0.865304712]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InventorySummaryReport |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide InventorySummaryReport |
| | | { |
| | | #keys: '3[415136.0.865304714][415136.0.865304713][415136.0.865304715]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InventroySummaryRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InventorySummarySearch_InventorySummarySource_InventorySummarySource_InventorySummarySearch |
| | | { |
| | | #keys: '1[415136.0.865304882]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InventorySummarySource |
| | | { |
| | | #keys: '3[415136.0.865304884][415136.0.865304883][415136.0.865304885]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InventorySummarySearch |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide InventorySummarySearch |
| | | { |
| | | #keys: '3[415136.0.865304887][415136.0.865304886][415136.0.865304888]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InventorySummarySource |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InventorySummarySource_InventorySummaryReport_InventorySummaryReport_InventorySummarySource |
| | | { |
| | | #keys: '1[415136.0.865304908]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InventorySummaryReport |
| | | { |
| | | #keys: '3[415136.0.865304910][415136.0.865304909][415136.0.865304911]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InventorySummarySource |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide InventorySummarySource |
| | | { |
| | | #keys: '3[415136.0.865304913][415136.0.865304912][415136.0.865304914]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InventorySummaryReport |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InventorySummarySource_MacroPlan_MacroPlan_InventorySummarySource |
| | | { |
| | | #keys: '1[415136.0.865304895]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[415136.0.865304897][415136.0.865304896][415136.0.865304898]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InventorySummarySource |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide InventorySummarySource |
| | | { |
| | | #keys: '3[415136.0.865304900][415136.0.865304899][415136.0.865304901]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation InventroySummaryRow_InventorySummaryCell_InventorySummaryCell_InventroySummaryRow |
| | | { |
| | | #keys: '1[415136.0.865304782]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide InventorySummaryCell |
| | | { |
| | | #keys: '3[415136.0.865304784][415136.0.865304783][415136.0.865304785]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: InventroySummaryRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide InventroySummaryRow |
| | | { |
| | | #keys: '3[415136.0.865304787][415136.0.865304786][415136.0.865304788]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: InventorySummaryCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation OfflinePlanCell_OfflinePlanColumn_OfflinePlanColumn_OfflinePlanCell |
| | | { |
| | | #keys: '1[413988.0.1296697089]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide OfflinePlanColumn |
| | | { |
| | | #keys: '3[413988.0.1296697091][413988.0.1296697090][413988.0.1296697092]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: OfflinePlanCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide OfflinePlanCell |
| | | { |
| | | #keys: '3[413988.0.1296697094][413988.0.1296697093][413988.0.1296697095]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: OfflinePlanColumn |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation OfflinePlanCell_OfflinePlanRow_OfflinePlanRow_OfflinePlanCell |
| | | { |
| | | #keys: '1[413988.0.1296697102]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide OfflinePlanRow |
| | | { |
| | | #keys: '3[413988.0.1296697104][413988.0.1296697103][413988.0.1296697105]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: OfflinePlanCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide OfflinePlanCell |
| | | { |
| | | #keys: '3[413988.0.1296697107][413988.0.1296697106][413988.0.1296697108]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: OfflinePlanRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation OfflinePlanColumn_MacroPlan_MacroPlan_OfflinePlanColumn |
| | | { |
| | | #keys: '1[413988.0.1296697061]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[413988.0.1296697063][413988.0.1296697062][413988.0.1296697064]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: OfflinePlanColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide OfflinePlanColumn |
| | | { |
| | | #keys: '3[413988.0.1296697066][413988.0.1296697065][413988.0.1296697067]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation OfflinePlanRow_MacroPlan_MacroPlan_OfflinePlanRow |
| | | { |
| | | #keys: '1[413988.0.1296696992]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[413988.0.1296696994][413988.0.1296696993][413988.0.1296696995]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: OfflinePlanRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide OfflinePlanRow |
| | | { |
| | | #keys: '3[413988.0.1296696997][413988.0.1296696996][413988.0.1296696998]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsShow |
| | | { |
| | | #keys: '3[415136.0.853939545][415136.0.853939544][415136.0.853939546]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Clear |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | this.FinancialProductionColumn( relflush ); |
| | | this.FinancialProductionRow( relflush ); |
| | | |
| | | this.GenerateColumn( this.FinancialProductionSource().MacroPlan() ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Generate ( |
| | | FinancialProductionSearch search, |
| | | Product_MPs products |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | table := selectobject( this, FinancialProductionSource.FinancialProductionReport, report, not report.IsShow() ); |
| | | allunit := '<All>'; |
| | | //æ¸
空ä¹ååå¨çæ¾ç¤ºæ°æ® |
| | | this.Clear(); |
| | | //è¿æ»¤åç产åid |
| | | productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() ) |
| | | and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() ) |
| | | and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() ); |
| | | sumrow := this.FinancialProductionRow( relnew, Name := 'SUM', Unit := search.Unit(), RowNr := table.FinancialProductionRow( relsize ) ); |
| | | traverse( table, FinancialProductionRow, row, row.Unit() = search.Unit() ){ |
| | | productid := construct( Strings ); |
| | | productid.Add( row.Name() ); |
| | | |
| | | if( productids.ContainsAll( productid ) ){ |
| | | showrow := this.FinancialProductionRow( relnew, Name := row.Name(), Unit := row.Unit(), RowNr := row.RowNr() ); |
| | | |
| | | traverse( row, FinancialProductionCell, cell ){ |
| | | column := selectobject( this, FinancialProductionColumn, column, column.Name() = cell.FinancialProductionColumn().Name() ); |
| | | |
| | | sumcell := selectobject( column, FinancialProductionCell, c, c.FinancialProductionRow() = sumrow ); |
| | | if( isnull( sumcell ) ){ |
| | | sumcell := column.FinancialProductionCell( relnew, Value := '0' ); |
| | | sumrow.FinancialProductionCell( relinsert, sumcell ); |
| | | } |
| | | |
| | | showcell := column.FinancialProductionCell( relnew, Value := cell.Value() ); |
| | | showrow.FinancialProductionCell( relinsert, showcell ); |
| | | value := [Real]cell.Value() + [Real]sumcell.Value(); |
| | | sumcell.Value( [String]value ); |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GenerateColumn ( |
| | | MacroPlan owner |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | startofplanning := owner.StartOfPlanning(); |
| | | startofyear := startofplanning.StartOfYear(); |
| | | startofnextyear := startofplanning.StartOfNextYear(); |
| | | |
| | | for( start := startofyear; start < startofnextyear; start := start.StartOfNextMonth() ){ |
| | | periodtime := start.Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | this.FinancialProductionColumn( relnew, Name := periodname, Period := periodtime ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method IdentifyNullValues |
| | | { |
| | | TextBody: |
| | | [* |
| | | // å é¤ç©ºè¡æ°æ® |
| | | productcolumn := selectobject( this, FinancialProductionColumn, column, column.Index() = 0 ); |
| | | unitcolumn := selectobject( this, FinancialProductionColumn, column, column.Index() = 1 ); |
| | | //å 餿²¡æå¯¹åºæ¥ææ°æ®çè¡ |
| | | traverse ( this, FinancialProductionRow, row ) { |
| | | if ( forall( row, FinancialProductionCell, cell, true, ( cell.FinancialProductionColumn() <> productcolumn or cell.FinancialProductionColumn() <> unitcolumn ) and cell.Value().TrimBoth() = "" ) ) { |
| | | row.Delete(); |
| | | } |
| | | } |
| | | |
| | | // 夿æ¯å¦åå¨è´æ° |
| | | traverse ( this, FinancialProductionRow.FinancialProductionCell, cell ) { |
| | | if ( cell.FinancialProductionColumn().Index() <= 1 ) { |
| | | if ( cell.Value().TrimBoth() = "" ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyNullStrings() ); |
| | | } |
| | | } else { |
| | | if ( cell.Value().TrimBoth() = "" ) { |
| | | cell.Value( '0' ); |
| | | // error( Translations::AC_SalesForecastInputSource_Error6() ); |
| | | } else { |
| | | stn := StringToReal::StandardConverter(); |
| | | if ( not stn.CanConvert( cell.Value().TrimBoth() ) ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyIllegalCharacter() ); |
| | | } else { |
| | | if ( stn.Convert( cell.Value().TrimBoth() ) >= 0 ) { |
| | | cell.Value( [String]ceil( stn.Convert( cell.Value().TrimBoth() ) ) ); |
| | | } else { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyNegativeNumber() ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | cell.FinancialProductionRow().DuplicateValueMarker( cell.FinancialProductionRow().DuplicateValueMarker() + |
| | | ifexpr( cell.FinancialProductionColumn().Index() = 0, "", "-" ) + |
| | | cell.Value() |
| | | ); |
| | | } |
| | | |
| | | // 夿æ¯å¦åå¨é夿°æ® |
| | | row := selectduplicates( this, FinancialProductionRow, row, true, row.DuplicateValueMarker() ); |
| | | if ( row.Size() > 1 ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyDuplicateData() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ImportVerification |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-27-2024 (created) |
| | | owner := this.FinancialProductionSource().MacroPlan(); |
| | | startofthisyear := owner.StartOfPlanning().StartOfYear().Date(); |
| | | startofnextyear := owner.StartOfPlanning().StartOfNextYear().Date(); |
| | | |
| | | if ( exists( this, FinancialProductionColumn, column, ( column.Index() = 0 and column.Name() <> "Product" ) or |
| | | ( column.Index() = 1 and column.Name() <> "Unit" ) ) ){ |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyNullStrings() ); |
| | | } |
| | | |
| | | indexcolumn := select( this, FinancialProductionColumn, column, column.Index() = 2 ); |
| | | if ( isnull( indexcolumn ) ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyNullStrings() ); |
| | | } else { |
| | | cnv2 := StringToDate::StandardConverter(); |
| | | cnv2.SetCustomConversion(); |
| | | cnv2.CustomFormatString( "dd/MM/yyyy" ); |
| | | |
| | | while ( not isnull( indexcolumn ) ) { |
| | | if ( not cnv2.CanConvert( indexcolumn.Name() ) ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyIllegalTime() ); |
| | | } |
| | | period := cnv2.Convert( indexcolumn.Name() ); |
| | | // info( "å¼å§æ¶é´ï¼", this.SalesForecastInputSource().PlanningStartDate().Format( "Y-M2-D2" ), |
| | | // "ç»ææ¶é´ï¼", this.SalesForecastInputSource().PlanningEndDate().Format( "Y-M2-D2" ), |
| | | // "åæ¶é´ï¼", cnv2.Convert( indexColumn.name() ).Format( "Y-M2-D2" ) ); |
| | | // 夿æ¯å¦å¨è®¡å卿å
|
| | | if ( period <= startofthisyear or period >= startofnextyear ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyOverPeriod() ); |
| | | } |
| | | indexcolumn := indexcolumn.NextColumn(); |
| | | } |
| | | } |
| | | |
| | | productcolumn := selectobject( this, FinancialProductionColumn, column, column.Index() = 0 ); |
| | | unitcolumn := selectobject( this, FinancialProductionColumn, column, column.Index() = 1 ); |
| | | |
| | | units := selectuniquevalues( unitcolumn, FinancialProductionCell, cell, cell.Value() ); |
| | | if( units.Size() <> 2 or ( units.Find( FinancialProductionReport::GetDefaultCCUnit() ) >= 0 |
| | | and units.Find( FinancialProductionReport::GetDefaultDLUnit() ) >= 0 ) ){ |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyFactoryNoExist() ); |
| | | } |
| | | |
| | | products := selectuniquevalues( productcolumn, FinancialProductionCell, cell, cell.Value() ); |
| | | productnames := selectuniquevalues( owner, Product_MP, product, product.ID() ); |
| | | |
| | | if( not productnames.ContainsAll( products ) ){ |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyProductNoExist() ); |
| | | } |
| | | *] |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return 'Assembly Plant (France)'; |
| | | return 'é¿æ¥'; |
| | | *] |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return 'Assembly Plant (Spain)'; |
| | | return '大è¿'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DuplicateValueMarker |
| | | { |
| | | #keys: '3[415136.0.857450433][415136.0.857450432][415136.0.857450434]' |
| | | Description: '夿æ¯å¦åå¨éå¤å¼' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: DuplicateValueMarker |
| | | } |
| | |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | allunit := FinancialProductionReport::GetDefaultAllUnit(); |
| | | table := selectobject( this.MacroPlan(), FinancialProductionSource.FinancialProductionReport, table, not table.IsImport() ); |
| | | table := selectobject( this.MacroPlan(), FinancialProductionSource.FinancialProductionReport, table, not table.IsImport() and not table.IsShow() ); |
| | | //info( '--------------------------', table.Name() ); |
| | | traverse( this, FinancialProductionReport, report ){ |
| | | productcolumn := selectobject( report, FinancialProductionColumn, column, column.Name() = 'Product' ); |
| | | unitcolumn := selectobject( report, FinancialProductionColumn, column, column.Name() = 'Unit' ); |
| | | // info( '----------------------1-----------------', productcolumn.Name(), unitcolumn.Name() ); |
| | | |
| | | traverse( report, FinancialProductionRow, row ){ |
| | | product := selectobject( row, FinancialProductionCell, cell, cell.FinancialProductionColumn() = productcolumn ); |
| | | unit := selectobject( row, FinancialProductionCell, cell, cell.FinancialProductionColumn() = unitcolumn ); |
| | | // info( '----------------------2-----------------', product.Value(), unit.Value() ); |
| | | |
| | | unitrow := selectobject( table, FinancialProductionRow, unitrow, unitrow.Name() = product.Value() and unitrow.Unit() = unit.Value() ); |
| | | allrow := selectobject( table, FinancialProductionRow, allrow, allrow.Name() = product.Value() and allrow.Unit() = allunit ); |
| | | |
| | | traverse( row, FinancialProductionCell, cell, cell.FinancialProductionColumn() <> productcolumn and cell.FinancialProductionColumn() <> unitcolumn and product.Value() = '120 kW Rotor' and unit.Value() = 'Assembly Plant (Spain)' ){ |
| | | // info( '----------------------3-----------------', unitrow.Name(), unitrow.Unit() ); |
| | | // and product.Value() = '120 kW Rotor' and unit.Value() = 'Assembly Plant (Spain)' |
| | | traverse( row, FinancialProductionCell, cell, cell.FinancialProductionColumn() <> productcolumn and cell.FinancialProductionColumn() <> unitcolumn ){ |
| | | column := cell.FinancialProductionColumn(); |
| | | unitcell := selectobject( unitrow, FinancialProductionCell, unitcell, unitcell.FinancialProductionColumn().Name() = column.Name() ); |
| | | allcell := selectobject( allrow, FinancialProductionCell, allcell, allcell.FinancialProductionColumn().Name() = column.Name() ); |
| | | info( isnull( unitcell ), isnull( allcell ), cell.Value(), unitcell.Value(), allcell.Value() ); |
| | | // info( isnull( unitcell ), isnull( allcell ), cell.Value(), unitcell.Value(), allcell.Value() ); |
| | | if( not isnull( unitcell ) ){ |
| | | unitcell.Value( cell.Value() ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method IsExistFutureMonthData () as Boolean |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-26-2024 (created) |
| | | startofplanning := this.MacroPlan().StartOfPlanning().Date().Format( 'M2/D2/Y' ); |
| | | columns := selectset( this, FinancialProductionReport.FinancialProductionColumn, column, column.Name() > startofplanning ); |
| | | return exists( columns, Elements.FinancialProductionCell, cell, cell.Value() <> '' ); |
| | | *] |
| | | } |
| | |
| | | this.FinancialProductionReport( relinsert, &xlstable ); |
| | | |
| | | Transaction::Transaction().Propagate( attribute( FinancialProductionColumn, Index ) ); |
| | | |
| | | // ï¼å¯¼å
¥åï¼ç»ç©ºå¼èµäºé»è®¤å¼ï¼N/Aï¼,å¹¶ä¸å é¤ç©ºè¡æ°æ®åæ°æ®æ ¡éª |
| | | xlstable.IdentifyNullValues(); |
| | | |
| | | xlstable.ImportVerification(); |
| | | } |
| | | //导å
¥åå¤çæ°æ® |
| | | this.AfterImport(); |
| | | //this.AfterImport(); |
| | | *] |
| | | } |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Download ( |
| | | MacroPlan macroPlan, |
| | | Boolean istemplate |
| | | MacroPlan macroPlan |
| | | ) as BinaryValue |
| | | { |
| | | Description: 'ä¸è½½è´¢å¡æ¥è¡¨æ°æ®' |
| | | TextBody: |
| | | [* |
| | | startofplanning := macroPlan.StartOfPlanning().Date(); |
| | | allunit := FinancialProductionReport::GetDefaultAllUnit(); |
| | | table := selectobject( macroPlan, FinancialProductionSource.FinancialProductionReport, table, not table.IsImport() ); |
| | | |
| | | table := selectobject( macroPlan, FinancialProductionSource.FinancialProductionReport, table, not table.IsImport() and table.IsShow() ); |
| | | |
| | | xmlDOMI := XMLDOMImplementation::Create(); |
| | | xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + table.Name() + '</name></table>' ); |
| | |
| | | |
| | | tableElement.AppendChild( productcolumnelement ); |
| | | tableElement.AppendChild( unitcolumnelement ); |
| | | traverse ( table, FinancialProductionColumn, column, not istemplate or column.Period() < startofplanning ) { |
| | | traverse ( table, FinancialProductionColumn, column ) { |
| | | columnelement := xmlDOM.CreateElement( "column" ); |
| | | nameelement := xmlDOM.CreateElement( "name" ); |
| | | typeelement := xmlDOM.CreateElement( "type" ); |
| | |
| | | columnelement.AppendChild( nameelement ); |
| | | columnelement.AppendChild( typeelement ); |
| | | |
| | | cells := selectsortedset( column, FinancialProductionCell, cell, cell.FinancialProductionRow().Unit() <> allunit, cell.FinancialProductionRow().Name() ); |
| | | cells := selectsortedset( column, FinancialProductionCell, cell, cell.FinancialProductionRow().RowNr() ); |
| | | |
| | | traverse ( cells, Elements, c ) { |
| | | if( column.Index() = 0 ){ |
| | |
| | | unitcolumnelement.AppendChild( unitcellElement ); |
| | | } |
| | | cellElement := xmlDOM.CreateElement( "cell" ); |
| | | if( istemplate ){ |
| | | cellElement.SetAttribute( "value", '' ); |
| | | }else{ |
| | | cellElement.SetAttribute( "value", c.Value() ); |
| | | } |
| | | cellElement.SetAttribute( "value", c.Value() ); |
| | | columnelement.AppendChild( cellElement ); |
| | | } |
| | | tableElement.AppendChild( columnelement ); |
| | |
| | | tableElement := xmlDOM.GetElementByTagName( "table", 0 ); |
| | | |
| | | startofyear := macroPlan.StartOfPlanning().StartOfYear(); |
| | | startofplanning := macroPlan.StartOfPlanning(); |
| | | startofnextyear := macroPlan.StartOfPlanning().StartOfNextYear(); |
| | | |
| | | for( start := startofyear; start < startofplanning; start := start.StartOfNextMonth() ){ |
| | | for( start := startofyear; start < startofnextyear; start := start.StartOfNextMonth() ){ |
| | | columnElement := xmlDOM.CreateElement( "column" ); |
| | | nameElement := xmlDOM.CreateElement( "name" ); |
| | | typeElement := xmlDOM.CreateElement( "type" ); |
| | |
| | | allunit := FinancialProductionReport::GetDefaultAllUnit(); |
| | | source := owner.FinancialProductionSource( relnew, IsImport := false, Name := FinancialProductionReport::GetDefaultName() ); |
| | | table := source.FinancialProductionReport( relnew, ID := source.Name(), Name := source.Name(), IsImport := false ); |
| | | showtable := source.FinancialProductionReport( relnew, ID := source.Name() + 'Show', Name := source.Name(), IsImport := false, IsShow := true ); |
| | | startofplanning := owner.StartOfPlanning(); |
| | | startofnextmonth := owner.StartOfPlanning().StartOfNextMonth(); |
| | | startofyear := startofplanning.StartOfYear(); |
| | | startofnextyear := startofplanning.StartOfNextYear(); |
| | | |
| | | source.FinancialProductionSearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit ); |
| | | search := source.FinancialProductionSearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit ); |
| | | |
| | | products := construct( Product_MPs ); |
| | | |
| | | table.GenerateColumn( owner ); |
| | | |
| | | traverse( owner, Product_MP.ProductInStockingPoint_MP, pisp, pisp.Product_MP().IsLeaf() and ( pisp.StockingPoint_MP().UnitID() = ccunit or pisp.StockingPoint_MP().UnitID() = dlunit ) ){ |
| | | unit := pisp.StockingPoint_MP().UnitID(); |
| | |
| | | dlrow := table.FinancialProductionRow( relnew, Name := pisp.ProductID(), Unit := unit ); |
| | | } |
| | | if( isnull( allrow ) ){ |
| | | products.Add( pisp.Product_MP() ); |
| | | allrow := table.FinancialProductionRow( relnew, Name := pisp.ProductID(), Unit := allunit ); |
| | | } |
| | | |
| | |
| | | periodtime := start.Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | column := selectobject( table, FinancialProductionColumn, column, column.Name() = periodname and column.Period() = periodtime ); |
| | | |
| | | if( isnull( column ) ){ |
| | | column := table.FinancialProductionColumn( relnew, Name := periodname, Period := periodtime ); |
| | | } |
| | | |
| | | if( not isnull( ccrow ) ){ |
| | | ccrow.Initialize( column, ccunit ); |
| | |
| | | allrow.Initialize( column, pispip.NewSupplyProductionQuantity() ); |
| | | } |
| | | } |
| | | rows := selectsortedset( table, FinancialProductionRow, row, row.Name() ); |
| | | i := 0; |
| | | traverse( rows, Elements, e ){ |
| | | e.RowNr( i ); |
| | | i := i + 1; |
| | | } |
| | | showtable.Generate( search, products ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Value |
| | | { |
| | | #keys: '3[415136.0.857450650][415136.0.857450649][415136.0.857450651]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Value |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type FinancialSalesCell |
| | | { |
| | | #keys: '5[415136.0.857450647][415136.0.857450645][0.0.0][415136.0.857450646][415136.0.857450648]' |
| | | BaseType: Object |
| | | Description: 'è´¢å¡ééæ¥è¡¨åå
æ ¼' |
| | | StructuredName: 'FinancialSalesCells' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Index |
| | | { |
| | | #keys: '3[415136.0.857450603][415136.0.857450602][415136.0.857450604]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.857450606][415136.0.857450605][415136.0.857450607]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Period |
| | | { |
| | | #keys: '3[415136.0.857450609][415136.0.857450608][415136.0.857450610]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Name |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcIndex |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-21-2024 (created) |
| | | |
| | | value := ifexpr( isnull( this.PreviousColumn() ), 0, this.PreviousColumn().Index() + 1 ); |
| | | |
| | | this.Index( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type FinancialSalesColumn |
| | | { |
| | | #keys: '5[415136.0.857450600][415136.0.857450598][0.0.0][415136.0.857450599][415136.0.857450601]' |
| | | BaseType: Object |
| | | Description: 'è´¢å¡ééå' |
| | | StructuredName: 'FinancialSalesColumns' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ID |
| | | { |
| | | #keys: '3[415136.0.857450536][415136.0.857450535][415136.0.857450537]' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsImport |
| | | { |
| | | #keys: '3[415136.0.857450539][415136.0.857450538][415136.0.857450540]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsShow |
| | | { |
| | | #keys: '3[415136.0.857450542][415136.0.857450541][415136.0.857450543]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.857450545][415136.0.857450544][415136.0.857450546]' |
| | | Description: 'åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: ID |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Name |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Clear |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | this.FinancialSalesColumn( relflush ); |
| | | this.FinancialSalesRow( relflush ); |
| | | |
| | | this.GenerateColumn( this.FinancialSalesSource().MacroPlan() ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Generate ( |
| | | FinancialSalesSearch search, |
| | | Product_MPs products |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | table := selectobject( this, FinancialSalesSource.FinancialSalesReport, report, not report.IsShow() ); |
| | | allunit := '<All>'; |
| | | //æ¸
空ä¹ååå¨çæ¾ç¤ºæ°æ® |
| | | this.Clear(); |
| | | //è¿æ»¤åç产åid |
| | | productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() ) |
| | | and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() ) |
| | | and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() ); |
| | | sumrow := this.FinancialSalesRow( relnew, Name := 'SUM', Unit := search.Unit(), RowNr := table.FinancialSalesRow( relsize ) ); |
| | | traverse( table, FinancialSalesRow, row, row.Unit() = search.Unit() ){ |
| | | productid := construct( Strings ); |
| | | productid.Add( row.Name() ); |
| | | |
| | | if( productids.ContainsAll( productid ) ){ |
| | | showrow := this.FinancialSalesRow( relnew, Name := row.Name(), Unit := row.Unit(), RowNr := row.RowNr() ); |
| | | |
| | | traverse( row, FinancialSalesCell, cell ){ |
| | | column := selectobject( this, FinancialSalesColumn, column, column.Name() = cell.FinancialSalesColumn().Name() ); |
| | | |
| | | sumcell := selectobject( column, FinancialSalesCell, c, c.FinancialSalesRow() = sumrow ); |
| | | if( isnull( sumcell ) ){ |
| | | sumcell := column.FinancialSalesCell( relnew, Value := '0' ); |
| | | sumrow.FinancialSalesCell( relinsert, sumcell ); |
| | | } |
| | | |
| | | showcell := column.FinancialSalesCell( relnew, Value := cell.Value() ); |
| | | showrow.FinancialSalesCell( relinsert, showcell ); |
| | | value := [Real]cell.Value() + [Real]sumcell.Value(); |
| | | sumcell.Value( [String]value ); |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GenerateColumn ( |
| | | MacroPlan owner |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | startofplanning := owner.StartOfPlanning(); |
| | | startofyear := startofplanning.StartOfYear(); |
| | | startofnextyear := startofplanning.StartOfNextYear(); |
| | | |
| | | for( start := startofyear; start < startofnextyear; start := start.StartOfNextMonth() ){ |
| | | periodtime := start.Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | this.FinancialSalesColumn( relnew, Name := periodname, Period := periodtime ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetRow ( |
| | | String salessegment, |
| | | String product, |
| | | DateTime startdate, |
| | | DateTime enddate |
| | | ) as FinancialSalesRow |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | row := selectobject( this, FinancialSalesRow, row, row.Name() = product and row.Unit() = salessegment ); |
| | | |
| | | if( isnull( row ) ){ |
| | | row := this.FinancialSalesRow( relnew, Name := product, Unit := salessegment ); |
| | | //åå§ååå
æ ¼ |
| | | row.InitializeCell( this, startdate, enddate ); |
| | | } |
| | | |
| | | return row; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method IdentifyNullValues |
| | | { |
| | | TextBody: |
| | | [* |
| | | // å é¤ç©ºè¡æ°æ® |
| | | productcolumn := selectobject( this, FinancialSalesColumn, column, column.Index() = 0 ); |
| | | unitcolumn := selectobject( this, FinancialSalesColumn, column, column.Index() = 1 ); |
| | | //å 餿²¡æå¯¹åºæ¥ææ°æ®çè¡ |
| | | traverse ( this, FinancialSalesRow, row ) { |
| | | if ( forall( row, FinancialSalesCell, cell, true, ( cell.FinancialSalesColumn() <> productcolumn or cell.FinancialSalesColumn() <> unitcolumn ) and cell.Value().TrimBoth() = "" ) ) { |
| | | row.Delete(); |
| | | } |
| | | } |
| | | |
| | | // 夿æ¯å¦åå¨è´æ° |
| | | traverse ( this, FinancialSalesRow.FinancialSalesCell, cell ) { |
| | | if ( cell.FinancialSalesColumn().Index() <= 1 ) { |
| | | if ( cell.Value().TrimBoth() = "" ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyNullStrings() ); |
| | | } |
| | | } else { |
| | | if ( cell.Value().TrimBoth() = "" ) { |
| | | cell.Value( '0' ); |
| | | // error( Translations::AC_SalesForecastInputSource_Error6() ); |
| | | } else { |
| | | stn := StringToReal::StandardConverter(); |
| | | if ( not stn.CanConvert( cell.Value().TrimBoth() ) ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyIllegalCharacter() ); |
| | | } else { |
| | | if ( stn.Convert( cell.Value().TrimBoth() ) >= 0 ) { |
| | | cell.Value( [String]ceil( stn.Convert( cell.Value().TrimBoth() ) ) ); |
| | | } else { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyNegativeNumber() ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | cell.FinancialSalesRow().DuplicateValueMarker( cell.FinancialSalesRow().DuplicateValueMarker() + |
| | | ifexpr( cell.FinancialSalesColumn().Index() = 0, "", "-" ) + |
| | | cell.Value() |
| | | ); |
| | | } |
| | | |
| | | // 夿æ¯å¦åå¨é夿°æ® |
| | | row := selectduplicates( this, FinancialSalesRow, row, true, row.DuplicateValueMarker() ); |
| | | if ( row.Size() > 1 ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyDuplicateData() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ImportVerification |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-27-2024 (created) |
| | | owner := this.FinancialSalesSource().MacroPlan(); |
| | | startofthisyear := owner.StartOfPlanning().StartOfYear().Date(); |
| | | startofnextyear := owner.StartOfPlanning().StartOfNextYear().Date(); |
| | | |
| | | if ( exists( this, FinancialSalesColumn, column, ( column.Index() = 0 and column.Name() <> "Product" ) or |
| | | ( column.Index() = 1 and column.Name() <> "Unit" ) ) ){ |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyNullStrings() ); |
| | | } |
| | | |
| | | indexcolumn := select( this, FinancialSalesColumn, column, column.Index() = 2 ); |
| | | if ( isnull( indexcolumn ) ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyNullStrings() ); |
| | | } else { |
| | | cnv2 := StringToDate::StandardConverter(); |
| | | cnv2.SetCustomConversion(); |
| | | cnv2.CustomFormatString( "dd/MM/yyyy" ); |
| | | |
| | | while ( not isnull( indexcolumn ) ) { |
| | | if ( not cnv2.CanConvert( indexcolumn.Name() ) ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyIllegalTime() ); |
| | | } |
| | | period := cnv2.Convert( indexcolumn.Name() ); |
| | | // info( "å¼å§æ¶é´ï¼", this.SalesForecastInputSource().PlanningStartDate().Format( "Y-M2-D2" ), |
| | | // "ç»ææ¶é´ï¼", this.SalesForecastInputSource().PlanningEndDate().Format( "Y-M2-D2" ), |
| | | // "åæ¶é´ï¼", cnv2.Convert( indexColumn.name() ).Format( "Y-M2-D2" ) ); |
| | | // 夿æ¯å¦å¨è®¡å卿å
|
| | | if ( period <= startofthisyear or period >= startofnextyear ) { |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyOverPeriod() ); |
| | | } |
| | | indexcolumn := indexcolumn.NextColumn(); |
| | | } |
| | | } |
| | | |
| | | productcolumn := selectobject( this, FinancialSalesColumn, column, column.Index() = 0 ); |
| | | unitcolumn := selectobject( this, FinancialSalesColumn, column, column.Index() = 1 ); |
| | | |
| | | units := selectuniquevalues( unitcolumn, FinancialSalesCell, cell, cell.Value() ); |
| | | if( units.Size() <> 2 or ( units.Find( FinancialProductionReport::GetDefaultCCUnit() ) >= 0 |
| | | and units.Find( FinancialProductionReport::GetDefaultDLUnit() ) >= 0 ) ){ |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyFactoryNoExist() ); |
| | | } |
| | | |
| | | products := selectuniquevalues( productcolumn, FinancialSalesCell, cell, cell.Value() ); |
| | | productnames := selectuniquevalues( owner, Product_MP, product, product.ID() ); |
| | | |
| | | if( not productnames.ContainsAll( products ) ){ |
| | | error( Translations::MP_FinancialProductionReport_ImportIndetifyProductNoExist() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method SyncRows |
| | | { |
| | | TextBody: |
| | | [* |
| | | totalRows := 0; |
| | | totalColumns := this.FinancialSalesColumn( relsize ); |
| | | |
| | | if ( totalColumns > 0 ) { |
| | | randomCol := select( this, FinancialSalesColumn, tempFPC, true ); |
| | | totalRows := randomCol.FinancialSalesCell( relsize ); |
| | | |
| | | this.FinancialSalesRow( relflush ); |
| | | |
| | | cells := construct( FinancialSalesCells ); |
| | | traverse ( this, FinancialSalesColumn, fpc ) { |
| | | cells.Add( fpc.FirstCellInColumn() ); |
| | | } |
| | | |
| | | for ( i := 0; i < totalRows; i++ ) { |
| | | assert( selectvalues( cells, Elements, c, true, c.FinancialSalesColumn().Index() ).ToString( "" ) = |
| | | selectvalues( selectsortedset( cells, Elements, c, true, c.FinancialSalesColumn().Index() ), Elements, c, true, c.FinancialSalesColumn().Index() ).ToString( "" ), |
| | | "Assertion error in FrockDataTable::syncRows: Cells not sorted by column index" ); |
| | | row := this.FinancialSalesRow( relnew, RowNr := i ); |
| | | |
| | | newCells := construct( FinancialSalesCells ); |
| | | |
| | | traverse ( cells, Elements, c ) { |
| | | row.FinancialSalesCell( relinsert, c ); |
| | | |
| | | newCells.Add( c.NextCellInColumn() ); |
| | | } |
| | | |
| | | cells := &newCells; |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultName () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return 'Financial sales'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultTripLeadingTime () as Duration |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return Duration::Days( 2 ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetSalesSegmentAll () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return '<All>'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetSalesSegmentCC () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return 'é¿æ¥'; |
| | | //return 'China'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetSalesSegmentDL () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return '大è¿'; |
| | | //return 'Foregin'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetSalesSegmentFS () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return 'ä½å±±'; |
| | | //return 'Germany'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetSalesSegmentTJ () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return '天津'; |
| | | //return 'USA'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetStockingPointCCLine () as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return 'é¿æ¥è£
é
线边åº'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetStockingPointCCRent () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return 'é¿æ¥å¤ç§åº'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetStockingPointDLLine () as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return '大è¿è£
é
线边åº'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | XMLElementId |
| | | { |
| | | XMLAddressType { } |
| | | XMLID Key { } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | XMLElementId |
| | | { |
| | | XMLID QuintiqType { } |
| | | XMLQualifierType { } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | XMLObjectBase.ObjectDefinitions |
| | | { |
| | | IdField: Key |
| | | ObjectTypeField: QuintiqType |
| | | TargetType: FinancialSalesCell |
| | | XMLID cell { } |
| | | Attributes: |
| | | [ |
| | | XMLAttribute |
| | | { |
| | | Attribute: Value |
| | | XMLID value { } |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | XMLObjectBase.ObjectDefinitions |
| | | { |
| | | IdField: Key |
| | | ObjectTypeField: QuintiqType |
| | | TargetType: FinancialSalesColumn |
| | | XMLID column { } |
| | | Aggregates: |
| | | [ |
| | | XMLAggregate |
| | | { |
| | | ElementDefinition: cell |
| | | GenerateOutput: false |
| | | Relation: FinancialSalesCell |
| | | XMLID FinancialSalesCell { } |
| | | } |
| | | ] |
| | | Attributes: |
| | | [ |
| | | XMLAttribute |
| | | { |
| | | Attribute: Name |
| | | XMLID name { } |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | XMLObjectBase.ObjectDefinitions |
| | | { |
| | | IdField: Key |
| | | ObjectTypeField: QuintiqType |
| | | TargetType: FinancialSalesReport |
| | | XMLID table { } |
| | | Aggregates: |
| | | [ |
| | | XMLAggregate |
| | | { |
| | | ElementDefinition: column |
| | | GenerateOutput: false |
| | | Relation: FinancialSalesColumn |
| | | XMLID FinancialSalesColumn { } |
| | | } |
| | | ] |
| | | Attributes: |
| | | [ |
| | | XMLAttribute |
| | | { |
| | | Attribute: Name |
| | | XMLID name { } |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #root |
| | | XML FinancialSalesReportXML |
| | | { |
| | | Direction: 'ImportExport' |
| | | Root: table |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | XMLElementId |
| | | { |
| | | XMLAddressType { } |
| | | XMLID Key { } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | XMLElementId |
| | | { |
| | | XMLID QuintiqType { } |
| | | XMLQualifierType { } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | XMLObjectBase.ObjectDefinitions |
| | | { |
| | | IdField: Key |
| | | ObjectTypeField: QuintiqType |
| | | TargetType: FinancialSalesColumn |
| | | XMLID column { } |
| | | Attributes: |
| | | [ |
| | | XMLAttribute |
| | | { |
| | | Attribute: Name |
| | | XMLID name { } |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | XMLObjectBase.ObjectDefinitions |
| | | { |
| | | IdField: Key |
| | | ObjectTypeField: QuintiqType |
| | | TargetType: FinancialSalesReport |
| | | XMLID table { } |
| | | Aggregates: |
| | | [ |
| | | XMLAggregate |
| | | { |
| | | ElementDefinition: column |
| | | GenerateOutput: false |
| | | Relation: FinancialSalesColumn |
| | | XMLID FinancialSalesColumn { } |
| | | } |
| | | ] |
| | | Attributes: |
| | | [ |
| | | XMLAttribute |
| | | { |
| | | Attribute: Name |
| | | XMLID name { } |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #root |
| | | XML FinancialSalesReportXMLHeaders |
| | | { |
| | | Direction: 'ImportExport' |
| | | Root: table |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type FinancialSalesReport |
| | | { |
| | | #keys: '5[415136.0.857450533][415136.0.857450531][0.0.0][415136.0.857450532][415136.0.857450534]' |
| | | BaseType: Object |
| | | Description: 'è´¢å¡ééæ¥è¡¨' |
| | | StructuredName: 'FinancialSalesReports' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute DuplicateValueMarker |
| | | { |
| | | #keys: '3[415136.0.857450578][415136.0.857450577][415136.0.857450579]' |
| | | Description: '夿æ¯å¦åå¨éå¤å¼' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.857450569][415136.0.857450568][415136.0.857450570]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute RowNr |
| | | { |
| | | #keys: '3[415136.0.857450572][415136.0.857450571][415136.0.857450573]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Unit |
| | | { |
| | | #keys: '3[415136.0.857450575][415136.0.857450574][415136.0.857450576]' |
| | | Description: '产线' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: DuplicateValueMarker |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Name |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Unit |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Filter ( |
| | | FinancialProductionSearch search, |
| | | Product_MPs products |
| | | ) declarative remote as Boolean |
| | | { |
| | | Description: 'è¿æ»¤' |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | allunit := '<All>'; |
| | | productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() ) |
| | | and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() ) |
| | | and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() ); |
| | | |
| | | productid := construct( Strings ); |
| | | productid.Add( this.Name() ); |
| | | |
| | | return productids.ContainsAll( productid ) and this.Unit() = search.Unit(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Initialize ( |
| | | FinancialSalesColumn column, |
| | | String unit |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := column.FinancialSalesCell( relnew, Value := '' ); |
| | | |
| | | this.FinancialSalesCell( relinsert, cell ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Initialize ( |
| | | FinancialSalesColumn column, |
| | | Real quantity |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := selectobject( this, FinancialSalesCell, cell, cell.FinancialSalesColumn() = column ); |
| | | |
| | | value := [Real]cell.Value() + quantity; |
| | | cell.Value( [String]value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method InitializeCell ( |
| | | FinancialSalesReport table, |
| | | DateTime startdate, |
| | | DateTime enddate |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | for( start := startdate; start < enddate; start := start.StartOfNextMonth() ){ |
| | | periodtime := start.Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | column := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime ); |
| | | |
| | | this.Initialize( column, this.Unit() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type FinancialSalesRow |
| | | { |
| | | #keys: '5[415136.0.857450566][415136.0.857450564][0.0.0][415136.0.857450565][415136.0.857450567]' |
| | | BaseType: Object |
| | | Description: 'è´¢å¡ééè¡' |
| | | StructuredName: 'FinancialSalesRows' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Generation |
| | | { |
| | | #keys: '3[415136.0.857450503][415136.0.857450502][415136.0.857450504]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MqbMlb |
| | | { |
| | | #keys: '3[415136.0.857450506][415136.0.857450505][415136.0.857450507]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Power |
| | | { |
| | | #keys: '3[415136.0.857450509][415136.0.857450508][415136.0.857450510]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Unit |
| | | { |
| | | #keys: '3[415136.0.857450512][415136.0.857450511][415136.0.857450513]' |
| | | Description: '产线' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Generation |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: MqbMlb |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Power |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Unit |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type FinancialSalesSearch |
| | | { |
| | | #keys: '5[415136.0.857450500][415136.0.857450498][0.0.0][415136.0.857450499][415136.0.857450501]' |
| | | BaseType: Object |
| | | Description: 'æ¥è¯¢ç±»' |
| | | StructuredName: 'FinancialSalesSearchs' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute FileBinaryValue |
| | | { |
| | | #keys: '3[415136.0.857450463][415136.0.857450462][415136.0.857450464]' |
| | | ValueType: BinaryValue |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsImport |
| | | { |
| | | #keys: '3[415136.0.857450466][415136.0.857450465][415136.0.857450467]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsXLSX |
| | | { |
| | | #keys: '3[415136.0.857450469][415136.0.857450468][415136.0.857450470]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.857450472][415136.0.857450471][415136.0.857450473]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute UploadDateTime |
| | | { |
| | | #keys: '3[415136.0.857450475][415136.0.857450474][415136.0.857450476]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute UploadUser |
| | | { |
| | | #keys: '3[415136.0.857450478][415136.0.857450477][415136.0.857450479]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Name |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: UploadDateTime |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: UploadUser |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method AfterImport |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | allunit := FinancialProductionReport::GetDefaultAllUnit(); |
| | | table := selectobject( this.MacroPlan(), FinancialSalesSource.FinancialSalesReport, table, not table.IsImport() and not table.IsShow() ); |
| | | //info( '--------------------------', table.Name() ); |
| | | traverse( this, FinancialSalesReport, report ){ |
| | | productcolumn := selectobject( report, FinancialSalesColumn, column, column.Name() = 'Product' ); |
| | | unitcolumn := selectobject( report, FinancialSalesColumn, column, column.Name() = 'Unit' ); |
| | | // info( '----------------------1-----------------', productcolumn.Name(), unitcolumn.Name() ); |
| | | |
| | | traverse( report, FinancialSalesRow, row ){ |
| | | product := selectobject( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() = productcolumn ); |
| | | unit := selectobject( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() = unitcolumn ); |
| | | // info( '----------------------2-----------------', product.Value(), unit.Value() ); |
| | | |
| | | unitrow := selectobject( table, FinancialSalesRow, unitrow, unitrow.Name() = product.Value() and unitrow.Unit() = unit.Value() ); |
| | | allrow := selectobject( table, FinancialSalesRow, allrow, allrow.Name() = product.Value() and allrow.Unit() = allunit ); |
| | | // info( '----------------------3-----------------', unitrow.Name(), unitrow.Unit() ); |
| | | // and product.Value() = '120 kW Rotor' and unit.Value() = 'Assembly Plant (Spain)' |
| | | traverse( row, FinancialSalesCell, cell, cell.FinancialSalesColumn() <> productcolumn and cell.FinancialSalesColumn() <> unitcolumn ){ |
| | | column := cell.FinancialSalesColumn(); |
| | | unitcell := selectobject( unitrow, FinancialSalesCell, unitcell, unitcell.FinancialSalesColumn().Name() = column.Name() ); |
| | | allcell := selectobject( allrow, FinancialSalesCell, allcell, allcell.FinancialSalesColumn().Name() = column.Name() ); |
| | | // info( isnull( unitcell ), isnull( allcell ), cell.Value(), unitcell.Value(), allcell.Value() ); |
| | | if( not isnull( unitcell ) ){ |
| | | unitcell.Value( cell.Value() ); |
| | | } |
| | | if( not isnull( allcell ) ){ |
| | | value := [Real]cell.Value() + [Real]allcell.Value(); |
| | | allcell.Value( [String]value ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method IsExistFutureMonthData () as Boolean |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-26-2024 (created) |
| | | startofplanning := this.MacroPlan().StartOfPlanning().Date().Format( 'M2/D2/Y' ); |
| | | columns := selectset( this, FinancialSalesReport.FinancialSalesColumn, column, column.Name() > startofplanning ); |
| | | return exists( columns, Elements.FinancialSalesCell, cell, cell.Value() <> '' ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method ReadStructure |
| | | { |
| | | TextBody: |
| | | [* |
| | | tableGroupHandle := TableGroupHandle::Create( this.Name() ); |
| | | tableGroupHandle := XLS::LoadTableGroupFromBinaryData( this.FileBinaryValue().AsBinaryData(), tableGroupHandle, true, this.IsXLSX() ); |
| | | sheets := tableGroupHandle.TableNames(); |
| | | |
| | | traverse ( sheets, Elements, sheetName ) { |
| | | tableHandle := tableGroupHandle.Table( sheetName ); |
| | | tableXML := TableHandle::ExportXML( tableHandle ); |
| | | |
| | | // info( tableXML.AsQUILL() ); |
| | | |
| | | FinancialSalesReport::XMLImportFinancialSalesReportXMLHeaders( tableXML ); |
| | | xlstable := FinancialSalesReport::XMLImportFinancialSalesReportXML( tableXML ); |
| | | |
| | | xlstable.SyncRows(); |
| | | |
| | | xlstable.Name( sheetName ); |
| | | xlstable.IsImport( true ); |
| | | this.FinancialSalesReport( relinsert, &xlstable ); |
| | | |
| | | Transaction::Transaction().Propagate( attribute( FinancialSalesColumn, Index ) ); |
| | | |
| | | // ï¼å¯¼å
¥åï¼ç»ç©ºå¼èµäºé»è®¤å¼ï¼N/Aï¼,å¹¶ä¸å é¤ç©ºè¡æ°æ®åæ°æ®æ ¡éª |
| | | xlstable.IdentifyNullValues(); |
| | | |
| | | xlstable.ImportVerification(); |
| | | } |
| | | //导å
¥åå¤çæ°æ® |
| | | //this.AfterImport(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Download ( |
| | | MacroPlan macroPlan |
| | | ) as BinaryValue |
| | | { |
| | | Description: 'ä¸è½½è´¢å¡æ¥è¡¨æ°æ®' |
| | | TextBody: |
| | | [* |
| | | |
| | | table := selectobject( macroPlan, FinancialSalesSource.FinancialSalesReport, table, not table.IsImport() and table.IsShow() ); |
| | | |
| | | xmlDOMI := XMLDOMImplementation::Create(); |
| | | xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + table.Name() + '</name></table>' ); |
| | | |
| | | tableElement := xmlDOM.GetElementByTagName( "table", 0 ); |
| | | //Product |
| | | productcolumnelement := xmlDOM.CreateElement( "column" ); |
| | | productnameelement := xmlDOM.CreateElement( "name" ); |
| | | producttypeelement := xmlDOM.CreateElement( "type" ); |
| | | productnameelement.TextContent( 'Product' ); |
| | | producttypeelement.TextContent( "String" ); |
| | | productcolumnelement.AppendChild( productnameelement ); |
| | | productcolumnelement.AppendChild( producttypeelement ); |
| | | //Unit |
| | | unitcolumnelement := xmlDOM.CreateElement( "column" ); |
| | | unitnameelement := xmlDOM.CreateElement( "name" ); |
| | | unittypeelement := xmlDOM.CreateElement( "type" ); |
| | | unitnameelement.TextContent( 'Unit' ); |
| | | unittypeelement.TextContent( "String" ); |
| | | unitcolumnelement.AppendChild( unitnameelement ); |
| | | unitcolumnelement.AppendChild( unittypeelement ); |
| | | |
| | | tableElement.AppendChild( productcolumnelement ); |
| | | tableElement.AppendChild( unitcolumnelement ); |
| | | traverse ( table, FinancialSalesColumn, column ) { |
| | | columnelement := xmlDOM.CreateElement( "column" ); |
| | | nameelement := xmlDOM.CreateElement( "name" ); |
| | | typeelement := xmlDOM.CreateElement( "type" ); |
| | | nameelement.TextContent( column.Name() ); |
| | | typeelement.TextContent( "String" ); |
| | | columnelement.AppendChild( nameelement ); |
| | | columnelement.AppendChild( typeelement ); |
| | | |
| | | cells := selectsortedset( column, FinancialSalesCell, cell, cell.FinancialSalesRow().RowNr() ); |
| | | |
| | | traverse ( cells, Elements, c ) { |
| | | if( column.Index() = 0 ){ |
| | | row := c.FinancialSalesRow(); |
| | | //Product |
| | | productcellElement := xmlDOM.CreateElement( "cell" ); |
| | | productcellElement.SetAttribute( "value", row.Name() ); |
| | | productcolumnelement.AppendChild( productcellElement ); |
| | | //Unit |
| | | unitcellElement := xmlDOM.CreateElement( "cell" ); |
| | | unitcellElement.SetAttribute( "value", row.Unit() ); |
| | | unitcolumnelement.AppendChild( unitcellElement ); |
| | | } |
| | | cellElement := xmlDOM.CreateElement( "cell" ); |
| | | cellElement.SetAttribute( "value", c.Value() ); |
| | | columnelement.AppendChild( cellElement ); |
| | | } |
| | | tableElement.AppendChild( columnelement ); |
| | | } |
| | | |
| | | xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ); |
| | | |
| | | //info( xmlString ); |
| | | |
| | | tableGroupHandle := TableGroupHandle::Create( FinancialSalesReport::GetDefaultName() ); |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); |
| | | tableGroupHandle.Add( tableHandle ); |
| | | |
| | | binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | |
| | | return binaryData.AsBinaryValue(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DownloadTemplate ( |
| | | MacroPlan macroPlan |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | xmlDOMI := XMLDOMImplementation::Create(); |
| | | xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>Sheet1</name><column><name>Product</name><type>String</type></column><column><name>Unit</name><type>String</type></column></table>' ); |
| | | |
| | | tableElement := xmlDOM.GetElementByTagName( "table", 0 ); |
| | | |
| | | startofyear := macroPlan.StartOfPlanning().StartOfYear(); |
| | | startofnextyear := macroPlan.StartOfPlanning().StartOfNextYear(); |
| | | |
| | | for( start := startofyear; start < startofnextyear; start := start.StartOfNextMonth() ){ |
| | | columnElement := xmlDOM.CreateElement( "column" ); |
| | | nameElement := xmlDOM.CreateElement( "name" ); |
| | | typeElement := xmlDOM.CreateElement( "type" ); |
| | | nameElement.TextContent( start.Format( "M2/D2/Y" ) ); |
| | | typeElement.TextContent( "String" ); |
| | | columnElement.AppendChild( nameElement ); |
| | | columnElement.AppendChild( typeElement ); |
| | | tableElement.AppendChild( columnElement ); |
| | | } |
| | | |
| | | xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ) |
| | | |
| | | //info( xmlString ); |
| | | |
| | | tableGroupHandle := TableGroupHandle::Create( FinancialSalesReport::GetDefaultName() ); |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); |
| | | tableGroupHandle.Add( tableHandle ); |
| | | |
| | | binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | |
| | | return binaryData.AsBinaryValue(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initialize ( |
| | | MacroPlan owner |
| | | ) |
| | | { |
| | | Description: 'åå§å' |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | owner.FinancialSalesSource( relflush ); |
| | | products := construct( Product_MPs ); |
| | | allsalessegment := FinancialSalesReport::GetSalesSegmentAll(); |
| | | ccsalessegment := FinancialSalesReport::GetSalesSegmentCC(); |
| | | dlsalessegment := FinancialSalesReport::GetSalesSegmentDL(); |
| | | tjsalessegment := FinancialSalesReport::GetSalesSegmentTJ(); |
| | | fssalessegment := FinancialSalesReport::GetSalesSegmentFS(); |
| | | ccspline := FinancialSalesReport::GetStockingPointCCLine(); |
| | | dlspline := FinancialSalesReport::GetStockingPointDLLine(); |
| | | ccrent := FinancialSalesReport::GetStockingPointCCRent(); |
| | | |
| | | source := owner.FinancialSalesSource( relnew, IsImport := false, Name := FinancialSalesReport::GetDefaultName() ); |
| | | table := source.FinancialSalesReport( relnew, ID := source.Name(), Name := source.Name(), IsImport := false ); |
| | | showtable := source.FinancialSalesReport( relnew, ID := source.Name() + 'Show', Name := source.Name(), IsImport := false, IsShow := true ); |
| | | startofplanning := owner.StartOfPlanning(); |
| | | startofyear := startofplanning.StartOfYear(); |
| | | startofnextyear := startofplanning.StartOfNextYear(); |
| | | |
| | | search := source.FinancialSalesSearch( relnew, Unit := allsalessegment, Generation := allsalessegment, MqbMlb := allsalessegment, Power := allsalessegment ); |
| | | |
| | | table.GenerateColumn( owner ); |
| | | |
| | | //ä»Forecastæ¥è¯¢ |
| | | traverse( owner, SalesDemand.astype( Forecast ), forecast, forecast.StartDate() < startofnextyear.Date() and ( ( forecast.SalesSegmentName() = ccsalessegment and forecast.Product_MP().MQBMLB() = 'MLB' ) |
| | | or forecast.SalesSegmentName() = tjsalessegment or forecast.SalesSegmentName() = fssalessegment ) ){ |
| | | product := forecast.Product_MP(); |
| | | allrow := table.GetRow( allsalessegment, product.ID(), startofyear, startofnextyear ); |
| | | periodtime := forecast.StartDate().StartOfMonth(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | if( products.Find( product ) < 0 ){ |
| | | products.Add( product ); |
| | | } |
| | | // info( '------------------------', periodname, periodtime ); |
| | | column := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime ); |
| | | // info( '------------------------', column.Name() ); |
| | | //ForecastçSales Segmentä¸ºé¿æ¥ï¼è¯å«åºMLBçææäº§åæ±æ» |
| | | if( forecast.SalesSegmentName() = ccsalessegment and product.MQBMLB() = 'MLB' ){ |
| | | // info( '------------------------', column.Name() ); |
| | | ccrow := table.GetRow( ccsalessegment, product.ID(), startofyear, startofnextyear ); |
| | | // info( '------------------------', ccrow.FinancialSalesCell( relsize ), column.FinancialSalesCell( relsize ) ); |
| | | ccrow.Initialize( column, forecast.Quantity() ); |
| | | }else if( forecast.SalesSegmentName() = tjsalessegment or forecast.SalesSegmentName() = fssalessegment ){ |
| | | //大è¿è´¢å¡ééï¼é¦å
å¨forecastç颿¥æ¾Sales Segmentæ¯å¤©æ´¥åä½å±±çææéæ±ï¼æ¯ä¸ªäº§åæææ±æ»éæ±æ°é |
| | | // info( '------------------------', column.Name() ); |
| | | dlrow := table.GetRow( dlsalessegment, product.ID(), startofyear, startofnextyear ); |
| | | // info( '------------------------', dlrow.FinancialSalesCell( relsize ), column.FinancialSalesCell( relsize ) ); |
| | | dlrow.Initialize( column, forecast.Quantity() ); |
| | | } |
| | | allrow.Initialize( column, forecast.Quantity() ); |
| | | } |
| | | //ä»Product planningæ¥æ¾åºåç¹ä¸ºé¿æ¥è£
é
线边åºçææMQB产åï¼åTotal Demandåæ®µæææ±æ»éæ±æ°é |
| | | traverse( owner, Product_MP, product, product.IsLeaf() and product.MQBMLB() = 'MQB' ){//产å为MQB |
| | | traverse( product, ProductInStockingPoint_MP, pisp, pisp.StockingPointID() = ccspline ){//åºåç¹ä¸ºé¿æ¥è£
é
çº¿è¾¹åº |
| | | traverse( pisp, ProductInStockingPointInPeriod, pispip, pispip.Start() >= startofplanning |
| | | and pispip.Start() < startofnextyear and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Month() ){ |
| | | periodtime := pispip.Start().StartOfMonth().Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | column := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime ); |
| | | ccrow := table.GetRow( ccsalessegment, product.ID(), startofyear, startofnextyear ); |
| | | ccrow.Initialize( column, pispip.DependentDemandAndSalesDemandQuantity() );//åTotal Demandåæ®µæææ±æ»éæ±æ°é |
| | | |
| | | allrow := table.GetRow( allsalessegment, product.ID(), startofyear, startofnextyear ); |
| | | allrow.Initialize( column, pispip.DependentDemandAndSalesDemandQuantity() ); |
| | | } |
| | | } |
| | | } |
| | | startofnextyearlead := startofplanning.StartOfNextYear() + FinancialSalesReport::GetDefaultTripLeadingTime(); |
| | | //大è¿è´¢å¡ééï¼é¿æ¥çéæ±éè¦å¨trip plané颿¾å°èµ·å§åºåç¹ä¸ºå¤§è¿è£
é
线边åºï¼ç®çå°ä¸ºé¿æ¥å¤ç§åºç产åï¼ç±äºéè¦èè产åè¿è¾lead timeï¼æ¯ä¸ªæçæ±æ»æ°æ®éè¦æ¨è¿ä¸¤å¤©è¿è¡è®¡ç® |
| | | traverse( owner, Unit.Lane.LaneLeg, laneleg, laneleg.OriginStockingPointID() = dlspline and laneleg.DestinationStockingPointID() = ccrent ){ |
| | | traverse( laneleg, Trip, trip, trip.Arrival() < startofnextyearlead ){ |
| | | periodtime := ( trip.Arrival() - FinancialSalesReport::GetDefaultTripLeadingTime() ).StartOfMonth().Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | column := selectobject( table, FinancialSalesColumn, column, column.Name() = periodname and column.Period() = periodtime ); |
| | | traverse( trip, ProductInTrip, pit ){ |
| | | dlrow := table.GetRow( dlsalessegment, pit.ProductID(), startofyear, startofnextyear ); |
| | | dlrow.Initialize( column, pit.Quantity() );//åTotal Demandåæ®µæææ±æ»éæ±æ°é |
| | | |
| | | allrow := table.GetRow( allsalessegment, pit.ProductID(), startofyear, startofnextyear ); |
| | | allrow.Initialize( column, pit.Quantity() ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | rows := selectsortedset( table, FinancialSalesRow, row, row.Name() ); |
| | | i := 0; |
| | | traverse( rows, Elements, e ){ |
| | | e.RowNr( i ); |
| | | i := i + 1; |
| | | } |
| | | showtable.Generate( search, products ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Upload ( |
| | | MacroPlan owner, |
| | | BinaryValue binaryValue, |
| | | String filePath |
| | | ) as FinancialSalesSource |
| | | { |
| | | TextBody: |
| | | [* |
| | | fileName := filePath.Tokenize( "\" ).Element( filePath.Tokenize( "\" ).Size() - 1 ); |
| | | |
| | | source := owner.FinancialSalesSource( relnew, FileBinaryValue := binaryValue, |
| | | Name := fileName, |
| | | IsXLSX := fileName.EndsWith( "xlsx" ), |
| | | IsImport := true, |
| | | UploadDateTime := DateTime::ActualTime().Format( "Y-M2-D2 H:m:s" ), |
| | | UploadUser := guard( QuintiqUser::CurrentUser().Username(), "" ) ); |
| | | |
| | | return source; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type FinancialSalesSource |
| | | { |
| | | #keys: '5[415136.0.857450460][415136.0.857450458][0.0.0][415136.0.857450459][415136.0.857450461]' |
| | | BaseType: Object |
| | | Description: 'è´¢å¡ééæ¥è¡¨' |
| | | StructuredName: 'FinancialSalesSources' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute AverageInventory |
| | | { |
| | | #keys: '3[415136.0.865305024][415136.0.865305023][415136.0.865305025]' |
| | | Description: 'è¯ä»·åºå' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute EndingInventory |
| | | { |
| | | #keys: '3[415136.0.865304924][415136.0.865304923][415136.0.865304925]' |
| | | Description: 'ææ«åºå' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MaximumInventory |
| | | { |
| | | #keys: '3[415136.0.865304944][415136.0.865304943][415136.0.865304945]' |
| | | Description: 'æå¤§åºå' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MinimumInventory |
| | | { |
| | | #keys: '3[415136.0.865304934][415136.0.865304933][415136.0.865304935]' |
| | | Description: 'æå°åºå' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcAverageInventory |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-1-2024 (created) |
| | | |
| | | value := average( this, ProductInStockingPointInPeriod, pispip, pispip.PlannedInventoryLevelEnd() ); |
| | | |
| | | this.AverageInventory( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcEndingInventory |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-1-2024 (created) |
| | | |
| | | value := maxobject( this, ProductInStockingPointInPeriod, pispip, pispip.Start() ); |
| | | |
| | | this.EndingInventory( value.PlannedInventoryLevelEnd() ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcMaximumInventory |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-1-2024 (created) |
| | | |
| | | value := max( this, ProductInStockingPointInPeriod, pispip, pispip.PlannedInventoryLevelEnd() ); |
| | | |
| | | this.MaximumInventory( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcMinimumInventory |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-1-2024 (created) |
| | | |
| | | value := min( this, ProductInStockingPointInPeriod, pispip, pispip.PlannedInventoryLevelEnd() ); |
| | | |
| | | this.MinimumInventory( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type InventorySummaryCell |
| | | { |
| | | #keys: '5[415136.0.865304684][415136.0.865304682][0.0.0][415136.0.865304683][415136.0.865304685]' |
| | | BaseType: Object |
| | | Description: 'åºåæ±æ»æ¥è¡¨åå
æ ¼' |
| | | StructuredName: 'InventorySummaryCells' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Category |
| | | { |
| | | #keys: '3[415136.0.865101993][415136.0.865101992][415136.0.865101994]' |
| | | Description: 'day;week;month' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Index |
| | | { |
| | | #keys: '3[415136.0.865304670][415136.0.865304669][415136.0.865304671]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.865304673][415136.0.865304672][415136.0.865304674]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Period |
| | | { |
| | | #keys: '3[415136.0.865304676][415136.0.865304675][415136.0.865304677]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Name |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcIndex |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-21-2024 (created) |
| | | |
| | | value := ifexpr( isnull( this.PreviousColumn() ), 0, this.PreviousColumn().Index() + 1 ); |
| | | |
| | | this.Index( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type InventorySummaryColumn |
| | | { |
| | | #keys: '5[415136.0.865304667][415136.0.865304665][0.0.0][415136.0.865304666][415136.0.865304668]' |
| | | BaseType: Object |
| | | Description: 'åºåæ±æ»å' |
| | | StructuredName: 'InventorySummaryColumns' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ID |
| | | { |
| | | #keys: '3[415136.0.865304629][415136.0.865304628][415136.0.865304630]' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsShow |
| | | { |
| | | #keys: '3[415136.0.865304635][415136.0.865304634][415136.0.865304636]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.865304638][415136.0.865304637][415136.0.865304639]' |
| | | Description: 'åç§°' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: ID |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Name |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Clear |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | this.InventorySummaryColumn( relflush ); |
| | | this.InventroySummaryRow( relflush ); |
| | | |
| | | this.GenerateColumn( this.InventorySummarySource().MacroPlan() ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Generate ( |
| | | InventorySummarySearch search, |
| | | Product_MPs products |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | table := selectobject( this, InventorySummarySource.InventorySummaryReport, report, not report.IsShow() ); |
| | | allunit := '<All>'; |
| | | //æ¸
空ä¹ååå¨çæ¾ç¤ºæ°æ® |
| | | this.Clear(); |
| | | //è¿æ»¤åç产åid |
| | | productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() ) |
| | | and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() ) |
| | | and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() ); |
| | | sumrow := this.InventroySummaryRow( relnew, Name := 'SUM', Unit := search.Unit(), RowNr := table.InventroySummaryRow( relsize ) ); |
| | | traverse( table, InventroySummaryRow, row, row.Unit() = search.Unit() ){ |
| | | productid := construct( Strings ); |
| | | productid.Add( row.Name() ); |
| | | |
| | | if( productids.ContainsAll( productid ) ){ |
| | | showrow := this.InventroySummaryRow( relnew, Name := row.Name(), Unit := row.Unit(), RowNr := row.RowNr() ); |
| | | |
| | | traverse( row, InventorySummaryCell, cell ){ |
| | | // column := selectobject( this, InventorySummaryColumn, column, column.Name() = cell.InventorySummaryColumn().Name() ); |
| | | // |
| | | // sumcell := selectobject( column, InventorySummaryCell, c, c.InventroySummaryRow() = sumrow ); |
| | | // if( isnull( sumcell ) ){ |
| | | // sumcell := column.InventorySummaryCell( relnew, Value := '0' ); |
| | | // sumrow.InventorySummaryCell( relinsert, sumcell ); |
| | | // } |
| | | // |
| | | // showcell := column.InventorySummaryCell( relnew, Value := cell.Value() ); |
| | | // showrow.InventorySummaryCell( relinsert, showcell ); |
| | | // value := [Real]cell.Value() + [Real]sumcell.Value(); |
| | | // sumcell.Value( [String]value ); |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GenerateColumn ( |
| | | MacroPlan owner |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | startofplanning := owner.StartOfPlanning(); |
| | | startofyear := startofplanning.StartOfYear(); |
| | | startofnextyear := startofplanning.StartOfNextYear(); |
| | | |
| | | for( start := startofyear; start < startofnextyear; start := start.StartOfNextMonth() ){ |
| | | periodtime := start.Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | this.InventorySummaryColumn( relnew, Name := periodname, Period := periodtime ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetRow ( |
| | | String unit, |
| | | String product, |
| | | DateTime startdate, |
| | | DateTime enddate |
| | | ) as InventroySummaryRow |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | row := selectobject( this, InventroySummaryRow, row, row.Name() = product and row.Unit() = unit ); |
| | | |
| | | if( isnull( row ) ){ |
| | | row := this.InventroySummaryRow( relnew, Name := product, Unit := unit ); |
| | | //åå§ååå
æ ¼ |
| | | row.InitializeCell( this, startdate, enddate ); |
| | | } |
| | | |
| | | return row; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultAllUnit () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return '<All>'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultCCUnit () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return 'é¿æ¥'; |
| | | //return 'China'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultDLUnit () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return '大è¿'; |
| | | //return 'Foregin'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultName () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return 'Inventory summary'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type InventorySummaryReport |
| | | { |
| | | #keys: '5[415136.0.865304626][415136.0.865304624][0.0.0][415136.0.865304625][415136.0.865304627]' |
| | | BaseType: Object |
| | | Description: 'åºåæ±æ»æ¥è¡¨' |
| | | StructuredName: 'InventorySummaryReports' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Category |
| | | { |
| | | #keys: '3[415136.0.865101964][415136.0.865101963][415136.0.865101965]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute EndDate |
| | | { |
| | | #keys: '3[415136.0.865304981][415136.0.865304980][415136.0.865304982]' |
| | | Description: 'æ¥åæ¥æ' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Generation |
| | | { |
| | | #keys: '3[415136.0.865304596][415136.0.865304595][415136.0.865304597]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute MqbMlb |
| | | { |
| | | #keys: '3[415136.0.865304599][415136.0.865304598][415136.0.865304600]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Power |
| | | { |
| | | #keys: '3[415136.0.865304602][415136.0.865304601][415136.0.865304603]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StartDate |
| | | { |
| | | #keys: '3[415136.0.865101837][415136.0.865101836][415136.0.865101838]' |
| | | Description: 'å¼å§æ¥æ' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Unit |
| | | { |
| | | #keys: '3[415136.0.865304605][415136.0.865304604][415136.0.865304606]' |
| | | Description: '产线' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Generation |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: MqbMlb |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Power |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Unit |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type InventorySummarySearch |
| | | { |
| | | #keys: '5[415136.0.865304593][415136.0.865304591][0.0.0][415136.0.865304592][415136.0.865304594]' |
| | | BaseType: Object |
| | | Description: 'æ¥è¯¢ç±»' |
| | | StructuredName: 'InventorySummarySearchs' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ID |
| | | { |
| | | #keys: '3[415136.0.865304968][415136.0.865304967][415136.0.865304969]' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.865304835][415136.0.865304834][415136.0.865304836]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Name |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Download ( |
| | | MacroPlan macroPlan |
| | | ) as BinaryValue |
| | | { |
| | | Description: 'ä¸è½½è´¢å¡æ¥è¡¨æ°æ®' |
| | | TextBody: |
| | | [* |
| | | |
| | | table := selectobject( macroPlan, FinancialSalesSource.FinancialSalesReport, table, not table.IsImport() and table.IsShow() ); |
| | | |
| | | xmlDOMI := XMLDOMImplementation::Create(); |
| | | xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + table.Name() + '</name></table>' ); |
| | | |
| | | tableElement := xmlDOM.GetElementByTagName( "table", 0 ); |
| | | //Product |
| | | productcolumnelement := xmlDOM.CreateElement( "column" ); |
| | | productnameelement := xmlDOM.CreateElement( "name" ); |
| | | producttypeelement := xmlDOM.CreateElement( "type" ); |
| | | productnameelement.TextContent( 'Product' ); |
| | | producttypeelement.TextContent( "String" ); |
| | | productcolumnelement.AppendChild( productnameelement ); |
| | | productcolumnelement.AppendChild( producttypeelement ); |
| | | //Unit |
| | | unitcolumnelement := xmlDOM.CreateElement( "column" ); |
| | | unitnameelement := xmlDOM.CreateElement( "name" ); |
| | | unittypeelement := xmlDOM.CreateElement( "type" ); |
| | | unitnameelement.TextContent( 'Unit' ); |
| | | unittypeelement.TextContent( "String" ); |
| | | unitcolumnelement.AppendChild( unitnameelement ); |
| | | unitcolumnelement.AppendChild( unittypeelement ); |
| | | |
| | | tableElement.AppendChild( productcolumnelement ); |
| | | tableElement.AppendChild( unitcolumnelement ); |
| | | traverse ( table, FinancialSalesColumn, column ) { |
| | | columnelement := xmlDOM.CreateElement( "column" ); |
| | | nameelement := xmlDOM.CreateElement( "name" ); |
| | | typeelement := xmlDOM.CreateElement( "type" ); |
| | | nameelement.TextContent( column.Name() ); |
| | | typeelement.TextContent( "String" ); |
| | | columnelement.AppendChild( nameelement ); |
| | | columnelement.AppendChild( typeelement ); |
| | | |
| | | cells := selectsortedset( column, FinancialSalesCell, cell, cell.FinancialSalesRow().RowNr() ); |
| | | |
| | | traverse ( cells, Elements, c ) { |
| | | if( column.Index() = 0 ){ |
| | | row := c.FinancialSalesRow(); |
| | | //Product |
| | | productcellElement := xmlDOM.CreateElement( "cell" ); |
| | | productcellElement.SetAttribute( "value", row.Name() ); |
| | | productcolumnelement.AppendChild( productcellElement ); |
| | | //Unit |
| | | unitcellElement := xmlDOM.CreateElement( "cell" ); |
| | | unitcellElement.SetAttribute( "value", row.Unit() ); |
| | | unitcolumnelement.AppendChild( unitcellElement ); |
| | | } |
| | | cellElement := xmlDOM.CreateElement( "cell" ); |
| | | cellElement.SetAttribute( "value", c.Value() ); |
| | | columnelement.AppendChild( cellElement ); |
| | | } |
| | | tableElement.AppendChild( columnelement ); |
| | | } |
| | | |
| | | xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ); |
| | | |
| | | //info( xmlString ); |
| | | |
| | | tableGroupHandle := TableGroupHandle::Create( FinancialSalesReport::GetDefaultName() ); |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); |
| | | tableGroupHandle.Add( tableHandle ); |
| | | |
| | | binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | |
| | | return binaryData.AsBinaryValue(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod DownloadTemplate ( |
| | | MacroPlan macroPlan |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | xmlDOMI := XMLDOMImplementation::Create(); |
| | | xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>Sheet1</name><column><name>Product</name><type>String</type></column><column><name>Unit</name><type>String</type></column></table>' ); |
| | | |
| | | tableElement := xmlDOM.GetElementByTagName( "table", 0 ); |
| | | |
| | | startofyear := macroPlan.StartOfPlanning().StartOfYear(); |
| | | startofnextyear := macroPlan.StartOfPlanning().StartOfNextYear(); |
| | | |
| | | for( start := startofyear; start < startofnextyear; start := start.StartOfNextMonth() ){ |
| | | columnElement := xmlDOM.CreateElement( "column" ); |
| | | nameElement := xmlDOM.CreateElement( "name" ); |
| | | typeElement := xmlDOM.CreateElement( "type" ); |
| | | nameElement.TextContent( start.Format( "M2/D2/Y" ) ); |
| | | typeElement.TextContent( "String" ); |
| | | columnElement.AppendChild( nameElement ); |
| | | columnElement.AppendChild( typeElement ); |
| | | tableElement.AppendChild( columnElement ); |
| | | } |
| | | |
| | | xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ) |
| | | |
| | | //info( xmlString ); |
| | | |
| | | tableGroupHandle := TableGroupHandle::Create( FinancialSalesReport::GetDefaultName() ); |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlString ) ); |
| | | tableGroupHandle.Add( tableHandle ); |
| | | |
| | | binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | |
| | | return binaryData.AsBinaryValue(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initialize ( |
| | | MacroPlan owner |
| | | ) |
| | | { |
| | | Description: 'åå§å' |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | owner.InventorySummarySource( relflush ); |
| | | products := construct( Product_MPs ); |
| | | allunit := InventorySummaryReport::GetDefaultAllUnit(); |
| | | ccunit := InventorySummaryReport::GetDefaultCCUnit(); |
| | | dlunit := InventorySummaryReport::GetDefaultDLUnit(); |
| | | |
| | | source := owner.InventorySummarySource( relnew, ID := InventorySummaryReport::GetDefaultName(), Name := InventorySummaryReport::GetDefaultName() ); |
| | | table := source.InventorySummaryReport( relnew, ID := source.Name(), Name := source.Name() ); |
| | | showtable := source.InventorySummaryReport( relnew, ID := source.Name() + 'Show', Name := source.Name(), IsShow := true ); |
| | | startofplanning := owner.StartOfPlanning(); |
| | | startofyear := startofplanning.StartOfYear(); |
| | | startofnextyear := startofplanning.StartOfNextYear(); |
| | | |
| | | search := source.InventorySummarySearch( relnew, Unit := allunit, Generation := allunit, MqbMlb := allunit, Power := allunit, StartDate := Date::MinDate(), EndDate := Date::MaxDate() ); |
| | | |
| | | table.GenerateColumn( owner ); |
| | | |
| | | //ä»Product planningæ¥æ¾åºåç¹ä¸ºé¿æ¥è£
é
线边åºçææMQB产åï¼åTotal Demandåæ®µæææ±æ»éæ±æ°é |
| | | traverse( owner, Product_MP.ProductInStockingPoint_MP, pisp, pisp.IsLeaf() and not pisp.IsSystem() and ( pisp.StockingPoint_MP().UnitID() = ccunit or pisp.StockingPoint_MP().UnitID() = dlunit ) ){ |
| | | unit := pisp.StockingPoint_MP().UnitID(); |
| | | product := pisp.Product_MP(); |
| | | traverse( pisp, ProductInStockingPointInPeriod, pispip, pispip.Start() >= startofplanning |
| | | and pispip.Start() < startofnextyear and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Month() ){ |
| | | periodtime := pispip.Start().StartOfMonth().Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | column := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname and column.Period() = periodtime ); |
| | | ccrow := table.GetRow( ccunit, product.ID(), startofyear, startofnextyear ); |
| | | ccrow.Initialize( column, pispip );//åTotal Demandåæ®µæææ±æ»éæ±æ°é |
| | | |
| | | allrow := table.GetRow( allunit, product.ID(), startofyear, startofnextyear ); |
| | | allrow.Initialize( column, pispip ); |
| | | } |
| | | } |
| | | |
| | | rows := selectsortedset( table, InventroySummaryRow, row, row.Name() ); |
| | | i := 0; |
| | | traverse( rows, Elements, e ){ |
| | | e.RowNr( i ); |
| | | i := i + 1; |
| | | } |
| | | showtable.Generate( search, products ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Upload ( |
| | | MacroPlan owner, |
| | | BinaryValue binaryValue, |
| | | String filePath |
| | | ) as FinancialSalesSource |
| | | { |
| | | TextBody: |
| | | [* |
| | | fileName := filePath.Tokenize( "\" ).Element( filePath.Tokenize( "\" ).Size() - 1 ); |
| | | |
| | | source := owner.FinancialSalesSource( relnew, FileBinaryValue := binaryValue, |
| | | Name := fileName, |
| | | IsXLSX := fileName.EndsWith( "xlsx" ), |
| | | IsImport := true, |
| | | UploadDateTime := DateTime::ActualTime().Format( "Y-M2-D2 H:m:s" ), |
| | | UploadUser := guard( QuintiqUser::CurrentUser().Username(), "" ) ); |
| | | |
| | | return source; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type InventorySummarySource |
| | | { |
| | | #keys: '5[415136.0.865304823][415136.0.865304821][0.0.0][415136.0.865304822][415136.0.865304824]' |
| | | BaseType: Object |
| | | Description: 'åºåæ±æ»æ¥è¡¨' |
| | | StructuredName: 'InventorySummarySources' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.865304652][415136.0.865304651][415136.0.865304653]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute RowNr |
| | | { |
| | | #keys: '3[415136.0.865304655][415136.0.865304654][415136.0.865304656]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Unit |
| | | { |
| | | #keys: '3[415136.0.865304658][415136.0.865304657][415136.0.865304659]' |
| | | Description: '产线' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Name |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Unit |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Filter ( |
| | | FinancialProductionSearch search, |
| | | Product_MPs products |
| | | ) declarative remote as Boolean |
| | | { |
| | | Description: 'è¿æ»¤' |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | allunit := '<All>'; |
| | | productids := selectuniquevalues( products, Elements, product, ( search.Generation() = allunit or product.Generation() = search.Generation() ) |
| | | and ( search.MqbMlb() = allunit or product.MQBMLB() = search.MqbMlb() ) |
| | | and ( search.Power() = allunit or product.Power() = search.Power() ), product.ID() ); |
| | | |
| | | productid := construct( Strings ); |
| | | productid.Add( this.Name() ); |
| | | |
| | | return productids.ContainsAll( productid ) and this.Unit() = search.Unit(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Initialize ( |
| | | InventorySummaryColumn column, |
| | | ProductInStockingPointInPeriod pispip |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := selectobject( this, InventorySummaryCell, cell, cell.InventorySummaryColumn() = column ); |
| | | |
| | | cell.ProductInStockingPointInPeriod( relinsert, pispip ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Initialize ( |
| | | InventorySummaryColumn column, |
| | | String unit |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := column.InventorySummaryCell( relnew ); |
| | | |
| | | this.InventorySummaryCell( relinsert, cell ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method InitializeCell ( |
| | | InventorySummaryReport table, |
| | | DateTime startdate, |
| | | DateTime enddate |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | for( start := startdate; start < enddate; start := start.StartOfNextMonth() ){ |
| | | periodtime := start.Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | column := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname and column.Period() = periodtime ); |
| | | |
| | | this.Initialize( column, this.Unit() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod NewStaticMethod |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-1-2024 (created) |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type InventroySummaryRow |
| | | { |
| | | #keys: '5[415136.0.865304646][415136.0.865304644][0.0.0][415136.0.865304645][415136.0.865304647]' |
| | | BaseType: Object |
| | | Description: 'åºåæ±æ»è¡' |
| | | StructuredName: 'InventroySummaryRows' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Shift |
| | | { |
| | | #keys: '3[413988.0.1303338462][413988.0.1303338461][413988.0.1303338463]' |
| | | Description: 'çæ¬¡' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Value |
| | | { |
| | | #keys: '3[413988.0.1296697080][413988.0.1296697079][413988.0.1296697081]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod RefreshOfflinePlan ( |
| | | MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | macroPlan.OfflinePlanRow( relflush ); |
| | | macroPlan.OfflinePlanColumn( relflush ); |
| | | |
| | | // çæä¸çº¿è®¡å表 |
| | | traverse ( macroPlan, Unit, u, u.HasCapacityTypeTime() and u.Name() = "ZP4-M3" ) { |
| | | // åå»ºäº§çº¿è¡ |
| | | macroPlan.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "", Type := "0" ); |
| | | |
| | | traverse ( u, Operation, o ) { |
| | | traverse ( o, PeriodTaskOperation.NewSupply, ns ) { |
| | | // æ¾è¡ |
| | | oprQuantity := OfflinePlanRow::FindOfflinePlanRowTypeIndex( u.ID(), ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID(), "1" ); |
| | | oprOrder := OfflinePlanRow::FindOfflinePlanRowTypeIndex( u.ID(), ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID(), "2" ); |
| | | if ( isnull( oprQuantity ) and isnull( oprOrder ) ) { |
| | | oprQuantity := macroPlan.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID(), Type := "1" ); |
| | | oprOrder := macroPlan.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := ns.AsProductionSupply().ProductInStockingPoint_MP().ProductID(), Type := "2" ); |
| | | } |
| | | |
| | | // æ¾å |
| | | opc := OfflinePlanColumn::FindOfflinePlanColumnTypeIndex( ns.Start().Date() ); |
| | | if ( isnull( opc ) ) { |
| | | opc := macroPlan.OfflinePlanColumn( relnew, ColumnDate := ns.Start().Date() ); |
| | | } |
| | | |
| | | // èµå¼åå
æ ¼ |
| | | cellQuantity := opc.OfflinePlanCell( relnew, Value := [String]ns.Quantity().Round( 0 ), Shift := ns.PeriodTask_MP().UnitPeriod().astype( UnitPeriodTimeBase ).ShiftPattern().Name() ); |
| | | cellQuantity.OfflinePlanRow( relset, oprQuantity ); |
| | | cellOrder := opc.OfflinePlanCell( relnew, Value := "åå·" ); |
| | | cellOrder.OfflinePlanRow( relset, oprOrder ); |
| | | } |
| | | } |
| | | |
| | | // å建æ»éè¡ |
| | | macroPlan.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "Z", Type := "3" ); |
| | | // åå»ºçæ¬¡è¡ |
| | | macroPlan.OfflinePlanRow( relnew, ProductionLine := u.ID(), ProductID := "Z", Type := "4" ); |
| | | } |
| | | |
| | | // å建产åå&ç±»åå |
| | | productOPC := macroPlan.OfflinePlanColumn( relnew, ColumnDate := macroPlan.StartOfPlanning().Date() - 2 ); |
| | | typeOPC := macroPlan.OfflinePlanColumn( relnew, ColumnDate := macroPlan.StartOfPlanning().Date() - 1 ); |
| | | traverse ( macroPlan, OfflinePlanRow, opr ) { |
| | | if ( opr.Type() = "0" ) { |
| | | productLineCell := productOPC.OfflinePlanCell( relnew, Value := opr.ProductionLine() ); |
| | | productLineCell.OfflinePlanRow( relset, opr ); |
| | | } else if( opr.Type() = "1" ) { |
| | | productCell := productOPC.OfflinePlanCell( relnew, Value := opr.ProductID() ); |
| | | productCell.OfflinePlanRow( relset, opr ); |
| | | typeCell := typeOPC.OfflinePlanCell( relnew, Value := "Quantity" ); |
| | | typeCell.OfflinePlanRow( relset, opr ); |
| | | } else if ( opr.Type() = "2" ) { |
| | | typeCell := typeOPC.OfflinePlanCell( relnew, Value := "Order" ); |
| | | typeCell.OfflinePlanRow( relset, opr ); |
| | | } else if ( opr.Type() = "3" ) { |
| | | totalCell := productOPC.OfflinePlanCell( relnew, Value := "å计" ); |
| | | totalCell.OfflinePlanRow( relset, opr ); |
| | | totalCell := typeOPC.OfflinePlanCell( relnew, Value := "æ»é" ); |
| | | totalCell.OfflinePlanRow( relset, opr ); |
| | | } else if ( opr.Type() = "4" ) { |
| | | shiftCell := typeOPC.OfflinePlanCell( relnew, Value := "çæ¬¡" ); |
| | | shiftCell.OfflinePlanRow( relset, opr ); |
| | | } |
| | | } |
| | | |
| | | // è¡¥å
¨æ»éåçæ¬¡ |
| | | totalOPRs := selectset( macroPlan, OfflinePlanRow, tempOPR, tempOPR.Type() = "3" ); |
| | | shiftOPRs := selectset( macroPlan, OfflinePlanRow, tempOPR, tempOPR.Type() = "4" ); |
| | | traverse ( macroPlan, OfflinePlanColumn, opc, opc.OfflinePlanCell( relsize ) > 0 and opc.ColumnDate() >= macroPlan.StartOfPlanning().Date() ) { |
| | | traverse ( totalOPRs, Elements, totalOPR ) { |
| | | total := sum( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = totalOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1", [Real]tempOPC.Value() ); |
| | | totalCell := opc.OfflinePlanCell( relnew, Value := [String]total ); |
| | | totalCell.OfflinePlanRow( relset, totalOPR ); |
| | | } |
| | | |
| | | traverse ( shiftOPRs, Elements, shiftOPR ) { |
| | | shift := select( opc, OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().ProductionLine() = shiftOPR.ProductionLine() and tempOPC.OfflinePlanRow().Type() = "1" ); |
| | | if ( not isnull( shift ) ) { |
| | | shiftCell := opc.OfflinePlanCell( relnew, Value := shift.Shift() ); |
| | | shiftCell.OfflinePlanRow( relset, shiftOPR ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // è¡¥å
¨æ¶é´å |
| | | indexDate := macroPlan.StartOfPlanning().Date(); |
| | | endDate := Date::Construct( indexDate.Year(), 12, 31 ); |
| | | while ( indexDate <= endDate ) { |
| | | opc := OfflinePlanColumn::FindOfflinePlanColumnTypeIndex( indexDate ); |
| | | if ( isnull( opc ) ) { |
| | | opc := macroPlan.OfflinePlanColumn( relnew, ColumnDate := indexDate ); |
| | | } |
| | | indexDate := indexDate + 1; |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type OfflinePlanCell |
| | | { |
| | | #keys: '5[413988.0.1296696989][413988.0.1296696987][0.0.0][413988.0.1296696988][413988.0.1296696990]' |
| | | BaseType: Object |
| | | StructuredName: 'OfflinePlanCells' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ColumnDate |
| | | { |
| | | #keys: '3[413988.0.1295080211][413988.0.1295080210][413988.0.1295080212]' |
| | | IsReadOnly: true |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ColumnIndex |
| | | { |
| | | #keys: '3[413988.0.1296697042][413988.0.1296697041][413988.0.1296697043]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ColumnName |
| | | { |
| | | #keys: '3[413988.0.1296697052][413988.0.1296697051][413988.0.1296697053]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcColumnName |
| | | { |
| | | TextBody: |
| | | [* |
| | | // lihongji Jun-27-2024 (created) |
| | | |
| | | value := ifexpr( this.ColumnDate() < this.MacroPlan().StartOfPlanning().Date(), "", this.ColumnDate().Format( "Y/M2/D2" ) ); |
| | | |
| | | this.ColumnName( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | TypeIndex OfflinePlanColumnTypeIndex |
| | | { |
| | | Attributes: |
| | | [ |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: ColumnDate |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type OfflinePlanColumn |
| | | { |
| | | #keys: '5[413988.0.1296696984][413988.0.1296696982][0.0.0][413988.0.1296696983][413988.0.1296696985]' |
| | | BaseType: Object |
| | | StructuredName: 'OfflinePlanColumns' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductID |
| | | { |
| | | #keys: '3[413988.0.1296697032][413988.0.1296697031][413988.0.1296697033]' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ProductionLine |
| | | { |
| | | #keys: '3[413988.0.1296697022][413988.0.1296697021][413988.0.1296697023]' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute RowNr |
| | | { |
| | | #keys: '3[413988.0.1296697012][413988.0.1296697011][413988.0.1296697013]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Type |
| | | { |
| | | #keys: '3[413988.0.1295121717][413988.0.1295121716][413988.0.1295121718]' |
| | | Description: |
| | | [* |
| | | 产线åè¡ ï¼0 |
| | | Quantityè¡ï¼1 |
| | | Orderè¡ ï¼2 |
| | | åè®¡è¡ ï¼3 |
| | | çæ¬¡è¡ ï¼4 |
| | | *] |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | TypeIndex OfflinePlanRowTypeIndex |
| | | { |
| | | Attributes: |
| | | [ |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: ProductionLine |
| | | } |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: ProductID |
| | | } |
| | | TypeIndexAttribute |
| | | { |
| | | ModelElement: Type |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type OfflinePlanRow |
| | | { |
| | | #keys: '5[413988.0.1296696979][413988.0.1296696977][0.0.0][413988.0.1296696978][413988.0.1296696980]' |
| | | BaseType: Object |
| | | StructuredName: 'OfflinePlanRows' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ProductInStockingPointInPeriod #extension |
| | | { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method IsRoundingOrZeroFilling4 ( |
| | | MacroPlan macroPlan, |
| | | Unit unit |
| | | ) |
| | | { |
| | | Description: 'è½¦éæ´ç' |
| | | TextBody: |
| | | [* |
| | | traverse ( unit, Lane.LaneLeg.Trip, t ) { |
| | | traverse ( t, ProductInTrip, pit, pit.Quantity() > 0.0 ) { |
| | | // è·å产ålotsizeåæ° |
| | | lotsize := 1; |
| | | if ( pit.Product_MP().ParentID().Regex( "缸ä½" ) ) { |
| | | lotsize := macroPlan.CylinderBlock(); |
| | | } else if ( pit.Product_MP().ParentID().Regex( "缸ç" ) ) { |
| | | lotsize := macroPlan.CylinderHead(); |
| | | } else if ( pit.Product_MP().ParentID().Regex( "è¿æ" ) ) { |
| | | lotsize := macroPlan.ConnectingRod(); |
| | | } else if ( pit.Product_MP().ParentID().Regex( "æ²è½´" ) ) { |
| | | lotsize := macroPlan.Crankshaft(); |
| | | } else if ( pit.Product_MP().ParentID().Regex( "æ²è½´" ) ) { |
| | | lotsize := macroPlan.BalanceAxis(); |
| | | } |
| | | |
| | | if ( lotsize > 1 ) { |
| | | debuginfo( "产åIDï¼", pit.ProductID(), " äº§åæ°éï¼", pit.Quantity(), " lotsizeï¼", lotsize ); |
| | | quantityToBeSupplemented := lotsize - ( pit.Quantity() mod lotsize ); |
| | | pit.Update( pit.Quantity() + quantityToBeSupplemented, true ); |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
| | |
| | | } |
| | | |
| | | // è½¦éæ´ç |
| | | traverse ( macroPlan, Unit, unit, unit.IsToFill() and unit.HasCapacityTypeTransportQuantity() ) { |
| | | unitName := unit.Name(); |
| | | traverse ( macroPlan, Unit, u, u.IsToFill() and u.HasCapacityTypeTransportQuantity() ) { |
| | | unitName := u.Name(); |
| | | debuginfo( "车é产线: ", unitName ); |
| | | this.IsRoundingOrZeroFilling4( macroPlan, u ); |
| | | } |
| | | *] |
| | | } |
| | |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ButtonFinancialSalesReport |
| | | { |
| | | #keys: '[415136.0.861863635]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'MONEY_COINS2' |
| | | Label: 'Financial sales report' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ButtonInventorySummaryReport |
| | | { |
| | | #keys: '[415136.0.862201699]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_CHECK_EDIT' |
| | | Label: 'Inventory summary report' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component bOfflinePlan |
| | | { |
| | | #keys: '[413988.0.1296872738]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'LIGHTBULB' |
| | | Label: 'Offline plan' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ActionBarGroupReport/ButtonFinancialSalesReport |
| | | Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_ButtonFinancialSalesReport_OnClick |
| | | { |
| | | #keys: '[415136.0.861863801]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "Financial_sales_report_view", true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ActionBarGroupReport/ButtonInventorySummaryReport |
| | | Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_ButtonInventorySummaryReport_OnClick |
| | | { |
| | | #keys: '[415136.0.862201823]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "Inventory_summary_report_view", true); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: abgSecondDevelopmentPlan/bOfflinePlan |
| | | Response OnClick () id:Response_MacroPlanner_abgSecondDevelopmentPlan_bOfflinePlan_OnClick |
| | | { |
| | | #keys: '[413988.0.1296872869]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "OfflinePlan", true); |
| | | *] |
| | | } |
| | | } |
| | |
| | | BaseType: 'WebNumberPicker' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityZKG' |
| | | Label: 'ZKG(pcs)' |
| | | Taborder: 0 |
| | | ] |
| | |
| | | BaseType: 'WebNumberPicker' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityZKM' |
| | | Label: 'ZKM(pcs)' |
| | | Taborder: 1 |
| | | ] |
| | |
| | | BaseType: 'WebNumberPicker' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityPL' |
| | | Label: 'PL(pcs)' |
| | | Taborder: 2 |
| | | ] |
| | |
| | | BaseType: 'WebNumberPicker' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityKW' |
| | | Label: 'KW(pcs)' |
| | | Taborder: 3 |
| | | ] |
| | |
| | | BaseType: 'WebNumberPicker' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'MacroPlan.UpperLimitOfTransferCapacityAGW' |
| | | Label: 'AGW(pcs)' |
| | | Taborder: 4 |
| | | ] |
| | |
| | | Properties: |
| | | [ |
| | | DataType: 'FinancialProductionReport' |
| | | FilterArguments: 'products:QLibMacroPlannerWebUI::ApplicationMacroPlanner.DataHolderProduct;search:QMacroPlanner::FormFinancialProductionReport.dhSearch' |
| | | FixedFilter: 'object.Filter( search, products )' |
| | | Source: 'DataHolderTable' |
| | | Taborder: 0 |
| | | Transformation: 'FinancialProductionRow' |
| | |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'Name' |
| | | SortCriteria: 'RowNr' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | //åå§å |
| | | //if( not exists( MacroPlan, FinancialProductionSource, source, not source.IsImport() ) ){ |
| | | if( not exists( MacroPlan, FinancialProductionSource, source, not source.IsImport() ) ){ |
| | | FinancialProductionSource::Initialize( MacroPlan ); |
| | | //} |
| | | } |
| | | //info( '------------------1----------------' ); |
| | | table := selectobject( MacroPlan, FinancialProductionSource.FinancialProductionReport, table, not table.IsImport() ); |
| | | //info( '------------------2----------------' ); |
| | | table := selectobject( MacroPlan, FinancialProductionSource.FinancialProductionReport, table, not table.IsImport() and table.IsShow() ); |
| | | info( '------------------2----------------', table.IsImport(), table.IsShow() ); |
| | | DataHolderTable.Data( table ); |
| | | |
| | | dhSearch.Data( table.FinancialProductionSource().FinancialProductionSearch() ); |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | binaryValue := FinancialProductionSource::Download( MacroPlan, false ); |
| | | binaryValue := FinancialProductionSource::Download( MacroPlan ); |
| | | |
| | | Application.Download( "Financial productions.xlsx", binaryValue.AsBinaryData() ); |
| | | Application.Download( FinancialProductionReport::GetDefaultName() + '.xlsx', binaryValue.AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | binaryValue := FinancialProductionSource::Download( MacroPlan, true ); |
| | | binaryValue := FinancialProductionSource::DownloadTemplate( MacroPlan ); |
| | | |
| | | Application.Download( "Financial productions.xlsx", binaryValue.AsBinaryData() ); |
| | | Application.Download( FinancialProductionReport::GetDefaultName() + '.xlsx', binaryValue.AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | source := FinancialProductionSource::Upload( MacroPlan, webFileBinaryData, fileName ); |
| | | source.ReadStructure(); |
| | | |
| | | if( not source.IsExistFutureMonthData() or |
| | | ( source.IsExistFutureMonthData() and WebMessageBox::Question( this, Translations::MP_FinancialProductionReport_Question(), 'Yes|No' ) = 0 ) ){ |
| | | source.AfterImport(); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | |
| | | WebMessageBox::Success( Translations::A_VWED_Success() ); |
| | | traverse( MacroPlan, FinancialProductionSource, psource, psource.IsImport() and psource <> source ){ |
| | | psource.Delete(); |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | dhSearch.Data().Generation( selection ); |
| | | if( dhSearch.Data().Generation() <> selection ){ |
| | | dhSearch.Data().Generation( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | dhSearch.Data().MqbMlb( selection ); |
| | | if( dhSearch.Data().MqbMlb() <> selection ){ |
| | | dhSearch.Data().MqbMlb( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | dhSearch.Data().Power( selection ); |
| | | if( dhSearch.Data().Power() <> selection ){ |
| | | dhSearch.Data().Power( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | |
| | | valueString := "<All>;Spider Assy Line 1;Body in White Line 3"; |
| | | valueString := "<All>;" + FinancialProductionReport::GetDefaultCCUnit() + ";" + FinancialProductionReport::GetDefaultDLUnit(); |
| | | |
| | | this.Strings( valueString ); |
| | | *] |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | dhSearch.Data().Unit( selection ); |
| | | if( dhSearch.Data().Unit() <> selection ){ |
| | | dhSearch.Data().Unit( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component MatrixEditorTable id:MatrixEditorTable_623 |
| | | { |
| | | #keys: '[415136.0.858621867]' |
| | | BaseType: 'WebMatrixEditor' |
| | | Children: |
| | | [ |
| | | Component MatrixEditorCellTable |
| | | { |
| | | #keys: '[415136.0.858621868]' |
| | | BaseType: 'WebMatrixEditorCell' |
| | | Children: |
| | | [ |
| | | Component DataExtractorCell |
| | | { |
| | | #keys: '[415136.0.858621869]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'FinancialSalesReport' |
| | | Source: 'DataHolderTable' |
| | | Taborder: 0 |
| | | Transformation: 'FinancialSalesColumn.FinancialSalesCell' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'Value' |
| | | Column: 'FinancialSalesColumn' |
| | | Row: 'FinancialSalesRow' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component MatrixEditorRowsTable |
| | | { |
| | | #keys: '[415136.0.858621870]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRow |
| | | { |
| | | #keys: '[415136.0.858621871]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'FinancialSalesReport' |
| | | Source: 'DataHolderTable' |
| | | Taborder: 0 |
| | | Transformation: 'FinancialSalesRow' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'RowNr' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component MatrixEditorColumnsTable |
| | | { |
| | | #keys: '[415136.0.858621872]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorColumn |
| | | { |
| | | #keys: '[415136.0.858621873]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'FinancialSalesReport' |
| | | Source: 'DataHolderTable' |
| | | Taborder: 0 |
| | | Transformation: 'FinancialSalesColumn' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'Index' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: matrixEditorActionBarPageTable_1 |
| | | #child: matrixeditorContextMenuTable_1 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: 'MatrixEditorColumnsTable' |
| | | ContextMenu: 'matrixeditorContextMenuTable' |
| | | Rows: 'MatrixEditorRowsTable' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelExport id:PanelExport_545 |
| | | { |
| | | #keys: '[415136.0.858621784]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonExport |
| | | { |
| | | #keys: '[415136.0.858621785]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelFinancialSalesReportHeader |
| | | { |
| | | #keys: '[415136.0.858621774]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelFinancialSalesReportSearch |
| | | #child: PanelFinancialSalesReportOperation |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Taborder: 2 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelFinancialSalesReportOperation |
| | | { |
| | | #keys: '[415136.0.858621786]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component LabelFinancialSalesReportOperation |
| | | { |
| | | #keys: '[415136.0.858621787]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | NumberOfColumns: 15 |
| | | Taborder: 0 |
| | | Text: 'Sales import' |
| | | ] |
| | | } |
| | | Component ButtonSalesImport |
| | | { |
| | | #keys: '[415136.0.858621788]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ButtonSalesExport |
| | | { |
| | | #keys: '[415136.0.858621789]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'IMPORT1' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelFinancialSalesReportSearch |
| | | { |
| | | #keys: '[415136.0.858621775]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelUnit_715 |
| | | #child: PanelGeneration_844 |
| | | #child: PanelMQBMLB_603 |
| | | #child: PanelPower_858 |
| | | #child: PanelExport_545 |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelGeneration id:PanelGeneration_844 |
| | | { |
| | | #keys: '[415136.0.858621778]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslGeneration |
| | | { |
| | | #keys: '[415136.0.858621779]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'Generation' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelMQBMLB id:PanelMQBMLB_603 |
| | | { |
| | | #keys: '[415136.0.858621780]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslMQBMLB |
| | | { |
| | | #keys: '[415136.0.858621781]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'MQB/MLB' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 2 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelPower id:PanelPower_858 |
| | | { |
| | | #keys: '[415136.0.858621782]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslPower |
| | | { |
| | | #keys: '[415136.0.858621783]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'Power' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelTable id:PanelTable_424 |
| | | { |
| | | #keys: '[415136.0.858621866]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: MatrixEditorTable_623 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelUnit id:PanelUnit_715 |
| | | { |
| | | #keys: '[415136.0.858621776]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslUnit |
| | | { |
| | | #keys: '[415136.0.858621777]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'Unit' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixEditorActionBarPageTable id:matrixEditorActionBarPageTable_1 |
| | | { |
| | | #keys: '[415136.0.858621874]' |
| | | BaseType: 'matrixEditorActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixeditorContextMenuTable id:matrixeditorContextMenuTable_1 |
| | | { |
| | | #keys: '[415136.0.858621875]' |
| | | BaseType: 'matrixeditorContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Response OnCreated () id:Response_FormFinancialSalesReport_OnCreated |
| | | { |
| | | #keys: '[415136.0.858683122]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( not exists( MacroPlan, FinancialSalesSource, source, not source.IsImport() ) ){ |
| | | FinancialSalesSource::Initialize( MacroPlan ); |
| | | } |
| | | //info( '------------------1----------------' ); |
| | | table := selectobject( MacroPlan, FinancialSalesSource.FinancialSalesReport, table, not table.IsImport() and table.IsShow() ); |
| | | info( '------------------2----------------', table.IsImport(), table.IsShow() ); |
| | | DataHolderTable.Data( table ); |
| | | |
| | | dhSearch.Data( table.FinancialSalesSource().FinancialSalesSearch() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelExport_545/ButtonExport |
| | | Response OnClick () id:Response_PanelExport_545_ButtonExport_OnClick |
| | | { |
| | | #keys: '[415136.0.858621765]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | binaryValue := FinancialSalesSource::Download( MacroPlan ); |
| | | |
| | | Application.Download( FinancialSalesReport::GetDefaultName() + '.xlsx', binaryValue.AsBinaryData() ); |
| | | //owner.FinancialSalesSource( relflush ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFinancialSalesReportOperation/ButtonSalesExport |
| | | Response OnClick () id:Response_PanelFinancialSalesReportOperation_ButtonSalesExport_OnClick |
| | | { |
| | | #keys: '[415136.0.858621763]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | binaryValue := FinancialSalesSource::DownloadTemplate( MacroPlan ); |
| | | |
| | | Application.Download( FinancialSalesReport::GetDefaultName() + '.xlsx', binaryValue.AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFinancialSalesReportOperation/ButtonSalesImport |
| | | Response OnClick () id:Response_PanelFinancialSalesReportOperation_ButtonSalesImport_OnClick |
| | | { |
| | | #keys: '[415136.0.858621764]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | try { |
| | | uploadJsonString := Application.GetFile(); |
| | | if ( uploadJsonString <> "" ) { |
| | | uploadJson := JSON::Parse( uploadJsonString ); |
| | | Archive::VerifyTheFileName( uploadJson ); |
| | | |
| | | fileName := uploadJson.Get( "name" ).GetString(); |
| | | base64String := uploadJson.Get( "data" ).GetString(); |
| | | |
| | | webFileBinaryData := BinaryData::FromBase64EncodedString( base64String ).AsBinaryValue(); |
| | | |
| | | source := FinancialSalesSource::Upload( MacroPlan, webFileBinaryData, fileName ); |
| | | source.ReadStructure(); |
| | | //妿åå¨è®¡åå¼å§åçæ¥ææ°æ®éè¦ç¹å»ç¡®è®¤ |
| | | if( not source.IsExistFutureMonthData() or |
| | | ( source.IsExistFutureMonthData() and WebMessageBox::Question( this, Translations::MP_FinancialProductionReport_Question(), 'Yes|No' ) = 0 ) ){ |
| | | source.AfterImport(); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | |
| | | WebMessageBox::Success( Translations::A_VWED_Success() ); |
| | | traverse( MacroPlan, FinancialSalesSource, psource, psource.IsImport() and psource <> source ){ |
| | | psource.Delete(); |
| | | } |
| | | } |
| | | } onerror { |
| | | WebMessageBox::Error( e.GeneralInformation() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelGeneration_844/ddslGeneration |
| | | Response OnCreated () id:Response_PanelGeneration_844_ddslGeneration_OnCreated |
| | | { |
| | | #keys: '[415136.0.858621771]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.Generation() ); |
| | | |
| | | valueString := values.Concatenate( ";" ); |
| | | valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); |
| | | |
| | | valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; |
| | | |
| | | this.Strings( valueString ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelGeneration_844/ddslGeneration |
| | | Response OnSelectionChanged () id:Response_PanelGeneration_844_ddslGeneration_OnSelectionChanged |
| | | { |
| | | #keys: '[415136.0.858621770]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //ä»£æ°æ¹ååå·æ°æ¾ç¤º |
| | | if( dhSearch.Data().Generation() <> selection ){ |
| | | dhSearch.Data().Generation( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelMQBMLB_603/ddslMQBMLB |
| | | Response OnCreated () id:Response_PanelMQBMLB_603_ddslMQBMLB_OnCreated |
| | | { |
| | | #keys: '[415136.0.858621769]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.MQBMLB() ); |
| | | |
| | | valueString := values.Concatenate( ";" ); |
| | | valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); |
| | | |
| | | valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; |
| | | |
| | | this.Strings( valueString ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelMQBMLB_603/ddslMQBMLB |
| | | Response OnSelectionChanged () id:Response_PanelMQBMLB_603_ddslMQBMLB_OnSelectionChanged |
| | | { |
| | | #keys: '[415136.0.858621768]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //æ¨ªçºµå¶æ¹ååå·æ°æ¾ç¤º |
| | | if( dhSearch.Data().MqbMlb() <> selection ){ |
| | | dhSearch.Data().MqbMlb( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelPower_858/ddslPower |
| | | Response OnCreated () id:Response_PanelPower_858_ddslPower_OnCreated |
| | | { |
| | | #keys: '[415136.0.858621767]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.Power() ); |
| | | |
| | | valueString := values.Concatenate( ";" ); |
| | | valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); |
| | | |
| | | valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; |
| | | |
| | | this.Strings( valueString ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelPower_858/ddslPower |
| | | Response OnSelectionChanged () id:Response_PanelPower_858_ddslPower_OnSelectionChanged |
| | | { |
| | | #keys: '[415136.0.858621766]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //åçæ¹ååå·æ°æ¾ç¤º |
| | | if( dhSearch.Data().Power() <> selection ){ |
| | | dhSearch.Data().Power( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelUnit_715/ddslUnit |
| | | Response OnCreated () id:Response_PanelUnit_715_ddslUnit_OnCreated |
| | | { |
| | | #keys: '[415136.0.858621773]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | |
| | | valueString := "<All>;" + FinancialProductionReport::GetDefaultCCUnit() + ";" + FinancialProductionReport::GetDefaultDLUnit(); |
| | | |
| | | this.Strings( valueString ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelUnit_715/ddslUnit |
| | | Response OnSelectionChanged () id:Response_PanelUnit_715_ddslUnit_OnSelectionChanged |
| | | { |
| | | #keys: '[415136.0.858621772]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //Unitæ´æ°åçææ°çæ¾ç¤º |
| | | if( dhSearch.Data().Unit() <> selection ){ |
| | | dhSearch.Data().Unit( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormFinancialSalesReport |
| | | { |
| | | #keys: '[415136.0.857870750]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | Component DataHolderTable id:DataHolderTable_847 |
| | | { |
| | | #keys: '[415136.0.857870828]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'FinancialSalesReport' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component dhSearch id:dhSearch_424 |
| | | { |
| | | #keys: '[415136.0.857870874]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'FinancialSalesSearch' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | #child: PanelTable_424 |
| | | #child: PanelFinancialSalesReportHeader |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'MONEY_COINS2' |
| | | Title: 'Financial sales report' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component MatrixEditorTable |
| | | { |
| | | #keys: '[415136.0.864612253]' |
| | | BaseType: 'WebMatrixEditor' |
| | | Children: |
| | | [ |
| | | Component MatrixEditorCellTable |
| | | { |
| | | #keys: '[415136.0.864612254]' |
| | | BaseType: 'WebMatrixEditorCell' |
| | | Children: |
| | | [ |
| | | Component DataExtractorCell |
| | | { |
| | | #keys: '[415136.0.864612255]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'InventorySummaryReport' |
| | | Source: 'DataHolderTable' |
| | | Taborder: 0 |
| | | Transformation: 'InventorySummaryColumn.InventorySummaryCell' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'EndingInventory;MinimumInventory;MaximumInventory;AverageInventory' |
| | | Column: 'InventorySummaryColumn' |
| | | Row: 'InventroySummaryRow' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component MatrixEditorRowsTable |
| | | { |
| | | #keys: '[415136.0.864612256]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRow |
| | | { |
| | | #keys: '[415136.0.864612257]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'InventorySummaryReport' |
| | | Source: 'DataHolderTable' |
| | | Taborder: 0 |
| | | Transformation: 'InventroySummaryRow' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'RowNr' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component MatrixEditorColumnsTable |
| | | { |
| | | #keys: '[415136.0.864612258]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorColumn |
| | | { |
| | | #keys: '[415136.0.864612259]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'InventorySummaryReport' |
| | | Source: 'DataHolderTable' |
| | | Taborder: 0 |
| | | Transformation: 'InventorySummaryColumn' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'Index' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: matrixEditorActionBarPageTable |
| | | #child: matrixeditorContextMenuTable |
| | | ] |
| | | Properties: |
| | | [ |
| | | AllowMultipleAttributes: true |
| | | Columns: 'MatrixEditorColumnsTable' |
| | | ContextMenu: 'matrixeditorContextMenuTable' |
| | | Rows: 'MatrixEditorRowsTable' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelCategory |
| | | { |
| | | #keys: '[415136.0.862221867]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component RadioButtonGroupUseForPlanning id:RadioButtonGroupUseForPlanning_545 |
| | | { |
| | | #keys: '[415136.0.862222092]' |
| | | BaseType: 'WebRadioButtonGroup' |
| | | Properties: |
| | | [ |
| | | BoundValue: 'Day' |
| | | ButtonLabels: 'Day;Week;Month' |
| | | ButtonValues: 'Day;Week;Month' |
| | | Orientation: 'horizontal' |
| | | ShowTitle: false |
| | | Taborder: 0 |
| | | Title: 'Periods' |
| | | Tooltip: '<html>Select if the periods are used for planning or merely for visualization.<br>The planning periods define the granularity at which planning is done.<br>In case of overlapping planning periods, the smallest ones are used.<br>The planning periods are shown in the period overview in blue.</html>' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelExport |
| | | { |
| | | #keys: '[415136.0.862221896]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonSummaryExport |
| | | { |
| | | #keys: '[415136.0.862221939]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'IMPORT1' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 2 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelGeneration |
| | | { |
| | | #keys: '[415136.0.864612093]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslGeneration |
| | | { |
| | | #keys: '[415136.0.864612094]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'Generation' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInventorySummaryColumnSearch |
| | | { |
| | | #keys: '[415136.0.864612101]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelPeriod |
| | | #child: PanelExport |
| | | #child: PanelCategory |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInventorySummaryHeader |
| | | { |
| | | #keys: '[415136.0.864612089]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelInventorySummaryProductSearch |
| | | #child: PanelInventorySummaryColumnSearch |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Taborder: 2 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelInventorySummaryProductSearch |
| | | { |
| | | #keys: '[415136.0.864612090]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelUnit |
| | | #child: PanelGeneration |
| | | #child: PanelMQBMLB |
| | | #child: PanelPower |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelMQBMLB |
| | | { |
| | | #keys: '[415136.0.864612095]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslMQBMLB |
| | | { |
| | | #keys: '[415136.0.864612096]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'MQB/MLB' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 2 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelPeriod |
| | | { |
| | | #keys: '[415136.0.862221329]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component DateSelectorStart |
| | | { |
| | | #keys: '[415136.0.862221355]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | Label: 'Start date' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component DateSelectorEnd |
| | | { |
| | | #keys: '[415136.0.862221609]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | Label: 'End date' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelPower |
| | | { |
| | | #keys: '[415136.0.864612097]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslPower |
| | | { |
| | | #keys: '[415136.0.864612098]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'Power' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelTable |
| | | { |
| | | #keys: '[415136.0.864612252]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: MatrixEditorTable |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelUnit |
| | | { |
| | | #keys: '[415136.0.864612091]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslUnit |
| | | { |
| | | #keys: '[415136.0.864612092]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'Unit' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixEditorActionBarPageTable |
| | | { |
| | | #keys: '[415136.0.864612260]' |
| | | BaseType: 'matrixEditorActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixeditorContextMenuTable |
| | | { |
| | | #keys: '[415136.0.864612261]' |
| | | BaseType: 'matrixeditorContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Response OnCreated () id:Response_FormInventorySummaryReport_OnCreated |
| | | { |
| | | #keys: '[415136.0.864612555]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( not isnull( MacroPlan.InventorySummarySource() ) ){ |
| | | InventorySummarySource::Initialize( MacroPlan ); |
| | | } |
| | | //info( '------------------1----------------' ); |
| | | table := selectobject( MacroPlan, InventorySummarySource.InventorySummaryReport, table, table.IsShow() ); |
| | | info( '------------------2----------------', table.IsShow() ); |
| | | DataHolderTable.Data( table ); |
| | | |
| | | dhSearch.Data( table.InventorySummarySource().InventorySummarySearch() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelCategory/RadioButtonGroupUseForPlanning_545 |
| | | Response OnChanged () id:Response_PanelPeriods_RadioButtonGroupUseForPlanning_OnChanged_847 |
| | | { |
| | | #keys: '[415136.0.862222091]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebRadioButtonGroup_OnChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //åºé´æ¹ååå·æ°æ¾ç¤º |
| | | if( dhSearch.Data().Category() <> this.BoundValue() ){ |
| | | dhSearch.Data().Category( this.BoundValue() ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelExport/ButtonSummaryExport |
| | | Response OnClick () id:Response_PanelExport_ButtonSummaryExport_OnClick |
| | | { |
| | | #keys: '[415136.0.862221938]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | binaryValue := InventorySummarySource::Download( MacroPlan ); |
| | | |
| | | Application.Download( InventorySummaryReport::GetDefaultName() + '.xlsx', binaryValue.AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelGeneration/ddslGeneration |
| | | Response OnCreated () id:Response_PanelGeneration_ddslGeneration_OnCreated |
| | | { |
| | | #keys: '[415136.0.864612086]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.Generation() ); |
| | | |
| | | valueString := values.Concatenate( ";" ); |
| | | valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); |
| | | |
| | | valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; |
| | | |
| | | this.Strings( valueString ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelGeneration/ddslGeneration |
| | | Response OnSelectionChanged () id:Response_PanelGeneration_ddslGeneration_OnSelectionChanged |
| | | { |
| | | #keys: '[415136.0.864612085]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //ä»£æ°æ¹ååå·æ°æ¾ç¤º |
| | | if( dhSearch.Data().Generation() <> selection ){ |
| | | dhSearch.Data().Generation( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelMQBMLB/ddslMQBMLB |
| | | Response OnCreated () id:Response_PanelMQBMLB_ddslMQBMLB_OnCreated |
| | | { |
| | | #keys: '[415136.0.864612084]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.MQBMLB() ); |
| | | |
| | | valueString := values.Concatenate( ";" ); |
| | | valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); |
| | | |
| | | valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; |
| | | |
| | | this.Strings( valueString ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelMQBMLB/ddslMQBMLB |
| | | Response OnSelectionChanged () id:Response_PanelMQBMLB_ddslMQBMLB_OnSelectionChanged |
| | | { |
| | | #keys: '[415136.0.864612083]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //æ¨ªçºµå¶æ¹ååå·æ°æ¾ç¤º |
| | | if( dhSearch.Data().MqbMlb() <> selection ){ |
| | | dhSearch.Data().MqbMlb( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelPeriod/DateSelectorEnd |
| | | Response OnChanged () id:Response_PanelPeriod_DateSelectorEnd_OnChanged |
| | | { |
| | | #keys: '[415136.0.862221640]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //æ¥ææ¹ååå·æ°æ¾ç¤º |
| | | if( dhSearch.Data().EndDate() <> this.Date() ){ |
| | | dhSearch.Data().EndDate( this.Date() ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelPeriod/DateSelectorStart |
| | | Response OnChanged () id:Response_PanelPeriod_DateSelectorStart_OnChanged |
| | | { |
| | | #keys: '[415136.0.862221461]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //æ¥ææ¹ååå·æ°æ¾ç¤º |
| | | if( dhSearch.Data().StartDate() <> this.Date() ){ |
| | | dhSearch.Data().StartDate( this.Date() ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelPower/ddslPower |
| | | Response OnCreated () id:Response_PanelPower_ddslPower_OnCreated |
| | | { |
| | | #keys: '[415136.0.864612082]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | values := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.Power() ); |
| | | |
| | | valueString := values.Concatenate( ";" ); |
| | | valueString := selectuniquevalues( valueString.Tokenize( ";" ), Elements, tempS, true, tempS ).Concatenate( ";" ); |
| | | |
| | | valueString := "<All>" + ifexpr( valueString = "", "", ";" ) + valueString; |
| | | |
| | | this.Strings( valueString ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelPower/ddslPower |
| | | Response OnSelectionChanged () id:Response_PanelPower_ddslPower_OnSelectionChanged |
| | | { |
| | | #keys: '[415136.0.864612081]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //åçæ¹ååå·æ°æ¾ç¤º |
| | | if( dhSearch.Data().Power() <> selection ){ |
| | | dhSearch.Data().Power( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelUnit/ddslUnit |
| | | Response OnCreated () id:Response_PanelUnit_ddslUnit_OnCreated |
| | | { |
| | | #keys: '[415136.0.864612088]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | |
| | | valueString := "<All>;" + FinancialProductionReport::GetDefaultCCUnit() + ";" + FinancialProductionReport::GetDefaultDLUnit(); |
| | | |
| | | this.Strings( valueString ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelUnit/ddslUnit |
| | | Response OnSelectionChanged () id:Response_PanelUnit_ddslUnit_OnSelectionChanged |
| | | { |
| | | #keys: '[415136.0.864612087]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDropDownStringList_OnSelectionChanged' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | //Unitæ´æ°åçææ°çæ¾ç¤º |
| | | if( dhSearch.Data().Unit() <> selection ){ |
| | | dhSearch.Data().Unit( selection ); |
| | | DataHolderTable.Data().Generate( dhSearch.Data(), DataHolderProduct.Data() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormInventorySummaryReport |
| | | { |
| | | #keys: '[415136.0.864611956]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | Component DataHolderTable |
| | | { |
| | | #keys: '[415136.0.864612009]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'InventorySummaryReport' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component dhSearch |
| | | { |
| | | #keys: '[415136.0.864612034]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'InventorySummarySearch' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | #child: PanelInventorySummaryHeader |
| | | #child: PanelTable |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_CHECK_EDIT' |
| | | Title: 'Inventory summary report' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component MatrixEditor951 |
| | | { |
| | | #keys: '[413988.0.1296803041]' |
| | | BaseType: 'WebMatrixEditor' |
| | | Children: |
| | | [ |
| | | Component MatrixEditorCell491 |
| | | { |
| | | #keys: '[413988.0.1296803042]' |
| | | BaseType: 'WebMatrixEditorCell' |
| | | Children: |
| | | [ |
| | | Component DataExtractor548 |
| | | { |
| | | #keys: '[413988.0.1296803043]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'OfflinePlanColumn.OfflinePlanCell' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'Value' |
| | | Column: 'OfflinePlanColumn' |
| | | Row: 'OfflinePlanRow' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component MatrixEditorRows271 |
| | | { |
| | | #keys: '[413988.0.1296803046]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractor869 |
| | | { |
| | | #keys: '[413988.0.1296803047]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'OfflinePlanRow' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'RowNr' |
| | | SortCriteria: 'ProductionLine;ProductID;Type' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component MatrixEditorColumns844 |
| | | { |
| | | #keys: '[413988.0.1296803050]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractor259 |
| | | { |
| | | #keys: '[413988.0.1296803051]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'OfflinePlanColumn' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'ColumnName' |
| | | SortCriteria: 'ColumnDate' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: matrixEditorActionBarPage250 |
| | | #child: matrixeditorContextMenu204 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: 'MatrixEditorColumns844' |
| | | ContextMenu: 'matrixeditorContextMenu204' |
| | | Rows: 'MatrixEditorRows271' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixEditorActionBarPage250 |
| | | { |
| | | #keys: '[413988.0.1296803054]' |
| | | BaseType: 'matrixEditorActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixeditorContextMenu204 |
| | | { |
| | | #keys: '[413988.0.1296803057]' |
| | | BaseType: 'matrixeditorContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pContent |
| | | { |
| | | #keys: '[413988.0.1296872691]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: MatrixEditor951 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pHeader |
| | | { |
| | | #keys: '[413988.0.1296872680]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component bRefresh |
| | | { |
| | | #keys: '[413988.0.1296860898]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Refresh' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component bDownload |
| | | { |
| | | #keys: '[413988.0.1296875316]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Download' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component bDeductionOfReplacementLoss |
| | | { |
| | | #keys: '[413988.0.1297911732]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Deduction of replacement loss' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component bRestore |
| | | { |
| | | #keys: '[413988.0.1297911774]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Restore' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component bSaveAsDraft |
| | | { |
| | | #keys: '[413988.0.1297973728]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Save as draft' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component bConfirm |
| | | { |
| | | #keys: '[413988.0.1297973782]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Confirm' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Border: true |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bConfirm |
| | | Response OnClick () id:Response_pHeader_bConfirm_OnClick |
| | | { |
| | | #keys: '[413988.0.1297974240]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bDeductionOfReplacementLoss |
| | | Response OnClick () id:Response_pHeader_bDeductionOfReplacementLoss_OnClick |
| | | { |
| | | #keys: '[413988.0.1297973984]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bDownload |
| | | Response OnClick () id:Response_pHeader_bDownload_OnClick |
| | | { |
| | | #keys: '[413988.0.1297973899]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bRefresh |
| | | Response OnClick () id:Response_pHeader_bRefresh_OnClick |
| | | { |
| | | #keys: '[413988.0.1297973814]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | Precondition: |
| | | [* |
| | | return not isnull( MacroPlan ); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | OfflinePlanCell::RefreshOfflinePlan( MacroPlan ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bRestore |
| | | Response OnClick () id:Response_pHeader_bRestore_OnClick |
| | | { |
| | | #keys: '[413988.0.1297974069]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pHeader/bSaveAsDraft |
| | | Response OnClick () id:Response_pHeader_bSaveAsDraft_OnClick |
| | | { |
| | | #keys: '[413988.0.1297974155]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormOfflinePlan |
| | | { |
| | | #keys: '[413988.0.1296872622]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pHeader |
| | | #child: pContent |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'WIND_ENGINE_OFFSHORE' |
| | | Title: 'OfflinePlan' |
| | | ] |
| | | } |
| | |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogUpperLimitOfTransferCapacity ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( dlg ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormFinancialSalesReport |
| | | { |
| | | title: 'QMacroPlanner::FormFinancialSalesReport' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormFinancialSalesReport' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 15 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormFinancialSalesReport_PanelFinancialSalesReportHeader |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormFinancialSalesReport_PanelFinancialSalesReportSearch |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormFinancialSalesReport_PanelUnit |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormFinancialSalesReport_PanelGeneration |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormFinancialSalesReport_PanelMQBMLB |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormFinancialSalesReport_PanelPower |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormFinancialSalesReport_PanelExport |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormFinancialSalesReport_PanelFinancialSalesReportOperation |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormFinancialSalesReport_PanelTable |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormFinancialSalesReport_MatrixEditorTable |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QMacroPlanner::FormFinancialSalesReport.MatrixEditorTable' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_Value |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'Value' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'Index'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'RowNr'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 17 |
| | | image: 'MONEY_COINS2' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Financial_sales_report_view' |
| | | name: 'Financial sales report view' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormInventorySummaryReport |
| | | { |
| | | title: 'QMacroPlanner::FormInventorySummaryReport' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormInventorySummaryReport' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 15 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormInventorySummaryReport_PanelInventorySummaryHeader |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInventorySummaryReport_PanelInventorySummaryProductSearch |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInventorySummaryReport_PanelUnit |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInventorySummaryReport_PanelGeneration |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInventorySummaryReport_PanelMQBMLB |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInventorySummaryReport_PanelPower |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInventorySummaryReport_PanelInventorySummaryColumnSearch |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInventorySummaryReport_PanelTable |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormInventorySummaryReport_MatrixEditorTable |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 200 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QMacroPlanner::FormInventorySummaryReport.MatrixEditorTable' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_EndingInventory |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'EndingInventory' |
| | | } |
| | | attribute_MinimumInventory |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 1 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'MinimumInventory' |
| | | } |
| | | attribute_MaximumInventory |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 2 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'MaximumInventory' |
| | | } |
| | | attribute_AverageInventory |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 3 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'AverageInventory' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'Index'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'RowNr'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 18 |
| | | image: 'DOCUMENT_CHECK_EDIT' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Inventory_summary_report_view' |
| | | name: 'Inventory summary report view' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | { |
| | | viewcontents |
| | | { |
| | | forms |
| | | { |
| | | form_FormOfflinePlan |
| | | { |
| | | title: 'QMacroPlanner::FormOfflinePlan' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormOfflinePlan' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 14 |
| | | columnPosition: 1 |
| | | columnSpan: 12 |
| | | } |
| | | components |
| | | { |
| | | FormOfflinePlan_pHeader |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormOfflinePlan_pContent |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormOfflinePlan_MatrixEditor951 |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 36 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QMacroPlanner::FormOfflinePlan.MatrixEditor951' |
| | | state |
| | | { |
| | | cells |
| | | { |
| | | attributes |
| | | { |
| | | attribute_Value |
| | | { |
| | | type: 'MatrixEditorWebApiCellDataModelInterest' |
| | | index: 0 |
| | | rowsubtotal: '' |
| | | columnsubtotal: '' |
| | | attribute: 'Value' |
| | | } |
| | | } |
| | | } |
| | | columns |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'ColumnDate'" |
| | | } |
| | | } |
| | | rows |
| | | { |
| | | sorting |
| | | { |
| | | criteria: "datamember:'ProductionLine';datamember:'ProductID';datamember:'Type'" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | userconfigurableinformation |
| | | { |
| | | } |
| | | page: '' |
| | | group: '' |
| | | index: 0 |
| | | image: 'JACKHAMMER' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'OfflinePlan' |
| | | name: 'OfflinePlan' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | # Quintiq GUI View File |
| | | # Version 3.0 |
| | | |
| | | PROPERTIES |
| | | { |
| | | KEY := [413988.0.1301140601] |
| | | NAME := 'è½¦éæ´çåæ' |
| | | HELPPAGE := '' |
| | | PARENTKEY := [100676.19.414142820] |
| | | DOMAIN := 'MacroPlanner' |
| | | FOCUSED := [100828.0.145642700] |
| | | MUSTREADMDSSETTINGS := false |
| | | ISPERSONAL false |
| | | OWNERNAME 'quintiq/lihongji' |
| | | ICONIMAGE 'WINDOWS' |
| | | CREATIONDATETIME '2024-06-28T13:59:36' |
| | | CREATIONUSER 'quintiq/lihongji' |
| | | UPDATEDATETIME '2024-06-28T13:59:54' |
| | | UPDATEUSER 'quintiq/lihongji' |
| | | LASTACCESSDATE '2024-06-28' |
| | | VIEWSCOPE 0 |
| | | } |
| | | AUTHORIZATIONS |
| | | { |
| | | OPEN |
| | | { |
| | | AUTHORIZATIONS |
| | | { |
| | | } |
| | | } |
| | | EDIT |
| | | { |
| | | AUTHORIZATIONS |
| | | { |
| | | } |
| | | } |
| | | } |
| | | MDSINFO |
| | | { |
| | | LOCAL '' |
| | | GLOBAL '' |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [892.10.659695] |
| | | OBJECTTYPE Application // appEditor |
| | | INFOOBJECTS |
| | | { |
| | | INFOOBJECT |
| | | { |
| | | KEY [892.10.659696] |
| | | OBJECTTYPE Frame // Frame |
| | | CONTENTS |
| | | { |
| | | State := maximized |
| | | (896,312,1024,768) |
| | | WorkspaceLocation := TreePath[R0.8;B0.0061;] |
| | | } |
| | | INFOOBJECTS |
| | | { |
| | | INFOOBJECT |
| | | { |
| | | KEY [103784.990.795900613] |
| | | OBJECTTYPE ValueHolder // vhSearchHistory |
| | | CONTENTS |
| | | { |
| | | Value '' |
| | | } |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [10786.1.820220316] |
| | | OBJECTTYPE ValueHolder // vhLoadingErrCount |
| | | CONTENTS |
| | | { |
| | | Value '0' |
| | | } |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [10786.1.820229990] |
| | | OBJECTTYPE ValueHolder // vhLoadReason |
| | | CONTENTS |
| | | { |
| | | Value 'Startup' |
| | | } |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [10786.1.821405088] |
| | | OBJECTTYPE ValueHolder // vhWriteErrorCount |
| | | CONTENTS |
| | | { |
| | | Value '0' |
| | | } |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [10786.2.342765638] |
| | | OBJECTTYPE ValueHolder // vhGlobals |
| | | CONTENTS |
| | | { |
| | | Value '' |
| | | } |
| | | BASEINFOOBJECTS |
| | | { |
| | | } |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [103784.990.815711421] |
| | | SINGLEINSTANCE false |
| | | ID 'Type Details' |
| | | PARENTKEY [892.10.659696] |
| | | OBJECTTYPE Form // frmObjectDefinitionBrowser |
| | | CREATETYPE frmObjectDefinitionBrowser |
| | | CONTENTS |
| | | { |
| | | State := normal |
| | | (485,0,400,912) |
| | | DockableLocation := Station[MAIN]State[NORM]TreePath[L0.2;B0.5727;]TabIdx[0]Selection[FRONT] |
| | | } |
| | | BASEINFOOBJECTS |
| | | { |
| | | } |
| | | INFOOBJECTS |
| | | { |
| | | INFOOBJECT |
| | | { |
| | | KEY [121142.0.500922030] |
| | | OBJECTTYPE GUIDataSetLevel // dslTypes |
| | | CONTENTS |
| | | { |
| | | Columns |
| | | { |
| | | Definition := [892.10.660027] |
| | | { |
| | | [892.10.660028] |
| | | [644.0.84080945] |
| | | } |
| | | SubTotals := true |
| | | Visible |
| | | { |
| | | Column internal[DataSetDataColumn] [121142.0.501068000] |
| | | { |
| | | Header := 'Name' |
| | | Width := 100 |
| | | Subtotals := false |
| | | Specific |
| | | { |
| | | DataPath := 'Name [1.2.1645]' |
| | | } |
| | | } |
| | | Column internal[DataSetDataColumn] [121142.0.501068001] |
| | | { |
| | | Header := 'BaseTypeName' |
| | | Width := 100 |
| | | Subtotals := false |
| | | Specific |
| | | { |
| | | DataPath := 'BaseTypeName [1.2.2198]' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | DataMemberSort 'SortOrder [1.2.1686]' true true |
| | | ColumnSort [121142.0.501068000] true false |
| | | } |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [121142.0.500923128] |
| | | OBJECTTYPE List // lstObjectDefinitionBrowser |
| | | CONTENTS |
| | | { |
| | | Quantorrow := false |
| | | } |
| | | INFOOBJECTS |
| | | { |
| | | INFOOBJECT |
| | | { |
| | | KEY [121142.0.500923177] |
| | | OBJECTTYPE GUIDataSetLevel // dslElements |
| | | CONTENTS |
| | | { |
| | | Columns |
| | | { |
| | | Definition := [103784.990.769111502] |
| | | { |
| | | [103784.990.795596828] |
| | | [103784.990.795596827] |
| | | } |
| | | SubTotals := true |
| | | Visible |
| | | { |
| | | Column internal[DataSetDataColumn] [121142.0.501068002] |
| | | { |
| | | Width := 401 |
| | | SizedByUser := true |
| | | Subtotals := false |
| | | Specific |
| | | { |
| | | DataPath := 'Outline [1.2.6115]' |
| | | } |
| | | } |
| | | Column internal[DataSetDataColumn] [121142.0.501068003] |
| | | { |
| | | Width := 319 |
| | | SizedByUser := true |
| | | Subtotals := false |
| | | Specific |
| | | { |
| | | DataPath := 'ValueType [1.2.6117]' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="internal[UITypeDisplayElementBase]">\n <GEBFiltering Key="@Default_Filter1" TargetType="internal[UITypeDisplayElementBase]">\n <CurrentFilter>true</CurrentFilter>\n <Name>Default Filter</Name>\n <Active>true</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>0</SortIndex>\n <GEBFilteringData Key="@2">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@Outline1" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n <ColumnID>[121142.0.1058023525]</ColumnID>\n <BaseName>Outline</BaseName>\n <Name>Outline</Name>\n <Title>Outline</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Outline</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@3">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@4" Column="@Outline1">\n <ColumnID>[121142.0.1058023525]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@5">\n <ExpressionText></ExpressionText>\n <Converter>\n <ZeroConverter Key="@6">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n <GEBFiltering Key="@Hide_inherited_elements1" TargetType="internal[UITypeDisplayElementBase]">\n <CurrentFilter>false</CurrentFilter>\n <Name>Hide inherited elements</Name>\n <Active>false</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>1</SortIndex>\n <GEBFilteringData Key="@7">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@Outline2" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n <ColumnID>[121142.0.507823646]</ColumnID>\n <BaseName>Outline</BaseName>\n <Name>Outline</Name>\n <Title>Outline</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Outline</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@ValueType1" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n <ColumnID>[121142.0.507823661]</ColumnID>\n <BaseName>ValueType</BaseName>\n <Name>ValueType</Name>\n <Title>ValueType</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>ValueType</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBSelectColumn Key="@IsInherited1" ElementType="internal[UITypeDisplayElementBase]" ValueType="Boolean">\n <ColumnID>[121142.0.507823701]</ColumnID>\n <BaseName>IsInherited</BaseName>\n <Name>IsInherited</Name>\n <Title>IsInherited</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>IsInherited</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@8">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@9" Column="@Outline2">\n <ColumnID>[121142.0.507823646]</ColumnID>\n </GEBFilterColumn>\n <GEBFilterColumn Key="@10" Column="@ValueType1">\n <ColumnID>[121142.0.507823661]</ColumnID>\n </GEBFilterColumn>\n <GEBFilterColumn Key="@11" Column="@IsInherited1">\n <ColumnID>[121142.0.507823701]</ColumnID>\n <GEBFilterColumnMatch Key="@12">\n <Operation>=</Operation>\n <Enabled>true</Enabled>\n <RHSValue>\n <RHSConstantValue Key="@13">\n <StringValue></StringValue>\n <Value>false</Value>\n </RHSConstantValue>\n </RHSValue>\n </GEBFilterColumnMatch>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@14">\n <ExpressionText></ExpressionText>\n <Converter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n <GEBFiltering Key="@Hide_empty_groups1" TargetType="internal[UITypeDisplayElementBase]">\n <CurrentFilter>false</CurrentFilter>\n <Name>Hide empty groups</Name>\n <Active>false</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>2</SortIndex>\n <GEBFilteringData Key="@15">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@Outline3" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n <ColumnID>[121142.0.507823747]</ColumnID>\n <BaseName>Outline</BaseName>\n <Name>Outline</Name>\n <Title>Outline</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Outline</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@16">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@17" Column="@Outline3">\n <ColumnID>[121142.0.507823747]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@18">\n <ExpressionText>object.istype( UITypeDisplayNewElementPlaceholder )\nor object.Group().ModeledElementsSize() > 0</ExpressionText>\n <Converter>\n <ZeroConverter Key="@19">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n <GEBFiltering Key="@Hide_coded_elements1" TargetType="internal[UITypeDisplayElementBase]">\n <CurrentFilter>false</CurrentFilter>\n <Name>Hide coded elements</Name>\n <Active>true</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>3</SortIndex>\n <GEBFilteringData Key="@20">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@Outline4" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n <ColumnID>[121142.0.1058023525]</ColumnID>\n <BaseName>Outline</BaseName>\n <Name>Outline</Name>\n <Title>Outline</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Outline</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@21">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@22" Column="@Outline4">\n <ColumnID>[121142.0.1058023525]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@23">\n <ExpressionText>( object.istype( UITypeDisplayElement ) and object.Kind() = "RELATION" ) or\nobject.istype( UITypeDisplayGroupHeader ) or\nobject.istype( UITypeDisplayNewElementPlaceholder ) or\n( object.istype( UIModeledTypeDisplayElement ) and\n not isnull(object.astype( UIModeledTypeDisplayElement ).ObjectModelObject()) and\n object.astype( UIModeledTypeDisplayElement ).ObjectModelObject().Visible() )</ExpressionText>\n <Converter>\n <ZeroConverter Key="@24">\n <IsStandard>true</IsStandard>\n <IsISO>false</IsISO>\n <IsCustom>false</IsCustom>\n <ConversionType>0</ConversionType>\n </ZeroConverter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n' |
| | | DataMemberSort 'Index [1.2.7326]' true true |
| | | ColumnSort [121142.0.501068002] true false |
| | | } |
| | | INFOOBJECTS |
| | | { |
| | | INFOOBJECT |
| | | { |
| | | KEY [121142.0.500923178] |
| | | OBJECTTYPE GUIDataSetLevel // dslOverrides |
| | | CONTENTS |
| | | { |
| | | Columns |
| | | { |
| | | Definition := [103784.990.1153959078] |
| | | { |
| | | [103784.990.1159008565] |
| | | } |
| | | SubTotals := true |
| | | Visible |
| | | { |
| | | Column internal[DataSetDataColumn] [121142.0.501068004] |
| | | { |
| | | Width := 100 |
| | | Subtotals := false |
| | | Specific |
| | | { |
| | | DataPath := 'ObjectModelObject [1.3.4850]|TargetType [1.2.1730]' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [136402.0.98084624] |
| | | SINGLEINSTANCE false |
| | | ID 'Types per Module' |
| | | PARENTKEY [892.10.659696] |
| | | OBJECTTYPE Form // frmTypesByModule |
| | | CREATETYPE frmTypesByModule |
| | | CONTENTS |
| | | { |
| | | State := normal |
| | | (0,0,0,0) |
| | | DockableLocation := Station[MAIN]State[NORM]TreePath[L0.2;T0.4273;]TabIdx[0]Selection[FRONT] |
| | | } |
| | | BASEINFOOBJECTS |
| | | { |
| | | BASEINFOOBJECT |
| | | { |
| | | KEY [136402.0.98084624] |
| | | OBJECTTYPE GUIComponent // frmTypesByModule |
| | | COMPONENTDATA |
| | | { |
| | | [136402.0.98084624]:[103784.990.728734692]:[892.10.659816]:[514.0.129466]:[892.10.659835] STR 'true' |
| | | } |
| | | } |
| | | } |
| | | INFOOBJECTS |
| | | { |
| | | INFOOBJECT |
| | | { |
| | | KEY [121142.0.1211769996] |
| | | OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel776 |
| | | CONTENTS |
| | | { |
| | | Columns |
| | | { |
| | | Definition := [121142.0.950060792] |
| | | { |
| | | [121142.0.950062702] |
| | | } |
| | | SubTotals := true |
| | | Visible |
| | | { |
| | | Column internal[DataSetDataColumn] [121142.0.950062702] |
| | | { |
| | | Width := 100 |
| | | Subtotals := false |
| | | Specific |
| | | { |
| | | DataPath := 'Name [1.2.6744]' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ColumnSort [121142.0.950062702] true false |
| | | } |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [103784.990.728734692] |
| | | OBJECTTYPE List // ListTypes |
| | | CONTENTS |
| | | { |
| | | Quantorrow := false |
| | | } |
| | | INFOOBJECTS |
| | | { |
| | | INFOOBJECT |
| | | { |
| | | KEY [101180.2.890701323] |
| | | OBJECTTYPE ValueHolder // ValueHolder |
| | | CONTENTS |
| | | { |
| | | Value 'false' |
| | | } |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [10786.2.342808981] |
| | | OBJECTTYPE ValueHolder // vhGlobals |
| | | CONTENTS |
| | | { |
| | | Value '' |
| | | } |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [892.10.659838] |
| | | OBJECTTYPE GUIDataSetLevel // dslTypes |
| | | CONTENTS |
| | | { |
| | | Columns |
| | | { |
| | | Definition := [121142.0.950060792] |
| | | { |
| | | [121142.0.950062702] |
| | | } |
| | | SubTotals := true |
| | | Visible |
| | | { |
| | | Column internal[DataSetDataColumn] [121142.0.950062702] |
| | | { |
| | | Width := 367 |
| | | SizedByUser := true |
| | | Subtotals := false |
| | | Specific |
| | | { |
| | | DataPath := 'Name [1.2.6744]' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | DataMemberSort 'IsDomain [1.2.6747]' false true |
| | | DataMemberSort 'IsSystemLibrary [1.2.7907]' true true |
| | | DataMemberSort 'IsAvailable [1.2.7451]' false true |
| | | ColumnSort [121142.0.950062702] true false |
| | | } |
| | | INFOOBJECTS |
| | | { |
| | | INFOOBJECT |
| | | { |
| | | KEY [136402.0.98091406] |
| | | OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelTypes |
| | | CONTENTS |
| | | { |
| | | Columns |
| | | { |
| | | Definition := [103784.990.1535755633] |
| | | { |
| | | [103784.990.1535759199] |
| | | } |
| | | SubTotals := true |
| | | Visible |
| | | { |
| | | Column internal[DataSetDataColumn] [103784.990.1535759199] |
| | | { |
| | | Width := 375 |
| | | SizedByUser := true |
| | | Subtotals := false |
| | | Specific |
| | | { |
| | | DataPath := 'Name [1.2.1645]' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="internal[ObjectModelType]">\n <GEBFiltering Key="@Default_Filter1" TargetType="internal[ObjectModelType]">\n <CurrentFilter>true</CurrentFilter>\n <Name>Default Filter</Name>\n <Active>true</Active>\n <IsFavorite>false</IsFavorite>\n <SortIndex>0</SortIndex>\n <GEBFilteringData Key="@2">\n <DefaultColumnPrefix></DefaultColumnPrefix>\n <ColumnPostfix></ColumnPostfix>\n <GEBSelectColumn Key="@Name1" ElementType="internal[ObjectModelType]" ValueType="String">\n <ColumnID>[413988.0.1111730433]</ColumnID>\n <BaseName>Name</BaseName>\n <Name>Name</Name>\n <Title>Name</Title>\n <IsTarget>false</IsTarget>\n <NameHasBeenSet>false</NameHasBeenSet>\n <ColumnFinal>Fail</ColumnFinal>\n <AttributePathText>Name</AttributePathText>\n <AttributePathIdentifier>\n </AttributePathIdentifier>\n </GEBSelectColumn>\n <GEBFilter Key="@3">\n <FreeFilterEnabled>true</FreeFilterEnabled>\n <GEBFilterColumn Key="@4" Column="@Name1">\n <ColumnID>[413988.0.1111730433]</ColumnID>\n </GEBFilterColumn>\n <GEBFreeFilterBody Key="@5">\n <ExpressionText></ExpressionText>\n <Converter>\n </Converter>\n </GEBFreeFilterBody>\n </GEBFilter>\n </GEBFilteringData>\n </GEBFiltering>\n</GEBObjectsFilter>\n' |
| | | DataMemberSort 'SortOrder [1.2.1686]' true true |
| | | ColumnSort [103784.990.1535759199] true false |
| | | } |
| | | INFOOBJECTS |
| | | { |
| | | INFOOBJECT |
| | | { |
| | | KEY [135566.0.318964952] |
| | | OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSpecializations |
| | | CONTENTS |
| | | { |
| | | Columns |
| | | { |
| | | Definition := [103784.990.1535755633] |
| | | { |
| | | [103784.990.1535759199] |
| | | } |
| | | SubTotals := true |
| | | Visible |
| | | { |
| | | Column internal[DataSetDataColumn] [103784.990.1535759199] |
| | | { |
| | | Width := 100 |
| | | Subtotals := false |
| | | Specific |
| | | { |
| | | DataPath := 'Name [1.2.1645]' |
| | | } |
| | | } |
| | | } |
| | | } |
| | | DataMemberSort 'SortOrder [1.2.1686]' true true |
| | | ColumnSort [103784.990.1535759199] true false |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | INFOOBJECT |
| | | { |
| | | KEY [121142.0.36340892] |
| | | SINGLEINSTANCE false |
| | | ID 'Model Overview' |
| | | PARENTKEY [892.10.659696] |
| | | OBJECTTYPE Form // frmModelOverview |
| | | CREATETYPE frmModelOverview |
| | | CONTENTS |
| | | { |
| | | State := normal |
| | | (0,0,0,0) |
| | | DockableLocation := Station[MAIN]State[NORM]TreePath[R0.8;T0.9939;]TabIdx[0]Selection[FRONT] |
| | | } |
| | | BASEINFOOBJECTS |
| | | { |
| | | BASEINFOOBJECT |
| | | { |
| | | KEY [121142.0.36340892] |
| | | OBJECTTYPE GUIContainerComponent // frmModelOverview |
| | | COMPONENTDATA |
| | | { |
| | | [121142.0.36340892]:[121142.0.37512339]:[121142.0.40573788] STR 'PeriodTaskOperation:Unit:PeriodTaskLaneLeg:Operation:MacroPlan:Lane:PeriodTask_MP:NewSupply:LaneLeg:UnitPeriod:DependentDemand:ProductInTrip:Trip#601:266:-40:657:238:266:189:211:497:17:178:464:513#168:437:163:276:350:529:165:274:436:277:59:59:244#219:54:197:109:109:54:153:109:87:120:175:153:54#26:26:26:26:26:26:26:26:26:26:26:26:26' |
| | | [121142.0.36340892]:[121142.0.37512339]:[121142.0.48706989]:[121142.0.48706990]:[121142.0.48809938] STR 'true' |
| | | } |
| | | } |
| | | } |
| | | INFOOBJECTS |
| | | { |
| | | INFOOBJECT |
| | | { |
| | | KEY [121142.0.37512339] |
| | | OBJECTTYPE CustomDrawComponent // customDraw |
| | | CONTENTS |
| | | { |
| | | ZoomX 1.331 |
| | | ZoomY 1.331 |
| | | } |
| | | INFOOBJECTS |
| | | { |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | COMPONENTDATA |
| | | { |
| | | [892.10.659695]:[892.10.659696]:[103784.990.702401639] STR 'MacroPlanner' |
| | | [892.10.659695]:[892.10.659696]:[892.10.659800]:[892.10.1501977] STR '0' |
| | | } |
| | | } |
| | |
| | | CREATIONUSER '' |
| | | UPDATEDATETIME '2017-06-05T15:08:50' |
| | | UPDATEUSER 'quintiq/dwe2' |
| | | LASTACCESSDATE '2020-03-25' |
| | | LASTACCESSDATE '2024-06-28' |
| | | VIEWSCOPE 0 |
| | | } |
| | | AUTHORIZATIONS |