Merge branch 'dev' of http://47.101.211.7:10101/r/VWED into dev
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation EmployeeCost_EmployeeType_EmployeeType_EmployeeCost |
| | | { |
| | | #keys: '1[412672.1.2854689]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide EmployeeType |
| | | { |
| | | #keys: '3[412672.1.2854691][412672.1.2854690][412672.1.2854692]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: EmployeeCost |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide EmployeeCost |
| | | { |
| | | #keys: '3[412672.1.2854694][412672.1.2854693][412672.1.2854695]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: EmployeeType |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation EmployeeCost_Unit_Unit_EmployeeCost |
| | | { |
| | | #keys: '1[412672.1.2854611]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide Unit |
| | | { |
| | | #keys: '3[412672.1.2854613][412672.1.2854612][412672.1.2854614]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: EmployeeCost |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide EmployeeCost |
| | | { |
| | | #keys: '3[412672.1.2854616][412672.1.2854615][412672.1.2854617]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: Unit |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation EmployeeType_MacroPlan_MacroPlan_EmployeeType |
| | | { |
| | | #keys: '1[412672.1.2880055]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[412672.1.2880057][412672.1.2880056][412672.1.2880058]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: EmployeeType |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide EmployeeType |
| | | { |
| | | #keys: '3[412672.1.2880060][412672.1.2880059][412672.1.2880061]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 FinancialWeeklyColumn_FinancialWeeklyCell_FinancialWeeklyCell_FinancialWeeklyColumn |
| | | { |
| | | #keys: '1[415136.0.880724166]' |
| | | ProceduralSequenceRelationStrategy |
| | | { |
| | | #keys: '13[0.0.0][415136.0.880724185][415136.0.880724179][415136.0.880724186][415136.0.880724180][415136.0.880724187][415136.0.880724181][415136.0.880724188][415136.0.880724182][415136.0.880724189][415136.0.880724183][415136.0.880724190][415136.0.880724184]' |
| | | SequenceElementSuffix: 'CellInColumn' |
| | | SequenceSuffix: 'CellInColumn' |
| | | } |
| | | RelationSide.LeftSide FinancialWeeklyCell |
| | | { |
| | | #keys: '3[415136.0.880724168][415136.0.880724167][415136.0.880724169]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: FinancialWeeklyColumn |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide FinancialWeeklyColumn |
| | | { |
| | | #keys: '3[415136.0.880724171][415136.0.880724170][415136.0.880724172]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialWeeklyCell |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinancialWeeklyReport_FinancialWeeklyColumn_FinancialWeeklyColumn_FinancialWeeklyReport |
| | | { |
| | | #keys: '1[415136.0.880724207]' |
| | | ProceduralSequenceRelationStrategy |
| | | { |
| | | #keys: '13[0.0.0][415136.0.880724228][415136.0.880724222][415136.0.880724229][415136.0.880724223][415136.0.880724230][415136.0.880724224][415136.0.880724231][415136.0.880724225][415136.0.880724232][415136.0.880724226][415136.0.880724233][415136.0.880724227]' |
| | | SequenceElementSuffix: 'Column' |
| | | SequenceSuffix: 'Column' |
| | | } |
| | | RelationSide.LeftSide FinancialWeeklyColumn |
| | | { |
| | | #keys: '3[415136.0.880724209][415136.0.880724208][415136.0.880724210]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: FinancialWeeklyReport |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide FinancialWeeklyReport |
| | | { |
| | | #keys: '3[415136.0.880724212][415136.0.880724211][415136.0.880724213]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialWeeklyColumn |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinancialWeeklyReport_FinancialWeeklyRow_FinancialWeeklyRow_FinancialWeeklyReport |
| | | { |
| | | #keys: '1[415136.0.880724123]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide FinancialWeeklyRow |
| | | { |
| | | #keys: '3[415136.0.880724125][415136.0.880724124][415136.0.880724126]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: FinancialWeeklyReport |
| | | OwningSide: 'Owned' |
| | | } |
| | | RelationSide.RightSide FinancialWeeklyReport |
| | | { |
| | | #keys: '3[415136.0.880724128][415136.0.880724127][415136.0.880724129]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialWeeklyRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinancialWeeklyReport_MacroPlan_MacroPlan_FinancialWeeklyReport |
| | | { |
| | | #keys: '1[415136.0.880700289]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[415136.0.880700291][415136.0.880700290][415136.0.880700292]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialWeeklyReport |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide FinancialWeeklyReport |
| | | { |
| | | #keys: '3[415136.0.880700294][415136.0.880700293][415136.0.880700295]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Relation FinancialWeeklyRow_FinancialWeeklyCell_FinancialWeeklyCell_FinancialWeeklyRow |
| | | { |
| | | #keys: '1[415136.0.880700305]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide FinancialWeeklyCell |
| | | { |
| | | #keys: '3[415136.0.880700307][415136.0.880700306][415136.0.880700308]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: FinancialWeeklyRow |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide FinancialWeeklyRow |
| | | { |
| | | #keys: '3[415136.0.880700310][415136.0.880700309][415136.0.880700311]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: FinancialWeeklyCell |
| | | 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 OvertimeMultiplier_MacroPlan_MacroPlan_OvertimeMultiplier |
| | | { |
| | | #keys: '1[412672.1.2880092]' |
| | | DefaultRelationStrategy |
| | | { |
| | | } |
| | | RelationSide.LeftSide MacroPlan |
| | | { |
| | | #keys: '3[412672.1.2880094][412672.1.2880093][412672.1.2880095]' |
| | | Cardinality: '0to1' |
| | | ObjectDefinition: OvertimeMultiplier |
| | | OwningSide: 'Reference' |
| | | } |
| | | RelationSide.RightSide OvertimeMultiplier |
| | | { |
| | | #keys: '3[412672.1.2880097][412672.1.2880096][412672.1.2880098]' |
| | | Cardinality: '1toN' |
| | | ObjectDefinition: MacroPlan |
| | | OwningSide: 'Owned' |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute BaseSalary |
| | | { |
| | | #keys: '3[412672.1.2854665][412672.1.2854664][412672.1.2854666]' |
| | | Description: 'BaseSalary' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute EmployeeNumber |
| | | { |
| | | #keys: '3[412672.1.2854635][412672.1.2854634][412672.1.2854636]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StartDate |
| | | { |
| | | #keys: '3[412672.1.2854645][412672.1.2854644][412672.1.2854646]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute TimeUnit |
| | | { |
| | | #keys: '3[412672.1.2854655][412672.1.2854654][412672.1.2854656]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | ISOValue: 'æ' |
| | | TargetAttribute: TimeUnit |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Export ( |
| | | const constcontent Units owner |
| | | ) as BinaryValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jul-3-2024 (created) |
| | | xmlTemplate := '<?xml version="1.0" encoding="UTF-16"?><table><name>äººåææ¬</name>'; |
| | | columnXML1 := "<column><name>人åç±»å«</name><type>String</type>"; |
| | | columnXML2 := "<column><name>人æ°</name><type>Number</type>"; |
| | | columnXML3 := "<column><name>产线</name><type>String</type>"; |
| | | columnXML4 := "<column><name>å¼å§æ¶é´</name><type>String</type>"; |
| | | columnXML5 := "<column><name>æ¶é´åä½</name><type>String</type>"; |
| | | columnXML6 := "<column><name>åºæ¬å·¥èµ</name><type>Number</type>"; |
| | | |
| | | costs := selectsortedset( owner,Elements.EmployeeCost,cost,cost.Unit().Name() ); |
| | | traverse( costs,Elements,cost ){ |
| | | columnXML1 := columnXML1 + '<cell value="' + cost.EmployeeType().Name() + '"/>' |
| | | columnXML2 := columnXML2 + '<cell value="' + [String]cost.EmployeeNumber() + '"/>' |
| | | columnXML3 := columnXML3 + '<cell value="' + cost.Unit().Name() + '"/>' |
| | | columnXML4 := columnXML4 + '<cell value="' + cost.StartDate().Format( "Y-M2-D2" ) + '"/>' |
| | | columnXML5 := columnXML5 + '<cell value="' + cost.TimeUnit() + '"/>' |
| | | columnXML6 := columnXML6 + '<cell value="' + cost.BaseSalary().Format( "N(Dec())" ) + '"/>' |
| | | } |
| | | columnXML1 := columnXML1 + "</column>"; |
| | | columnXML2 := columnXML2 + "</column>"; |
| | | columnXML3 := columnXML3 + "</column>"; |
| | | columnXML4 := columnXML4 + "</column>"; |
| | | columnXML5 := columnXML5 + "</column>"; |
| | | columnXML6 := columnXML6 + "</column>"; |
| | | |
| | | xmlTemplate := xmlTemplate + columnXML1 + columnXML2 + columnXML3 + columnXML4 + columnXML5 + columnXML6 + "</table>"; |
| | | tableGroupHandle := TableGroupHandle::Create( "tableGroupHandle" ); |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( xmlTemplate )); |
| | | tableGroupHandle.Add( tableHandle ); |
| | | binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | return binaryData.AsBinaryValue(); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Import ( |
| | | MacroPlan owner, |
| | | const GeneralExcelImportAndExportDataTable table |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jul-3-2024 (created) |
| | | units := construct( Units ); |
| | | unitIndexTree := NamedValueTree::Create(); |
| | | |
| | | employeeTypes := construct( EmployeeTypes ); |
| | | employeeTypeIndexTree := NamedValueTree::Create(); |
| | | |
| | | costs := selectset( owner,Unit.EmployeeCost,cost,true ); |
| | | traverse( costs,Elements,element ){ |
| | | element.Delete(); |
| | | } |
| | | |
| | | cnv2 := StringToDate::StandardConverter(); |
| | | cnv2.SetCustomConversion(); |
| | | cnv2.CustomFormatString( 'yyyy-MM-dd' );//2024-07-03 |
| | | |
| | | traverse( table,GeneralExcelImportAndExportDataRow,row ){ |
| | | employeeType := null( EmployeeType ); |
| | | employeeNumber := 0; |
| | | unit := null( Unit ); |
| | | startDate := Date::MinDate(); |
| | | timeUnit := ""; |
| | | baseSalary := 0.0; |
| | | traverse( row,GeneralExcelImportAndExportDataCell,cell ){ |
| | | if( cell.GeneralExcelImportAndExportDataColumn().Name() = "人åç±»å«" ){ |
| | | employeeTypeHandle := employeeTypeIndexTree.GetHandle( cell.Value() ); |
| | | index := guard( employeeTypeIndexTree.Root().Child( employeeTypeHandle ),null( NamedValue )); |
| | | if( not isnull( index )){ |
| | | employeeType := employeeTypes.Element( index.GetValueAsNumber() ); |
| | | }else{ |
| | | employeeType := select( owner,EmployeeType,type,type.Name() = cell.Value() ); |
| | | if( not isnull( employeeType )){ |
| | | employeeTypes.Add( employeeType ); |
| | | employeeTypeIndexTree.Root().AddChild( employeeTypeHandle,employeeTypes.Size() - 1 ); |
| | | } |
| | | } |
| | | } |
| | | if( cell.GeneralExcelImportAndExportDataColumn().Name() = "人æ°" ){ |
| | | employeeNumber := [Number]cell.Value(); |
| | | } |
| | | if( cell.GeneralExcelImportAndExportDataColumn().Name() = "产线" ){ |
| | | unitHandle := unitIndexTree.GetHandle( cell.Value() ); |
| | | index := guard( unitIndexTree.Root().Child( unitHandle ),null( NamedValue )); |
| | | if( not isnull( index )){ |
| | | unit := units.Element( index.GetValueAsNumber() ); |
| | | }else{ |
| | | unit := select( owner,Unit,temp_unit,temp_unit.ID() = cell.Value() ); |
| | | if( not isnull( unit )){ |
| | | units.Add( unit ); |
| | | unitIndexTree.Root().AddChild( unitHandle,units.Size() - 1 ); |
| | | } |
| | | } |
| | | } |
| | | if( cell.GeneralExcelImportAndExportDataColumn().Name() = "å¼å§æ¶é´" ){ |
| | | startDate := cnv2.Convert( cell.Value() ); |
| | | } |
| | | if( cell.GeneralExcelImportAndExportDataColumn().Name() = "æ¶é´åä½" ){ |
| | | timeUnit := cell.Value(); |
| | | } |
| | | if( cell.GeneralExcelImportAndExportDataColumn().Name() = "åºæ¬å·¥èµ" ){ |
| | | baseSalary := [Real]cell.Value(); |
| | | } |
| | | } |
| | | if( not isnull( unit )){ |
| | | unit.EmployeeCost( relnew,EmployeeType := employeeType,EmployeeNumber := employeeNumber,StartDate := startDate,TimeUnit := timeUnit,BaseSalary := baseSalary ); |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type EmployeeCost |
| | | { |
| | | #keys: '5[412672.1.2854608][412672.1.2854606][0.0.0][412672.1.2854607][412672.1.2854609]' |
| | | BaseType: Object |
| | | Description: 'EmployeeCost' |
| | | StructuredName: 'EmployeeCosts' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[412672.1.2854680][412672.1.2854679][412672.1.2854681]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type EmployeeType |
| | | { |
| | | #keys: '5[412672.1.2854676][412672.1.2854674][0.0.0][412672.1.2854675][412672.1.2854677]' |
| | | BaseType: Object |
| | | StructuredName: 'EmployeeTypes' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute SheetName |
| | | { |
| | | #keys: '3[412672.0.1121446115][412672.0.1121446114][412672.0.1121446116]' |
| | | ValueType: String |
| | | } |
| | |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-20-2024 (created) |
| | | xmlTemplate := '<?xml version="1.0" encoding="UTF-16"?><table><name>'+ this.Name() +'</name>'; |
| | | xmlTemplate := '<?xml version="1.0" encoding="UTF-16"?><table><name>'+ this.SheetName() +'</name>'; |
| | | |
| | | datas := selectsortedset( this,ExportXMLData,data,true,data.Priority() ); |
| | | |
| | |
| | | [* |
| | | // rislai Jun-21-2024 (created) |
| | | tableGroupHandle := TableGroupHandle::Create( "tableGroupHandle" ); |
| | | tableHandle := null( TableHandle ); |
| | | try{ |
| | | tableHandle := TableHandle::ImportXML( BinaryValue::Construct( this.FinalXML() ) ); |
| | | }onerror{ |
| | | this.Delete(); |
| | | error( e ); |
| | | } |
| | | tableGroupHandle.Add( tableHandle ); |
| | | binaryData := XLS::SaveTableGroupToBinaryData( tableGroupHandle, true ); |
| | | |
| | | return binaryData.AsBinaryValue(); |
| | | *] |
| | | } |
| | |
| | | #parent: #root |
| | | StaticMethod AwaitLocalTableXMLData ( |
| | | const Strings columnXMLData, |
| | | RecycleBin owner |
| | | RecycleBin owner, |
| | | String tableName |
| | | ) |
| | | { |
| | | TextBody: |
| | |
| | | // rislai Jun-21-2024 (created) |
| | | manager := select( owner,ExportXMLManager,manager,manager.Name() = "LocalTableXML" ); |
| | | if( isnull( manager )){ |
| | | manager := owner.ExportXMLManager( relnew,Name := "LocalTableXML" ); |
| | | manager := owner.ExportXMLManager( relnew,Name := "LocalTableXML",SheetName := tableName ); |
| | | }else{ |
| | | manager.ExportXMLData( relflush ); |
| | | } |
| | |
| | | // rislai Jun-20-2024 (created) |
| | | manager := select( owner,ExportXMLManager,manager,manager.Name() = "ShiftPlanXML" ); |
| | | if( isnull( manager )){ |
| | | manager := owner.ExportXMLManager( relnew,Name := "ShiftPlanXML" ); |
| | | manager := owner.ExportXMLManager( relnew,Name := "ShiftPlanXML",SheetName := "Shift plan" ); |
| | | }else{ |
| | | manager.ExportXMLData( relflush ); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute PlanValue |
| | | { |
| | | #keys: '3[415136.0.880970239][415136.0.880970238][415136.0.880970240]' |
| | | Description: '计åå¼' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcPlanValue |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-5-2024 (created) |
| | | |
| | | value := ifexpr( this.FinancialProductionColumn().FinancialProductionReport().FinancialProductionSource().MacroPlan().StartOfPlanning().StartOfMonth().Date() <= this.FinancialProductionColumn().Period(), [Real]this.Value(), 0 ); |
| | | |
| | | this.PlanValue( value ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return 'é¿æ¥'; |
| | | //return 'Assembly Plant (France)'; |
| | | *] |
| | | } |
| | |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return '大è¿'; |
| | | //return 'Assembly Plant (Spain)'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 |
| | | ) 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 ); |
| | | } |
| | | |
| | | 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 |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | traverse( table, FinancialSalesColumn, column ){ |
| | | 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() ); |
| | | 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() ); |
| | | // 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() ); |
| | | // 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() ); |
| | | ccrow.Initialize( column, pispip.DependentDemandAndSalesDemandQuantity() );//åTotal Demandåæ®µæææ±æ»éæ±æ°é |
| | | |
| | | allrow := table.GetRow( allsalessegment, product.ID() ); |
| | | 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() ); |
| | | dlrow.Initialize( column, pit.Quantity() );//åTotal Demandåæ®µæææ±æ»éæ±æ°é |
| | | |
| | | allrow := table.GetRow( allsalessegment, pit.ProductID() ); |
| | | 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 Value |
| | | { |
| | | #keys: '3[415136.0.880700281][415136.0.880700280][415136.0.880700282]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Value |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type FinancialWeeklyCell |
| | | { |
| | | #keys: '5[415136.0.880700278][415136.0.880700276][0.0.0][415136.0.880700277][415136.0.880700279]' |
| | | BaseType: Object |
| | | Description: 'è´¢å¡å¨æ¥æ¥è¡¨åå
æ ¼' |
| | | StructuredName: 'FinancialWeeklyCells' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Index |
| | | { |
| | | #keys: '3[415136.0.880700264][415136.0.880700263][415136.0.880700265]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.880700267][415136.0.880700266][415136.0.880700268]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Period |
| | | { |
| | | #keys: '3[415136.0.880700270][415136.0.880700269][415136.0.880700271]' |
| | | 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)1 |
| | | |
| | | value := ifexpr( isnull( this.PreviousColumn() ), 0, this.PreviousColumn().Index() + 1 ); |
| | | |
| | | this.Index( value ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type FinancialWeeklyColumn |
| | | { |
| | | #keys: '5[415136.0.880700261][415136.0.880700259][0.0.0][415136.0.880700260][415136.0.880700262]' |
| | | BaseType: Object |
| | | Description: 'è´¢å¡å¨æ¥å' |
| | | StructuredName: 'FinancialWeeklyColumns' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute ID |
| | | { |
| | | #keys: '3[415136.0.880700226][415136.0.880700225][415136.0.880700227]' |
| | | IsReadOnly: true |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute IsShow |
| | | { |
| | | #keys: '3[415136.0.880700229][415136.0.880700228][415136.0.880700230]' |
| | | ValueType: Boolean |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.880700232][415136.0.880700231][415136.0.880700233]' |
| | | 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 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.FinancialWeeklyColumn( relnew, Name := periodname, Period := periodtime ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Download ( |
| | | MacroPlan macroPlan |
| | | ) as BinaryValue |
| | | { |
| | | Description: 'ä¸è½½è´¢å¡æ¥è¡¨æ°æ®' |
| | | TextBody: |
| | | [* |
| | | |
| | | table := macroPlan.FinancialWeeklyReport(); |
| | | |
| | | xmlDOMI := XMLDOMImplementation::Create(); |
| | | xmlDOM := xmlDOMI.CreateDocumentFromString( '<?xml version="1.0" encoding="UTF-16"?><table><name>' + table.Name() + '</name></table>' ); |
| | | |
| | | tableElement := xmlDOM.GetElementByTagName( "table", 0 ); |
| | | //è¡å |
| | | rowcolumnelement := xmlDOM.CreateElement( "column" ); |
| | | rownameelement := xmlDOM.CreateElement( "name" ); |
| | | rowtypeelement := xmlDOM.CreateElement( "type" ); |
| | | rownameelement.TextContent( '' ); |
| | | rowtypeelement.TextContent( "String" ); |
| | | rowcolumnelement.AppendChild( rownameelement ); |
| | | rowcolumnelement.AppendChild( rowtypeelement ); |
| | | |
| | | tableElement.AppendChild( rowcolumnelement ); |
| | | traverse ( table, FinancialWeeklyColumn, 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, FinancialWeeklyCell, cell, cell.FinancialWeeklyRow().RowNr() ); |
| | | |
| | | traverse ( cells, Elements, c ) { |
| | | if( column.Index() = 0 ){ |
| | | row := c.FinancialWeeklyRow(); |
| | | //è¡å |
| | | rowcellElement := xmlDOM.CreateElement( "cell" ); |
| | | rowcellElement.SetAttribute( "value", row.Name() ); |
| | | rowcolumnelement.AppendChild( rowcellElement ); |
| | | } |
| | | 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( FinancialWeeklyReport::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 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 'Assembly Plant (France)'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultDLUnit () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return '大è¿'; |
| | | //return 'Assembly Plant (Spain)'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultName () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | return 'Financial weekly'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod Initialize ( |
| | | MacroPlan owner |
| | | ) |
| | | { |
| | | Description: 'åå§å' |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-4-2024 (created) |
| | | owner.FinancialWeeklyReport( relflush ); |
| | | ccunit := FinancialWeeklyReport::GetDefaultCCUnit(); |
| | | dlunit := FinancialWeeklyReport::GetDefaultDLUnit(); |
| | | allunit := FinancialWeeklyReport::GetDefaultAllUnit(); |
| | | defaultname := FinancialWeeklyReport::GetDefaultName(); |
| | | startofplanning := owner.StartOfPlanning(); |
| | | |
| | | table := owner.FinancialWeeklyReport( relnew, ID := defaultname, Name := defaultname ); |
| | | //äº§éæ¥è¡¨ |
| | | productiontable := selectobject( owner, FinancialProductionSource.FinancialProductionReport, report, not report.IsImport() and not report.IsShow() ); |
| | | //ééæ¥è¡¨ |
| | | salestable := selectobject( owner, FinancialSalesSource.FinancialSalesReport, report, not report.IsImport() and not report.IsShow() ); |
| | | |
| | | table.GenerateColumn( owner ); |
| | | totalproduction := table.FinancialWeeklyRow( relnew, Name := 'æ»äº§é', RowNr := 1 ); |
| | | dlproduction := table.FinancialWeeklyRow( relnew, Name := 'DL产é', RowNr := 2 ); |
| | | ccproduction := table.FinancialWeeklyRow( relnew, Name := 'CC产é', RowNr := 3 ); |
| | | totalsales := table.FinancialWeeklyRow( relnew, Name := 'æ»éé', RowNr := 4 ); |
| | | dlsales := table.FinancialWeeklyRow( relnew, Name := 'DLéé', RowNr := 5 ); |
| | | ccsales := table.FinancialWeeklyRow( relnew, Name := 'CCéé', RowNr := 6 ); |
| | | //SUM |
| | | totalpvaluesum := [Real]0; |
| | | dlpvaluesum := [Real]0; |
| | | ccpvaluesum := [Real]0; |
| | | totalsvaluesum := [Real]0; |
| | | dlsvaluesum := [Real]0; |
| | | ccsvaluesum := [Real]0; |
| | | //累计é |
| | | totalpvaluecumulant := [Real]0; |
| | | dlpvaluecumulant := [Real]0; |
| | | ccpvaluecumulant := [Real]0; |
| | | totalsvaluecumulant := [Real]0; |
| | | dlsvaluecumulant := [Real]0; |
| | | ccsvaluecumulant := [Real]0; |
| | | |
| | | traverse( table, FinancialWeeklyColumn, column ){ |
| | | productioncolumn := selectobject( productiontable, FinancialProductionColumn, pcolumn, pcolumn.Name() = column.Name() and pcolumn.Period() = column.Period() ); |
| | | salescolumn := selectobject( salestable, FinancialSalesColumn, scolumn, scolumn.Name() = column.Name() and scolumn.Period() = column.Period() ); |
| | | |
| | | //äº§éæ±æ» |
| | | totalpvalue := [Real]0; |
| | | dlpvalue := [Real]0; |
| | | ccpvalue := [Real]0; |
| | | traverse( productioncolumn, FinancialProductionCell, cell, [Real]cell.Value() > 0 ){ |
| | | unit := cell.FinancialProductionRow().Unit(); |
| | | |
| | | if( unit = allunit ){ |
| | | totalpvalue := totalpvalue + [Real]cell.Value(); |
| | | if( column.Period() = startofplanning.StartOfMonth().Date() ){ |
| | | totalpvaluecumulant := totalpvaluecumulant - cell.PlanValue(); |
| | | } |
| | | }else if( unit = dlunit ){ |
| | | dlpvalue := dlpvalue + [Real]cell.Value(); |
| | | if( column.Period() = startofplanning.StartOfMonth().Date() ){ |
| | | dlpvaluecumulant := dlpvaluecumulant - cell.PlanValue(); |
| | | } |
| | | }else if( unit = ccunit ){ |
| | | ccpvalue := ccpvalue + [Real]cell.Value(); |
| | | if( column.Period() = startofplanning.StartOfMonth().Date() ){ |
| | | ccpvaluecumulant := ccpvaluecumulant - cell.PlanValue(); |
| | | } |
| | | } |
| | | } |
| | | totalpcell := column.FinancialWeeklyCell( relnew, Value := [String]totalpvalue ); |
| | | totalproduction.FinancialWeeklyCell( relinsert, totalpcell ); |
| | | dlpcell := column.FinancialWeeklyCell( relnew, Value := [String]dlpvalue ); |
| | | dlproduction.FinancialWeeklyCell( relinsert, dlpcell ); |
| | | ccpcell := column.FinancialWeeklyCell( relnew, Value := [String]ccpvalue ); |
| | | ccproduction.FinancialWeeklyCell( relinsert, ccpcell ); |
| | | |
| | | //ééæ±æ» |
| | | totalsvalue := [Real]0; |
| | | dlsvalue := [Real]0; |
| | | ccsvalue := [Real]0; |
| | | traverse( salescolumn, FinancialSalesCell, cell, [Real]cell.Value() > 0 ){ |
| | | unit := cell.FinancialSalesRow().Unit(); |
| | | if( unit = allunit ){ |
| | | totalsvalue := totalsvalue + [Real]cell.Value(); |
| | | }else if( unit = dlunit ){ |
| | | dlsvalue := dlsvalue + [Real]cell.Value(); |
| | | }else if( unit = ccunit ){ |
| | | ccsvalue := ccsvalue + [Real]cell.Value(); |
| | | } |
| | | } |
| | | totalscell := column.FinancialWeeklyCell( relnew, Value := [String]totalsvalue ); |
| | | totalsales.FinancialWeeklyCell( relinsert, totalscell ); |
| | | dlscell := column.FinancialWeeklyCell( relnew, Value := [String]dlsvalue ); |
| | | dlsales.FinancialWeeklyCell( relinsert, dlscell ); |
| | | ccscell := column.FinancialWeeklyCell( relnew, Value := [String]ccsvalue ); |
| | | ccsales.FinancialWeeklyCell( relinsert, ccscell ); |
| | | |
| | | if( column.Period() < startofplanning.StartOfMonth().Date() ){ |
| | | totalpvaluecumulant := totalpvaluecumulant + totalpvalue; |
| | | dlpvaluecumulant := dlpvaluecumulant + dlpvalue; |
| | | ccpvaluecumulant := ccpvaluecumulant + ccpvalue; |
| | | totalsvaluecumulant := totalsvaluecumulant + totalsvalue; |
| | | dlsvaluecumulant := dlsvaluecumulant + dlsvalue; |
| | | ccsvaluecumulant := ccsvaluecumulant + ccsvalue; |
| | | } |
| | | totalpvaluesum := totalpvaluesum + totalpvalue; |
| | | dlpvaluesum := dlpvaluesum + dlpvalue; |
| | | ccpvaluesum := ccpvaluesum + ccpvalue; |
| | | totalsvaluesum := totalsvaluesum + totalsvalue; |
| | | dlsvaluesum := dlsvaluesum + dlsvalue; |
| | | ccsvaluesum := ccsvaluesum + ccsvalue; |
| | | } |
| | | sumcolumn := table.FinancialWeeklyColumn( relnew, Name := 'SUM' ); |
| | | cumulantcolumn := table.FinancialWeeklyColumn( relnew, Name := '累计é' ); |
| | | proportioncolumn := table.FinancialWeeklyColumn( relnew, Name := 'å æ¯' ); |
| | | //SUM |
| | | totalpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]totalpvaluesum ); |
| | | totalproduction.FinancialWeeklyCell( relinsert, totalpcellsum ); |
| | | dlpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]dlpvaluesum ); |
| | | dlproduction.FinancialWeeklyCell( relinsert, dlpcellsum ); |
| | | ccpcellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]ccpvaluesum ); |
| | | ccproduction.FinancialWeeklyCell( relinsert, ccpcellsum ); |
| | | totalscellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]totalsvaluesum ); |
| | | totalsales.FinancialWeeklyCell( relinsert, totalscellsum ); |
| | | dlscellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]dlsvaluesum ); |
| | | dlsales.FinancialWeeklyCell( relinsert, dlscellsum ); |
| | | ccscellsum := sumcolumn.FinancialWeeklyCell( relnew, Value := [String]ccsvaluesum ); |
| | | ccsales.FinancialWeeklyCell( relinsert, ccscellsum ); |
| | | //累计é |
| | | totalpcellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]totalpvaluecumulant ); |
| | | totalproduction.FinancialWeeklyCell( relinsert, totalpcellcumulant ); |
| | | dlpcellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]dlpvaluecumulant ); |
| | | dlproduction.FinancialWeeklyCell( relinsert, dlpcellcumulant ); |
| | | ccpcellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]ccpvaluecumulant ); |
| | | ccproduction.FinancialWeeklyCell( relinsert, ccpcellcumulant ); |
| | | totalscellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]totalsvaluecumulant ); |
| | | totalsales.FinancialWeeklyCell( relinsert, totalscellcumulant ); |
| | | dlscellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]dlsvaluecumulant ); |
| | | dlsales.FinancialWeeklyCell( relinsert, dlscellcumulant ); |
| | | ccscellcumulant := cumulantcolumn.FinancialWeeklyCell( relnew, Value := [String]ccsvaluecumulant ); |
| | | ccsales.FinancialWeeklyCell( relinsert, ccscellcumulant ); |
| | | //å æ¯ |
| | | totalpvalueproportion := guard( ( totalpvaluecumulant / totalpvaluesum ).Format( 'N(Dec(2))' ), '0.00' ); |
| | | totalpcellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := totalpvalueproportion ); |
| | | totalproduction.FinancialWeeklyCell( relinsert, totalpcellproportion ); |
| | | |
| | | dlpvalueproportion := guard( ( dlpvaluecumulant / dlpvaluesum ).Format( 'N(Dec(2))' ), '0.00' ); |
| | | dlpcellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := dlpvalueproportion ); |
| | | dlproduction.FinancialWeeklyCell( relinsert, dlpcellproportion ); |
| | | |
| | | ccpvalueproportion := guard( ( ccpvaluecumulant / ccpvaluesum ).Format( 'N(Dec(2))' ), '0.00' ); |
| | | ccpcellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := ccpvalueproportion ); |
| | | ccproduction.FinancialWeeklyCell( relinsert, ccpcellproportion ); |
| | | |
| | | totalsvalueproportion := guard( ( totalsvaluecumulant / totalsvaluesum ).Format( 'N(Dec(2))' ), '0.00' ); |
| | | totalscellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := totalsvalueproportion ); |
| | | totalsales.FinancialWeeklyCell( relinsert, totalscellproportion ); |
| | | |
| | | dlsvalueproportion := guard( ( dlsvaluecumulant / dlsvaluesum ).Format( 'N(Dec(2))' ), '0.00' ); |
| | | dlscellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := dlsvalueproportion ); |
| | | dlsales.FinancialWeeklyCell( relinsert, dlscellproportion ); |
| | | |
| | | ccsvalueproportion := guard( ( ccsvaluecumulant / ccsvaluesum ).Format( 'N(Dec(2))' ), '0.00' ); |
| | | ccscellproportion := proportioncolumn.FinancialWeeklyCell( relnew, Value := ccsvalueproportion ); |
| | | ccsales.FinancialWeeklyCell( relinsert, ccscellproportion ); |
| | | |
| | | info( sumcolumn.FinancialWeeklyCell( relsize ), cumulantcolumn.FinancialWeeklyCell( relsize ), proportioncolumn.FinancialWeeklyCell( relsize ) ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type FinancialWeeklyReport |
| | | { |
| | | #keys: '5[415136.0.880700223][415136.0.880700221][0.0.0][415136.0.880700222][415136.0.880700224]' |
| | | BaseType: Object |
| | | Description: 'è´¢å¡å¨æ¥æ¥è¡¨' |
| | | StructuredName: 'FinancialWeeklyReports' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[415136.0.880700246][415136.0.880700245][415136.0.880700247]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute RowNr |
| | | { |
| | | #keys: '3[415136.0.880700249][415136.0.880700248][415136.0.880700250]' |
| | | ValueType: Number |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | DefaultValue |
| | | { |
| | | TargetAttribute: Name |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type FinancialWeeklyRow |
| | | { |
| | | #keys: '5[415136.0.880700240][415136.0.880700238][0.0.0][415136.0.880700239][415136.0.880700241]' |
| | | BaseType: Object |
| | | Description: 'è´¢å¡å¨æ¥è¡' |
| | | StructuredName: 'FinancialWeeklyRows' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 |
| | | #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 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 |
| | | Attribute TimeUnit |
| | | { |
| | | #keys: '3[415136.0.865101993][415136.0.865101992][415136.0.865101994]' |
| | | Description: 'day;week;month' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 |
| | | #parent: #root |
| | | Method GenerateCell ( |
| | | InventoryPointSelections selections, |
| | | Strings ccstockingpointids, |
| | | Strings dlstockingpointids, |
| | | InventorySummaryReport table, |
| | | Date start, |
| | | Date end, |
| | | String productid, |
| | | String allunit, |
| | | String ccunit, |
| | | String dlunit |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jul-3-2024 (created) |
| | | //All |
| | | alldetails := selectset( selections, Elements.InventoryInterfaceDataDetail, detail, detail.PartNumber() = productid and detail.Date() >= start and detail.Date() <= end ); |
| | | if( alldetails.Size() > 0 ){ |
| | | allrow := table.GetRow( allunit, productid ); |
| | | allvalue := sum( alldetails, Elements, e, e.Quantity() ); |
| | | allrow.SetCellValue( this, allvalue ); |
| | | //é¿æ¥ |
| | | ccdetails := selectset( alldetails, Elements, detail, ccstockingpointids.Find( detail.InventoryPointSelection().StockpoingPoint() ) >= 0 ); |
| | | if( ccdetails.Size() > 0 ){ |
| | | ccrow := table.GetRow( ccunit, productid ); |
| | | value := sum( ccdetails, Elements, e, e.Quantity() ); |
| | | ccrow.SetCellValue( this, value ); |
| | | } |
| | | //å¤§è¿ |
| | | dldetails := selectset( alldetails, Elements, detail, dlstockingpointids.Find( detail.InventoryPointSelection().StockpoingPoint() ) >= 0 ); |
| | | if( dldetails.Size() > 0 ){ |
| | | dlrow := table.GetRow( dlunit, productid ); |
| | | value := sum( dldetails, Elements, e, e.Quantity() ); |
| | | dlrow.SetCellValue( this, 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 ( |
| | | String timeunit, |
| | | DateTime starttime, |
| | | DateTime endtime |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | this.InventorySummaryColumn( relflush ); |
| | | this.InventroySummaryRow( relflush ); |
| | | |
| | | this.GenerateColumn( this.InventorySummarySource().MacroPlan(), timeunit, starttime, endtime ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Generate ( |
| | | InventorySummarySearch search, |
| | | Product_MPs products |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | startofplanning := search.InventorySummarySource().MacroPlan().StartOfPlanning(); |
| | | startofyear := startofplanning.StartOfYear(); |
| | | startofendyear := startofplanning.StartOfNextYear() - Duration::Days( 1 ); |
| | | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å
|
| | | if( search.StartDate().DateTime() < startofendyear and search.EndDate().DateTime() > startofyear ){ |
| | | table := selectobject( this, InventorySummarySource.InventorySummaryReport, report, not report.IsShow() ); |
| | | allunit := '<All>'; |
| | | //æ¸
空ä¹ååå¨çæ¾ç¤ºæ°æ® |
| | | this.Clear( search.Category(), search.StartDate().DateTime(), search.EndDate().DateTime() ); |
| | | //è¿æ»¤åç产å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 ) ); |
| | | sumrow.InitializeCell( this ); |
| | | 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, cell.InventorySummaryColumn().TimeUnit() = search.Category() ){ |
| | | column := selectobject( this, InventorySummaryColumn, column, column.Name() = cell.InventorySummaryColumn().Name() ); |
| | | |
| | | sumcell := selectobject( column, InventorySummaryCell, c, c.InventroySummaryRow() = sumrow ); |
| | | |
| | | showcell := column.InventorySummaryCell( relnew, EndingInventory := cell.EndingInventory(), MinimumInventory := cell.MinimumInventory(), MaximumInventory := cell.MaximumInventory(), AverageInventory := cell.AverageInventory() ); |
| | | showrow.InventorySummaryCell( relinsert, showcell ); |
| | | sumcell.EndingInventory( sumcell.EndingInventory() + cell.EndingInventory() ); |
| | | sumcell.MinimumInventory( sumcell.MinimumInventory() + cell.MinimumInventory() ); |
| | | sumcell.MaximumInventory( sumcell.MaximumInventory() + cell.MaximumInventory() ); |
| | | sumcell.AverageInventory( sumcell.AverageInventory() + cell.AverageInventory() ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GenerateColumn ( |
| | | MacroPlan owner, |
| | | String timeunit, |
| | | DateTime starttime, |
| | | DateTime endtime |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-25-2024 (created) |
| | | startofplanning := owner.StartOfPlanning(); |
| | | startofyear := startofplanning.StartOfYear(); |
| | | startofendyear := startofplanning.StartOfNextYear() - Duration::Days( 1 ); |
| | | //æ¥è¯¢æ¥æè¿åéè¦å¨è®¡åæ¥æä¹å
|
| | | if( starttime < startofendyear and endtime > startofyear ){ |
| | | if( starttime < startofyear ){ |
| | | starttime := startofyear; |
| | | } |
| | | if( endtime > startofendyear ){ |
| | | endtime := startofendyear; |
| | | } |
| | | for( start := starttime; start <= endtime; start := start.StartOfNextDay() ){ |
| | | periodtime := start.Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Day() ){ |
| | | this.InventorySummaryColumn( relnew, Name := periodname, Period := periodtime, TimeUnit := Translations::MP_GlobalParameters_Day() ); |
| | | } |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Week() ){ |
| | | weekend := ( start.StartOfNextWeek() - Duration::Days( 1 ) ).Date(); |
| | | |
| | | if( periodtime = weekend ){ |
| | | this.InventorySummaryColumn( relnew, Name := periodname, Period := periodtime, TimeUnit := Translations::MP_GlobalParameters_Week() ); |
| | | } |
| | | } |
| | | if( timeunit = 'All' or timeunit = Translations::MP_GlobalParameters_Month() ){ |
| | | monthend := ( start.StartOfNextMonth() - Duration::Days( 1 ) ).Date(); |
| | | |
| | | if( periodtime = monthend ){ |
| | | this.InventorySummaryColumn( relnew, Name := periodname, Period := periodtime, TimeUnit := Translations::MP_GlobalParameters_Month() ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method GetRow ( |
| | | String unit, |
| | | String product |
| | | ) 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 ); |
| | | } |
| | | |
| | | 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 'Assembly Plant (France)'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetDefaultDLUnit () const as String |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | return '大è¿'; |
| | | //return 'Assembly Plant (Spain)'; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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, InventorySummarySource.InventorySummaryReport, table, 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 ); |
| | | //Attribute |
| | | attricolumnelement := xmlDOM.CreateElement( "column" ); |
| | | attrinameelement := xmlDOM.CreateElement( "name" ); |
| | | attritypeelement := xmlDOM.CreateElement( "type" ); |
| | | attrinameelement.TextContent( 'Attribute' ); |
| | | attritypeelement.TextContent( "String" ); |
| | | attricolumnelement.AppendChild( attrinameelement ); |
| | | attricolumnelement.AppendChild( attritypeelement ); |
| | | |
| | | tableElement.AppendChild( productcolumnelement ); |
| | | tableElement.AppendChild( unitcolumnelement ); |
| | | tableElement.AppendChild( attricolumnelement ); |
| | | traverse ( table, InventorySummaryColumn, 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, InventorySummaryCell, cell, cell.InventroySummaryRow().RowNr() ); |
| | | |
| | | traverse ( cells, Elements, c ) { |
| | | if( column.Index() = 0 ){ |
| | | row := c.InventroySummaryRow(); |
| | | //Product |
| | | productcellElement1 := xmlDOM.CreateElement( "cell" ); |
| | | productcellElement1.SetAttribute( "value", row.Name() ); |
| | | productcolumnelement.AppendChild( productcellElement1 ); |
| | | productcellElement2 := xmlDOM.CreateElement( "cell" ); |
| | | productcellElement2.SetAttribute( "value", row.Name() ); |
| | | productcolumnelement.AppendChild( productcellElement2 ); |
| | | productcellElement3 := xmlDOM.CreateElement( "cell" ); |
| | | productcellElement3.SetAttribute( "value", row.Name() ); |
| | | productcolumnelement.AppendChild( productcellElement3 ); |
| | | productcellElement4 := xmlDOM.CreateElement( "cell" ); |
| | | productcellElement4.SetAttribute( "value", row.Name() ); |
| | | productcolumnelement.AppendChild( productcellElement4 ); |
| | | //Unit |
| | | unitcellElement1 := xmlDOM.CreateElement( "cell" ); |
| | | unitcellElement1.SetAttribute( "value", row.Unit() ); |
| | | unitcolumnelement.AppendChild( unitcellElement1 ); |
| | | unitcellElement2 := xmlDOM.CreateElement( "cell" ); |
| | | unitcellElement2.SetAttribute( "value", row.Unit() ); |
| | | unitcolumnelement.AppendChild( unitcellElement2 ); |
| | | unitcellElement3 := xmlDOM.CreateElement( "cell" ); |
| | | unitcellElement3.SetAttribute( "value", row.Unit() ); |
| | | unitcolumnelement.AppendChild( unitcellElement3 ); |
| | | unitcellElement4 := xmlDOM.CreateElement( "cell" ); |
| | | unitcellElement4.SetAttribute( "value", row.Unit() ); |
| | | unitcolumnelement.AppendChild( unitcellElement4 ); |
| | | //Attribute |
| | | //ææ«åºå |
| | | endcellElement := xmlDOM.CreateElement( "cell" ); |
| | | endcellElement.SetAttribute( "value", 'EndingInventory' ); |
| | | attricolumnelement.AppendChild( endcellElement ); |
| | | //æå°åºå |
| | | mincellElement := xmlDOM.CreateElement( "cell" ); |
| | | mincellElement.SetAttribute( "value", 'MinimumInventory' ); |
| | | attricolumnelement.AppendChild( mincellElement ); |
| | | //æå¤§åºå |
| | | maxcellElement := xmlDOM.CreateElement( "cell" ); |
| | | maxcellElement.SetAttribute( "value", 'MaximumInventory' ); |
| | | attricolumnelement.AppendChild( maxcellElement ); |
| | | //å¹³ååºå |
| | | avecellElement := xmlDOM.CreateElement( "cell" ); |
| | | avecellElement.SetAttribute( "value", 'AverageInventory' ); |
| | | attricolumnelement.AppendChild( avecellElement ); |
| | | } |
| | | //ææ«åºå |
| | | endcellElement := xmlDOM.CreateElement( "cell" ); |
| | | endcellElement.SetAttribute( "value", [String]c.EndingInventory() ); |
| | | columnelement.AppendChild( endcellElement ); |
| | | //æå°åºå |
| | | mincellElement := xmlDOM.CreateElement( "cell" ); |
| | | mincellElement.SetAttribute( "value", [String]c.MinimumInventory() ); |
| | | columnelement.AppendChild( mincellElement ); |
| | | //æå¤§åºå |
| | | maxcellElement := xmlDOM.CreateElement( "cell" ); |
| | | maxcellElement.SetAttribute( "value", [String]c.MaximumInventory() ); |
| | | columnelement.AppendChild( maxcellElement ); |
| | | //å¹³ååºå |
| | | avecellElement := xmlDOM.CreateElement( "cell" ); |
| | | avecellElement.SetAttribute( "value", [String]c.AverageInventory() ); |
| | | columnelement.AppendChild( avecellElement ); |
| | | } |
| | | tableElement.AppendChild( columnelement ); |
| | | } |
| | | |
| | | xmlString := xmlDOMI.CreateSerializer().WriteToString( xmlDOM ); |
| | | |
| | | //info( xmlString ); |
| | | |
| | | tableGroupHandle := TableGroupHandle::Create( InventorySummaryReport::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, |
| | | InterfaceDataset interface |
| | | ) |
| | | { |
| | | 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, 'All', startofyear, startofnextyear ); |
| | | //info( '-----------------------------------', table.InventorySummaryColumn( relsize ) ); |
| | | //åºåæ°é为Actual inventorieséé¢çç¹Planned inventoriesåæ®µåºåéå æ» |
| | | 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(); |
| | | // info( '-----------------------------------', unit, product.ID() ); |
| | | weekpispips := construct( ProductInStockingPointInPeriods ); |
| | | monthpispips := construct( ProductInStockingPointInPeriods ); |
| | | nextweek := startofplanning.StartOfNextWeek(); |
| | | nextmonth := startofplanning.StartOfNextMonth(); |
| | | |
| | | unitrow := table.GetRow( unit, product.ID() ); |
| | | allrow := table.GetRow( allunit, product.ID() ); |
| | | pispips := selectsortedset( pisp, ProductInStockingPointInPeriod, pispip, pispip.Start() >= startofplanning and pispip.Start() < startofnextyear and pispip.Period_MP().TimeUnit() = Translations::MP_GlobalParameters_Day(), pispip.Start() ); |
| | | // info( '-----------------------------------', isnull( allrow ), pispips.Size() ); |
| | | traverse( pispips, Elements, pispip, pispip.Start() = startofplanning ){ |
| | | // info( '-----------------------------------', pispip.Start() ); |
| | | period := pispip.Period_MP(); |
| | | periodtime := period.Start().Date(); |
| | | periodname := periodtime.Format( "M2/D2/Y" ); |
| | | //天ï¼éæ©æ¥é¢ç²åº¦æ¶ï¼ææ«åºåï¼æå°åºåï¼æå¤§åºååå¹³ååºåçæ°å¼ä¿æä¸è´ |
| | | daycolumn := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname, column.Period() = periodtime, column.TimeUnit() = Translations::MP_GlobalParameters_Day() ); |
| | | info( daycolumn.Name(), daycolumn.Period(), daycolumn.TimeUnit() ); |
| | | unitrow.SetCellValue( daycolumn, pispip.PlannedInventoryLevelEnd() ); |
| | | allrow.SetCellValue( daycolumn, pispip.PlannedInventoryLevelEnd() ); |
| | | |
| | | //å¨ï¼éæ©å¨æ¶ï¼ææ«åºå为æ¯ä¸å¨æåä¸å¤©çæ±æ»åºåä¿¡æ¯ï¼æå°åºå为è¿ä¸å¨åºåéæå°çä¸å¤©çæ°å¼ï¼æå¤§åºå为è¿ä¸å¨åºåéæå¤§çä¸å¤©çæ°å¼ï¼å¹³ååºå为该å¨çå¹³åå¼ |
| | | if( period.Start() < nextweek ){ |
| | | weekpispips.Add( pispip ); |
| | | |
| | | weekend := nextweek - Duration::Days( 1 ); |
| | | if( period.Start() = weekend ){ |
| | | weekcolumn := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname, column.Period() = periodtime, column.TimeUnit() = Translations::MP_GlobalParameters_Week() ); |
| | | |
| | | maxinventory := max( weekpispips, Elements, e, e.PlannedInventoryLevelEnd() ); |
| | | mininventory := min( weekpispips, Elements, e, e.PlannedInventoryLevelEnd() ); |
| | | aveinventory := average( weekpispips, Elements, e, e.PlannedInventoryLevelEnd() ); |
| | | unitrow.SetCellValue( weekcolumn, pispip.PlannedInventoryLevelEnd(), mininventory, maxinventory, aveinventory ); |
| | | allrow.SetCellValue( weekcolumn, pispip.PlannedInventoryLevelEnd(), mininventory, maxinventory, aveinventory ); |
| | | } |
| | | }else{ |
| | | weekpispips.Flush(); |
| | | weekpispips.Add( pispip ); |
| | | nextweek := nextweek.StartOfNextWeek(); |
| | | } |
| | | |
| | | //æï¼éæ©ææ¶ï¼ææ«åºå为æ¯ä¸ææåä¸å¤©çæ±æ»åºåä¿¡æ¯ï¼æå°åºå为è¿ä¸ä¸ªæåºåéæå°çä¸å¤©çæ°å¼ï¼æå¤§åºå为è¿ä¸ä¸ªæåºåéæå¤§çä¸å¤©çæ°å¼ï¼å¹³ååºå为该æçå¹³åå¼ |
| | | if( period.Start() < nextmonth ){ |
| | | monthpispips.Add( pispip ); |
| | | |
| | | monthend := nextmonth - Duration::Days( 1 ); |
| | | if( period.Start() = monthend ){ |
| | | monthcolumn := selectobject( table, InventorySummaryColumn, column, column.Name() = periodname, column.Period() = periodtime, column.TimeUnit() = Translations::MP_GlobalParameters_Month() ); |
| | | |
| | | maxinventory := max( monthpispips, Elements, e, e.PlannedInventoryLevelEnd() ); |
| | | mininventory := min( monthpispips, Elements, e, e.PlannedInventoryLevelEnd() ); |
| | | aveinventory := average( monthpispips, Elements, e, e.PlannedInventoryLevelEnd() ); |
| | | unitrow.SetCellValue( monthcolumn, pispip.PlannedInventoryLevelEnd(), mininventory, maxinventory, aveinventory ); |
| | | allrow.SetCellValue( monthcolumn, pispip.PlannedInventoryLevelEnd(), mininventory, maxinventory, aveinventory ); |
| | | } |
| | | }else{ |
| | | monthpispips.Flush(); |
| | | monthpispips.Add( pispip ); |
| | | nextmonth := nextmonth.StartOfNextMonth(); |
| | | } |
| | | } |
| | | } |
| | | //é¦å
å¨Entitieséè¯å«ç¶çº§Unitä¸ºé¿æ¥/大è¿çææåºåç¹ |
| | | //é¿æ¥åºåç¹ |
| | | ccsps := construct( Strings ); |
| | | //大è¿åºåç¹ |
| | | dlsps := construct( Strings ); |
| | | allsps := construct( Strings ); |
| | | traverse( owner, Unit, unit, unit.ID() = ccunit or unit.ID() = dlunit ){ |
| | | if( unit.ID() = ccunit ){ |
| | | ccsps := selectuniquevalues( unit, StockingPoint_MP, sp, sp.ID() ); |
| | | } |
| | | if( unit.ID() = dlunit ){ |
| | | dlsps := selectuniquevalues( unit, StockingPoint_MP, sp, sp.ID() ); |
| | | } |
| | | allsps := allsps.Union( selectuniquevalues( unit, StockingPoint_MP, sp, sp.ID() ) ); |
| | | } |
| | | //åå¨åºåæ´æ°çåçé¢åºåç¹éæ©ä¸æ¾å°è¿äºåºåç¹æå
³èçå·²å¾éåºä½ |
| | | selections := selectset( interface, InventoryPointSelection, selection, allsps.Find( selection.StockpoingPoint() ) >= 0 and selection.IsIncluded() ); |
| | | productids := selectuniquevalues( selections, Elements, selection, selection.ProductID() ); |
| | | //æåå°è¿äºåºä½ä¸é¶ä»¶å·çæ°éè¿è¡å æ» |
| | | traverse( table, InventorySummaryColumn, column, column.Period() < startofplanning.Date() ){ |
| | | traverse( productids, Elements, productid ){ |
| | | if( column.TimeUnit() = Translations::MP_GlobalParameters_Day() ){//天 |
| | | column.GenerateCell( selections, ccsps, dlsps, table, column.Period(), column.Period(), productid, allunit, ccunit, dlunit ); |
| | | }else if( column.TimeUnit() = Translations::MP_GlobalParameters_Week() ){//å¨ |
| | | column.GenerateCell( selections, ccsps, dlsps, table, column.Period().StartOfWeek(), column.Period(), productid, allunit, ccunit, dlunit ); |
| | | }else if( column.TimeUnit() = Translations::MP_GlobalParameters_Month() ){//æ |
| | | column.GenerateCell( selections, ccsps, dlsps, table, column.Period().StartOfMonth(), column.Period(), productid, allunit, ccunit, dlunit ); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | 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, |
| | | String unit |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := column.InventorySummaryCell( relnew, AverageInventory := 0, EndingInventory := 0, MaximumInventory := 0, MinimumInventory := 0 ); |
| | | |
| | | this.InventorySummaryCell( relinsert, cell ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method InitializeCell ( |
| | | InventorySummaryReport table |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-28-2024 (created) |
| | | traverse( table, InventorySummaryColumn, column ){ |
| | | this.Initialize( column, this.Unit() ); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method SetCellValue ( |
| | | InventorySummaryColumn column, |
| | | Real quantity |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := selectobject( this, InventorySummaryCell, cell, cell.InventorySummaryColumn() = column ); |
| | | |
| | | cell.AverageInventory( cell.AverageInventory() + quantity ); |
| | | cell.EndingInventory( cell.EndingInventory() + quantity ); |
| | | cell.MaximumInventory( cell.MaximumInventory() + quantity ); |
| | | cell.MinimumInventory( cell.MinimumInventory() + quantity ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method SetCellValue ( |
| | | InventorySummaryColumn column, |
| | | Real endinginventory, |
| | | Real minimuminventory, |
| | | Real maximuminventory, |
| | | Real averageinventory |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // çå
°é¸½ Jun-24-2024 (created) |
| | | cell := selectobject( this, InventorySummaryCell, cell, cell.InventorySummaryColumn() = column ); |
| | | |
| | | cell.AverageInventory( cell.AverageInventory() + averageinventory ); |
| | | cell.EndingInventory( cell.EndingInventory() + endinginventory ); |
| | | cell.MaximumInventory( cell.MaximumInventory() + maximuminventory ); |
| | | cell.MinimumInventory( cell.MinimumInventory() + minimuminventory ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 RealValue |
| | | { |
| | | #keys: '3[412672.1.5620867][412672.1.5620866][412672.1.5620868]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod GetCell ( |
| | | String cellKey, |
| | | NamedValueTree cellIndexTree, |
| | | LocalCell_Defaults cells, |
| | | LocalRow row, |
| | | LocalColumn column |
| | | ) as LocalCell_Default |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jul-8-2024 (created) |
| | | cellHandle := cellIndexTree.GetHandle( cellKey ); |
| | | cellIndex := guard( cellIndexTree.Root().Child( cellHandle ),null( NamedValue )); |
| | | cell := null( LocalCell_Default ); |
| | | if( isnull( cell )){ |
| | | cell := row.LocalCell( relnew,LocalCell_Default,LocalColumn := column ); |
| | | cells.Add( cell ); |
| | | cellIndexTree.Root().AddChild( cellHandle,cells.Size() - 1 ); |
| | | }else{ |
| | | cell := cells.Element( cellIndex.GetValueAsNumber() ); |
| | | } |
| | | return cell; |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | StaticMethod NewStaticMethod ( |
| | | const constcontent ShiftPlans shiftPlans, |
| | | RecycleBin owner |
| | | ) |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jul-4-2024 (created) |
| | | table := owner.LocalTable( relnew,Name := ""); |
| | | |
| | | column1 := table.LocalColumn( relnew,Name := "å·¥å" ); |
| | | column2 := table.LocalColumn( relnew,Name := "产线" ); |
| | | |
| | | column3 := table.LocalColumn( relnew,Name := "ç产天æ°" ); |
| | | column4 := table.LocalColumn( relnew,Name := "å çæ¶é¿" ); |
| | | column5 := table.LocalColumn( relnew,Name := "æ¬ å·¥æ¶é¿" ); |
| | | column6 := table.LocalColumn( relnew,Name := "è忥å çæ¶é¿" ); |
| | | column7 := table.LocalColumn( relnew,Name := "å çè´¹" ); |
| | | column8 := table.LocalColumn( relnew,Name := "æ¬ å·¥è´¹" ); |
| | | column9 := table.LocalColumn( relnew,Name := "è忥å çè´¹" ); |
| | | |
| | | unitIDs := selectuniquevalues( shiftPlans,Elements.UnitPeriodTime.Unit,unit,unit.ID() ); |
| | | |
| | | rows := construct( LocalRows ); |
| | | rowIndexTree := NamedValueTree::Create(); |
| | | |
| | | cells := construct( LocalCell_Defaults ); |
| | | cellIndexTree := NamedValueTree::Create(); |
| | | |
| | | traverse( unitIDs,Elements,element ){ |
| | | row := table.LocalRow( relnew,Index := table.GetRowIndexCache() ); |
| | | rowHandle := rowIndexTree.GetHandle( element ); |
| | | rows.Add( row ); |
| | | rowIndexTree.Root().AddChild( rowHandle,rows.Size() - 1 ); |
| | | } |
| | | |
| | | traverse( shiftPlans,Elements,shiftPlan ){ |
| | | rowKey := shiftPlan.UnitPeriodTime().Unit().ID(); |
| | | row := rows.Element( rowIndexTree.Root().Child( rowIndexTree.GetHandle( rowKey )).GetValueAsNumber() ); |
| | | |
| | | gongchangCell := LocalCell_Default::GetCell( rowKey + "å·¥å", cellIndexTree, cells, row, column1 ); |
| | | chanxianxCell := LocalCell_Default::GetCell( rowKey + "产线", cellIndexTree, cells, row, column2 ); |
| | | |
| | | shengchanCell := LocalCell_Default::GetCell( rowKey + "ç产天æ°", cellIndexTree, cells, row, column3 ); |
| | | jiabanCell := LocalCell_Default::GetCell( rowKey + "å çæ¶é¿", cellIndexTree, cells, row, column4 ); |
| | | qiangongCell := LocalCell_Default::GetCell( rowKey + "æ¬ å·¥æ¶é¿", cellIndexTree, cells, row, column5 ); |
| | | jiejiariCell := LocalCell_Default::GetCell( rowKey + "è忥å çæ¶é¿", cellIndexTree, cells, row, column6 ); |
| | | |
| | | jiabanfeiCell := LocalCell_Default::GetCell( rowKey + "å çè´¹", cellIndexTree, cells, row, column7 ); |
| | | qiangongfeiCell := LocalCell_Default::GetCell( rowKey + "æ¬ å·¥è´¹", cellIndexTree, cells, row, column8 ); |
| | | jiejiarifeiCell := LocalCell_Default::GetCell( rowKey + "è忥å çè´¹", cellIndexTree, cells, row, column9 ); |
| | | |
| | | if( shiftPlan.Outcome() <> "" ){ |
| | | |
| | | }else{ |
| | | |
| | | } |
| | | |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | TypeSpecialization LocalCell_Default |
| | | { |
| | | #keys: '2[412672.1.5620864][412672.1.5620859]' |
| | | Parent: LocalCell |
| | | StructuredName: 'LocalCell_Defaults' |
| | | } |
| | |
| | | StaticMethod AsyncExport ( |
| | | RecycleBin recycleBin, |
| | | const constcontent LocalRows rows, |
| | | const constcontent LocalColumns columns |
| | | const constcontent LocalColumns columns, |
| | | const MacroPlan macroPlan |
| | | ) |
| | | { |
| | | TextBody: |
| | |
| | | flag := true; |
| | | traverse( sortColumns,Elements,sortColumn ){ |
| | | if( flag ){ |
| | | attributeXML := rows -> LocalCell_DemandComparison::GetColumnXML( sortColumn,attributeNames,"attribute" ); |
| | | attributeXML := rows -> LocalCell_DemandComparison::GetColumnXML( sortColumn,attributeNames,"attribute",macroPlan ); |
| | | columnstring := columnstring.Merge( attributeXML ) |
| | | flag := false; |
| | | } |
| | | |
| | | cellxml := rows -> LocalCell_DemandComparison::GetColumnXML( sortColumn,attributeNames ,"data"); |
| | | cellxml := rows -> LocalCell_DemandComparison::GetColumnXML( sortColumn,attributeNames ,"data",macroPlan ); |
| | | columnstring := columnstring.Merge( cellxml); |
| | | } |
| | | |
| | | columnstring -> GroupAll() -> ExportXMLManager::AwaitLocalTableXMLData( recycleBin ); |
| | | columnstring -> GroupAll() -> ExportXMLManager::AwaitLocalTableXMLData( recycleBin,guard( rows.Element(0).LocalTable().Name(),"Sheet1") ); |
| | | *] |
| | | } |
| | |
| | | StaticMethod Compared ( |
| | | RecycleBin recycleBin, |
| | | String baseVersionPath, |
| | | String compareVersionPath |
| | | String compareVersionPath, |
| | | String baseVersionName, |
| | | String compareVersionName |
| | | ) as LocalTable |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-20-2024 (created) |
| | | localTable := recycleBin.LocalTable( relnew,Name := baseVersionPath + "__" + compareVersionPath); |
| | | localTable := recycleBin.LocalTable( relnew,Name := baseVersionName + "__" + compareVersionName ); |
| | | |
| | | baseVersionFile := OSFile::Construct(); |
| | | compareVersionFile := OSFile::Construct(); |
| | |
| | | // rislai Jun-21-2024 (created) |
| | | attributeNames := construct( Strings ); |
| | | |
| | | attributeNames.Add( "BaseVersionValue" ); |
| | | attributeNames.Add( "CompareVersionValue" ); |
| | | attributeNames.Add( "BaseVersion" ); |
| | | attributeNames.Add( "CompareVersion" ); |
| | | attributeNames.Add( "Gap" ); |
| | |
| | | const constcontent LocalRows rows, |
| | | const LocalColumn column, |
| | | const Strings attributeNames, |
| | | String type |
| | | String type, |
| | | const MacroPlan macroPlan |
| | | ) const as String |
| | | { |
| | | TextBody: |
| | |
| | | columnXML := columnXML + "</column>"; |
| | | } |
| | | if( type = "attribute" ){ |
| | | columnXML0_1 := "<column><name>Sales Segment</name><type>String</type>"; |
| | | columnXML0_2 := "<column><name>Generation</name><type>String</type>"; |
| | | columnXML0_3 := "<column><name>MQB/MLB</name><type>String</type>"; |
| | | columnXML0_4 := "<column><name>åç</name><type>String</type>"; |
| | | |
| | | columnXML1 := "<column><name>Product ID</name><type>String</type>"; |
| | | columnXML2 := "<column><name>Attribute</name><type>String</type>"; |
| | | |
| | |
| | | if( flag ){ |
| | | cellXML := '<cell value="' + cell.LocalRow().Name() + '"/>' |
| | | columnXML1 := columnXML1 + cellXML; |
| | | |
| | | salesSegment := select( cell.LocalRow().LocalTable(),LocalColumn.LocalCell.astype( LocalCell_DemandComparison ),temp_cell,temp_cell.LocalRow() = cell.LocalRow() and temp_cell.LocalColumn().Name() = "产å°"); |
| | | if( not isnull( salesSegment )){ |
| | | cellXML0_1 := '<cell value="' + ifexpr( salesSegment.BaseVersionValue() <> "空",salesSegment.BaseVersionValue(),salesSegment.CompareVersionValue()) + '"/>'; |
| | | columnXML0_1 := columnXML0_1 + cellXML0_1; |
| | | }else{ |
| | | cellXML0_1 := '<cell value=" "/>' |
| | | columnXML0_1 := columnXML0_1 + cellXML0_1; |
| | | } |
| | | |
| | | product := select( macroPlan,Product_MP,product,product.ID() = cell.LocalRow().Name() ); |
| | | if( not isnull( product )){ |
| | | cellXML0_2 := '<cell value="' + product.Generation() + '"/>'; |
| | | cellXML0_3 := '<cell value="' + product.MQBMLB() + '"/>'; |
| | | cellXML0_4 := '<cell value="' + product.Power() + '"/>'; |
| | | columnXML0_2 := columnXML0_2 + cellXML0_2; |
| | | columnXML0_3 := columnXML0_3 + cellXML0_3; |
| | | columnXML0_4 := columnXML0_4 + cellXML0_4; |
| | | }else{ |
| | | cellXML0_2 := '<cell value=" "/>'; |
| | | cellXML0_3 := '<cell value=" "/>'; |
| | | cellXML0_4 := '<cell value=" "/>'; |
| | | columnXML0_2 := columnXML0_2 + cellXML0_2; |
| | | columnXML0_3 := columnXML0_3 + cellXML0_3; |
| | | columnXML0_4 := columnXML0_4 + cellXML0_4; |
| | | } |
| | | |
| | | flag := false; |
| | | }else{ |
| | | cellXML := '<cell value=" "/>' |
| | | columnXML1 := columnXML1 + cellXML; |
| | | cellXML0_1 := '<cell value=" "/>' |
| | | cellXML0_2 := '<cell value=" "/>'; |
| | | cellXML0_3 := '<cell value=" "/>'; |
| | | cellXML0_4 := '<cell value=" "/>'; |
| | | columnXML0_1 := columnXML0_1 + cellXML0_1; |
| | | columnXML0_2 := columnXML0_2 + cellXML0_2; |
| | | columnXML0_3 := columnXML0_3 + cellXML0_3; |
| | | columnXML0_4 := columnXML0_4 + cellXML0_4; |
| | | } |
| | | cellXML := '<cell value="' + e + '"/>' |
| | | columnXML2 := columnXML2 + cellXML; |
| | | } |
| | | } |
| | | columnXML := columnXML1 + "</column>" + columnXML2 + "</column>"; |
| | | columnXML := columnXML0_1 + "</column>" + columnXML0_2 + "</column>" + columnXML0_3 + "</column>" + columnXML0_4 + "</column>" + columnXML1 + "</column>" + columnXML2 + "</column>"; |
| | | } |
| | | |
| | | return columnXML; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Date |
| | | { |
| | | #keys: '3[412672.0.1120948156][412672.0.1120948155][412672.0.1120948157]' |
| | | ValueType: Date |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Function CalcDate |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-28-2024 (created) |
| | | if( not this.IsAttrbuteColumn() ){ |
| | | names := this.Name().Tokenize( "/" ); |
| | | this.Date( guard( Date::Construct( [Number]names.Element( 0 ),[Number]names.Element( 1 ),[Number]names.Element( 2 )),Date::MinDate() )); |
| | | } |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute StandardWorkingDay |
| | | { |
| | | #keys: '3[412672.1.2880078][412672.1.2880077][412672.1.2880079]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Multiplier |
| | | { |
| | | #keys: '3[412672.1.2880116][412672.1.2880115][412672.1.2880117]' |
| | | ValueType: Real |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Attribute Name |
| | | { |
| | | #keys: '3[412672.1.2880106][412672.1.2880105][412672.1.2880107]' |
| | | ValueType: String |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type OvertimeMultiplier |
| | | { |
| | | #keys: '5[412672.1.2880089][412672.1.2880087][0.0.0][412672.1.2880088][412672.1.2880090]' |
| | | BaseType: Object |
| | | Description: 'OvertimeMultiplier' |
| | | StructuredName: 'OvertimeMultipliers' |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: #DomainModel |
| | | Type ProductInStockingPointInPeriod #extension |
| | | { |
| | | } |
| | |
| | | { |
| | | TextBody: |
| | | [* |
| | | // rislai Jun-9-2024 (created) |
| | | archive.ArchivePR( relnew,Name := "PR72.SP_20240604_VWED.xlsx",FilePath := "C:\Excel\PR72.SP_20240604_VWED.xlsx"); |
| | | |
| | | archive.ArchivePR( relnew,Name := "PR72.SP_20240605_VWED.xlsx",FilePath := "C:\Excel\PR72.SP_20240605_VWED.xlsx"); |
| | | |
| | | |
| | | //testTree := NamedValueTree::Create(); |
| | | // |
| | | //testTreeHandel := testTree.GetHandle( "test1" ); |
| | | //testTreeHandel2 := testTree.GetHandle( "test2" ); |
| | | // |
| | | //testTree.Root().AddChild( testTreeHandel,1 ); |
| | | // |
| | | //info( testTree.Root().Child( testTreeHandel ).GetValueAsNumber() ); |
| | | //try{ |
| | | // info( testTree.Root().Child( testTreeHandel2 ).GetValueAsNumber() ); |
| | | //}onerror{ |
| | | // testTree.Root().AddChild( testTreeHandel,2 ); |
| | | //} |
| | | //info( testTree.Root().Child( testTreeHandel ).GetValueAsNumber() ); |
| | | name := "2020/04/01"; |
| | | names := name.Tokenize( "/" ); |
| | | info( guard( Date::Construct( [Number]names.Element( 0 ),[Number]names.Element( 1 ),[Number]names.Element( 2 )),Date::MinDate() )); |
| | | *] |
| | | } |
| | |
| | | #child: ContextMenuCapacities |
| | | ] |
| | | } |
| | | Component ButtonDataFinances #extension |
| | | { |
| | | Children: |
| | | [ |
| | | #child: ContextMenuFinances |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | |
| | | 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 |
| | | ] |
| | | } |
| | | Component ButtonFinancialWeeklyReport |
| | | { |
| | | #keys: '[415136.0.882254645]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_DIRTY' |
| | | Label: 'Financial weekly report' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ContextMenuFinances #extension |
| | | { |
| | | Children: |
| | | [ |
| | | Component MenuLaborCost |
| | | { |
| | | #keys: '[412672.1.7721142]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'MONEY_BILL_FIRE' |
| | | Taborder: 6 |
| | | Title: 'Labor cost' |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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/ButtonFinancialWeeklyReport |
| | | Response OnClick () id:Response_MacroPlanner_ActionBarGroupReport_ButtonFinancialWeeklyReport_OnClick |
| | | { |
| | | #keys: '[415136.0.882254805]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | ApplicationScope.ViewManager().ResetUserViewById( "Financial_weekly_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: ContextMenuFinances/MenuLaborCost |
| | | Response OnClick () id:Response_MacroPlanner_ContextMenuFinances_MenuLaborCost_OnClick |
| | | { |
| | | #keys: '[412672.1.7721201]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebMenu_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | // Open view |
| | | ApplicationMacroPlanner.OpenView( 'Labor_Costs', ButtonDataFinances ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlActions |
| | | { |
| | | #keys: '[412672.1.7045777]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component btnOk |
| | | { |
| | | #keys: '[412672.1.7045781]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'OK' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component btnCancel |
| | | { |
| | | #keys: '[412672.1.7045783]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'Cancel' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | Border: true |
| | | ExcludeFromActiveComponent: true |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Padding: 'true' |
| | | Style: 'footer' |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlContent |
| | | { |
| | | #keys: '[412672.1.7045775]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component dhEmployeeCost |
| | | { |
| | | #keys: '[412672.1.7045839]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'shadow[EmployeeCost]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ddlEmployeeType |
| | | { |
| | | #keys: '[412672.1.6911529]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'EmployeeType' |
| | | Children: |
| | | [ |
| | | Component deContent |
| | | { |
| | | #keys: '[412672.1.6911531]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'EmployeeType' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhEmployeeCost.Data.EmployeeType' |
| | | DisplayField: 'Name' |
| | | Label: '人åç±»å' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component npEmployeeNumber |
| | | { |
| | | #keys: '[412672.1.6911553]' |
| | | BaseType: 'WebNumberPicker' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhEmployeeCost.Data.EmployeeNumber' |
| | | Label: '人æ°' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dsStartDate |
| | | { |
| | | #keys: '[412672.1.6911583]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhEmployeeCost.Data.StartDate' |
| | | Label: 'å¼å§æ¶é´' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component efStandardWorkingDay |
| | | { |
| | | #keys: '[412672.1.7276727]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'MacroPlan.StandardWorkingDay' |
| | | Enabled: false |
| | | Label: 'æ åå·¥ä½å¤©æ°' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component efTimeUnit |
| | | { |
| | | #keys: '[412672.1.7276817]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhEmployeeCost.Data.TimeUnit' |
| | | Enabled: false |
| | | Label: 'æ åæ¶é´åå
' |
| | | Taborder: 6 |
| | | Text: 'æ' |
| | | ] |
| | | } |
| | | Component npBaseSalary |
| | | { |
| | | #keys: '[412672.1.7343332]' |
| | | BaseType: 'WebNumberPicker' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhEmployeeCost.Data.BaseSalary' |
| | | Label: 'åºæ¬å·¥èµ' |
| | | Taborder: 8 |
| | | ] |
| | | } |
| | | #child: pnlUnit |
| | | Component lblUnit |
| | | { |
| | | #keys: '[412672.1.7796497]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'ddlUnit.Data.ID' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Padding: 'true' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pnlUnit |
| | | { |
| | | #keys: '[412672.1.7514476]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddlUnit id:ddlUnit_608 |
| | | { |
| | | #keys: '[412672.1.7514540]' |
| | | BaseType: 'WebDropDownList' |
| | | Databinding: 'Unit' |
| | | Children: |
| | | [ |
| | | Component deContent655 id:deContent655_364 |
| | | { |
| | | #keys: '[412672.1.7514541]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[Entity]' |
| | | Source: 'ApplicationMacroPlanner.DataHolderEntities' |
| | | Taborder: 0 |
| | | Transformation: 'Elements.astype(Unit)' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhEmployeeCost.Data.Unit' |
| | | DisplayField: 'ID' |
| | | Enabled: false |
| | | Label: '产线' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component Button671 id:Button671_325 |
| | | { |
| | | #keys: '[412672.1.7514568]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'LOCK' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component cbUnit |
| | | { |
| | | #keys: '[412672.1.7578755]' |
| | | BaseType: 'WebCheckbox' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | Visible: false |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method Edit ( |
| | | EmployeeCost data |
| | | ) id:Method_DialogEditEmployeeCost_Edit |
| | | { |
| | | #keys: '[412672.1.7420837]' |
| | | Body: |
| | | [* |
| | | dhEmployeeCost.Data( shadow(data)); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Method New () id:Method_DialogEditEmployeeCost_New |
| | | { |
| | | #keys: '[412672.1.7277241]' |
| | | Body: |
| | | [* |
| | | ddlEmployeeType.Enabled( false,"" ); |
| | | npEmployeeNumber.Enabled( false,"" ); |
| | | dsStartDate.Enabled( false,"" ); |
| | | npBaseSalary.Enabled( false,"" ); |
| | | |
| | | ddlUnit.Enabled( true,"" ); |
| | | cbUnit.Checked( true ); |
| | | |
| | | ApplicationMacroPlanner.ShowFormModal( this ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnCancel |
| | | Response OnClick () id:Response_pnlActions_btnCancel_OnClick |
| | | { |
| | | #keys: '[412672.1.7045787]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.Close(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlActions/btnOk |
| | | Response OnClick () id:Response_pnlActions_btnOk_OnClick |
| | | { |
| | | #keys: '[412672.1.7045786]' |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | Form.ApplyChanges(); |
| | | dhEmployeeCost.Data().Commit(); |
| | | Form.Close(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: pnlUnit/Button671_325 |
| | | Response OnClick () id:Response_PanelStandardWorkingDay_Button671_OnClick_570 |
| | | { |
| | | #keys: '[412672.1.7514567]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | Precondition: |
| | | [* |
| | | return cbUnit.Checked(); |
| | | *] |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Image( "LOCK" ); |
| | | ddlEmployeeType.Enabled( true,"" ); |
| | | npEmployeeNumber.Enabled( true,"" ); |
| | | dsStartDate.Enabled( true,"" ); |
| | | npBaseSalary.Enabled( true,"" ); |
| | | |
| | | ddlUnit.Enabled( false,"" ); |
| | | cbUnit.Checked( false ); |
| | | |
| | | unit := ddlUnit.Data(); |
| | | dhEmployeeCost.Data( unit.EmployeeCost( relshadow )); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent DialogEditEmployeeCost |
| | | { |
| | | #keys: '[412672.1.7045773]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: pnlContent |
| | | #child: pnlActions |
| | | ] |
| | | Properties: |
| | | [ |
| | | Alignment: 'trailing' |
| | | EnterButton: 'btnOk' |
| | | EscapeButton: 'btnCancel' |
| | | ExcludeFromActiveComponent: true |
| | | Padding: 'false' |
| | | Title: 'Edit' |
| | | ] |
| | | } |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'BaseVersionValue;CompareVersionValue;BaseVersion;CompareVersion;Gap' |
| | | Attributes: 'BaseVersion;CompareVersion;Gap' |
| | | Column: 'LocalColumn' |
| | | Row: 'LocalRow' |
| | | Taborder: 0 |
| | |
| | | Properties: |
| | | [ |
| | | DataType: 'LocalTable' |
| | | FilterArguments: 'checkedProduct:QMacroPlanner::FormDemandComparison.dhFinelProduct' |
| | | FixedFilter: 'exists( checkedProduct,Elements,product,product.ID() = object.Name() )' |
| | | Source: 'dhComparisonData' |
| | | Taborder: 0 |
| | | Transformation: 'LocalRow' |
| | |
| | | Properties: |
| | | [ |
| | | DataType: 'LocalTable' |
| | | FilterArguments: 'startDate:QMacroPlanner::FormDemandComparison.dhStartDate;endDate:QMacroPlanner::FormDemandComparison.dhEndDate' |
| | | FixedFilter: 'not object.IsAttrbuteColumn() and startDate <= object.Date() and endDate > object.Date()' |
| | | Source: 'dhComparisonData' |
| | | Taborder: 0 |
| | | Transformation: 'LocalColumn' |
| | |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component dhCheckedProduct |
| | | { |
| | | #keys: '[412672.0.1121211408]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[Product_MP]*' |
| | | Children: |
| | | [ |
| | | Component deCheckedProduct |
| | | { |
| | | #keys: '[412672.0.1121633584]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[Product_MP]' |
| | | Source: 'ApplicationMacroPlanner.DataHolderCheckedProduct' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component dhFinelProduct |
| | | { |
| | | #keys: '[412672.0.1121876690]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[Product_MP]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dhCheckedSalesSegment |
| | | { |
| | | #keys: '[412672.0.1122338152]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'structured[SalesSegment_MP]*' |
| | | Children: |
| | | [ |
| | | Component deCheckedSalesSegment |
| | | { |
| | | #keys: '[412672.0.1122072068]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[SalesSegment_MP]' |
| | | Source: 'ApplicationMacroPlanner.DataHolderCheckedSalesSegment' |
| | | Taborder: 0 |
| | | Transformation: 'Elements' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | |
| | | [ |
| | | #child: PanelSelection |
| | | #child: PanelOperation_568 |
| | | #child: PanelFilter |
| | | ] |
| | | Properties: |
| | | [ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelFilter |
| | | { |
| | | #keys: '[412672.0.1119852113]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ddslGeneration |
| | | { |
| | | #keys: '[412672.0.1119852174]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'Generation' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ddslMQBMLB |
| | | { |
| | | #keys: '[412672.0.1119852186]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'MQB/MLB' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component ddslPower |
| | | { |
| | | #keys: '[412672.0.1119852198]' |
| | | BaseType: 'WebDropDownStringList' |
| | | Properties: |
| | | [ |
| | | Label: 'åç' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dsStartDate |
| | | { |
| | | #keys: '[412672.0.1119852248]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | Label: 'Start Date' |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component dsEndDate |
| | | { |
| | | #keys: '[412672.0.1119852261]' |
| | | BaseType: 'WebDateSelector' |
| | | Properties: |
| | | [ |
| | | Date: 9999-12-31 |
| | | Label: 'End Date' |
| | | Taborder: 5 |
| | | ] |
| | | } |
| | | Component ButtonFilter |
| | | { |
| | | #keys: '[412672.0.1121729150]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Label: 'è¿æ»¤' |
| | | Taborder: 7 |
| | | ] |
| | | } |
| | | Component dhStartDate |
| | | { |
| | | #keys: '[412672.0.1122339350]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'Date*' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component dhEndDate |
| | | { |
| | | #keys: '[412672.0.1122339363]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'Date*' |
| | | Properties: |
| | | [ |
| | | Taborder: 6 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | |
| | | Properties: |
| | | [ |
| | | Label: 'å¼å§å¯¹æ¯' |
| | | Taborder: 4 |
| | | ] |
| | | } |
| | | Component efBaseVersion |
| | | { |
| | | #keys: '[412672.0.1111643258]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | Label: 'åºåéæ±çæ¬ï¼' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component efCompareVersion |
| | | { |
| | | #keys: '[412672.0.1111643271]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | Label: '对æ¯éæ±çæ¬ï¼' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dhCompareVersionPath |
| | | { |
| | | #keys: '[412672.0.1111643374]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'String*' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component dhBaseVersionPath |
| | | { |
| | | #keys: '[412672.0.1111643396]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'String*' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component dhXMLDataListener id:dhXMLDataListener_906 |
| | |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 7 |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component bExport id:bExport_98 |
| | |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Label: '导åº' |
| | | Taborder: 5 |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component bDownload id:bDownload_352 |
| | |
| | | [ |
| | | Image: 'DOWNLOAD' |
| | | Label: 'ä¸è½½' |
| | | Taborder: 6 |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | #child: pVersionInfomation |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | Taborder: 2 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component pVersionInfomation |
| | | { |
| | | #keys: '[412672.0.1119852729]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component dhBaseVersionPath id:dhBaseVersionPath_640 |
| | | { |
| | | #keys: '[412672.0.1119852775]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'String*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | Component dhCompareVersionPath id:dhCompareVersionPath_582 |
| | | { |
| | | #keys: '[412672.0.1119852802]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'String*' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
| | | Component lBaseVersionName |
| | | { |
| | | #keys: '[412672.0.1119853064]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | Label: 'åºåéæ±çæ¬ï¼' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component lCompareVersionName |
| | | { |
| | | #keys: '[412672.0.1119853066]' |
| | | BaseType: 'WebLabel' |
| | | Properties: |
| | | [ |
| | | Label: '对æ¯éæ±çæ¬ï¼' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDemandComparison/dhCheckedProduct |
| | | Response OnDataChanged () id:Response_PanelDemandComparison_dhCheckedProduct_OnDataChanged |
| | | { |
| | | #keys: '[412672.0.1122118230]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( this.Data().Size() <> 0 ){ |
| | | dhFinelProduct.Data( this.Data().Copy() ); |
| | | }else{ |
| | | dhFinelProduct.Data( DataHolderProduct.Data().Copy() ); |
| | | } |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDemandComparison/dhCheckedSalesSegment |
| | | Response OnDataChanged () id:Response_PanelDemandComparison_dhCheckedSalesSegment_OnDataChanged |
| | | { |
| | | #keys: '[412672.0.1122600939]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnDataChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( this.Data().Size() <> 0 ){ |
| | | prods := selectset( dhFinelProduct.Data(),Elements,element,exists( this.Data(),Elements.SalesDemand.Product_MP,prod,element = prod )); |
| | | dhFinelProduct.Data( &prods ); |
| | | }else{ |
| | | dhFinelProduct.Data( DataHolderProduct.Data().Copy() ); |
| | | } |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelDemandComparison/dhFinelProduct |
| | | Response OnCreated () id:Response_PanelDemandComparison_dhFinelProduct_OnCreated |
| | | { |
| | | #keys: '[412672.0.1122081581]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Data( DataHolderProduct.Data().Copy() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter/ButtonFilter |
| | | Response OnClick () id:Response_PanelFilter_ButtonFilter_OnClick |
| | | { |
| | | #keys: '[412672.0.1121729757]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | products := dhCheckedProduct.Data().Copy(); |
| | | if( ddslGeneration.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Generation() <> ddslGeneration.Text()); |
| | | } |
| | | if( ddslMQBMLB.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.MQBMLB() <> ddslMQBMLB.Text()); |
| | | } |
| | | if( ddslPower.Text() <> "<All>" ){ |
| | | products := selectset( products,Elements,element,element.Power() <> ddslPower.Text()); |
| | | } |
| | | dhFinelProduct.Data( &products ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter/ddslGeneration |
| | | Response OnCreated () id:Response_PanelFilter_ddslGeneration_OnCreated |
| | | { |
| | | #keys: '[412672.0.1121755350]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.Generation() ); |
| | | |
| | | res := strings.Concatenate( ";" ); |
| | | |
| | | this.Strings( "<All>;" + res ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter/ddslMQBMLB |
| | | Response OnCreated () id:Response_PanelFilter_ddslMQBMLB_OnCreated |
| | | { |
| | | #keys: '[412672.0.1121815924]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.MQBMLB() ); |
| | | |
| | | res := strings.Concatenate( ";" ); |
| | | |
| | | this.Strings( "<All>;" + res ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter/ddslPower |
| | | Response OnCreated () id:Response_PanelFilter_ddslPower_OnCreated |
| | | { |
| | | #keys: '[412672.0.1121816007]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | strings := selectuniquevalues( MacroPlan,Product_MP,product,not product.IsSystem(),product.Power() ); |
| | | |
| | | res := strings.Concatenate( ";" ); |
| | | |
| | | this.Strings( "<All>;" + res ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter/dhEndDate |
| | | Response OnCreated () id:Response_PanelFilter_dhEndDate_OnCreated |
| | | { |
| | | #keys: '[412672.0.1122841072]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Data( Date::MaxDate() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter/dhStartDate |
| | | Response OnCreated () id:Response_PanelFilter_dhStartDate_OnCreated |
| | | { |
| | | #keys: '[412672.0.1122841156]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.Data( Date::MinDate() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter/dsEndDate |
| | | Response OnChanged () id:Response_PanelFilter_dsEndDate_OnChanged |
| | | { |
| | | #keys: '[412672.0.1122665296]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dhEndDate.Data( this.Date() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelFilter/dsStartDate |
| | | Response OnChanged () id:Response_PanelFilter_dsStartDate_OnChanged |
| | | { |
| | | #keys: '[412672.0.1122665180]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebDateTimeFieldBase_OnChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dhStartDate.Data( this.Date() ); |
| | | *] |
| | | } |
| | | } |
| | |
| | | Body: |
| | | [* |
| | | |
| | | table := LocalCell_DemandComparison::Compared( RecycleBin,dhBaseVersionPath.Data(),dhCompareVersionPath.Data() ); |
| | | table := LocalCell_DemandComparison::Compared( RecycleBin,dhBaseVersionPath.Data(),dhCompareVersionPath.Data(),lBaseVersionName.Text(),lCompareVersionName.Text() ); |
| | | dhComparisonData.Data( table ); |
| | | *] |
| | | GroupServerCalls: false |
| | |
| | | { |
| | | Body: |
| | | [* |
| | | rows := selectset( dhComparisonData.Data(),LocalRow,row,true ); |
| | | columns := selectset( dhComparisonData.Data( ),LocalColumn,column,true ); |
| | | LocalCell_DemandComparison::AsyncExport( RecycleBin, rows, columns ); |
| | | rows := selectset( dhComparisonData.Data(),LocalRow,row,exists( dhFinelProduct.Data(),Elements,product,product.ID() = row.Name() ) ); |
| | | columns := selectset( dhComparisonData.Data( ),LocalColumn,column,not column.IsAttrbuteColumn() and dhStartDate.Data() <= column.Date() and dhEndDate.Data() > column.Date() ); |
| | | LocalCell_DemandComparison::AsyncExport( RecycleBin, rows, columns ,MacroPlan ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | [* |
| | | dhBaseVersionPR.Data( selection ); |
| | | this.Tooltip( selection.Name() ); |
| | | efBaseVersion.Text( selection.Name() ); |
| | | lBaseVersionName.Text( selection.Name() ); |
| | | dhBaseVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | this.Tooltip( selection.Name() ); |
| | | |
| | | efCompareVersion.Text( selection.Name() ); |
| | | lCompareVersionName.Text( selection.Name() ); |
| | | dhCompareVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | dhBaseVersionPR.Data( selection ); |
| | | this.Tooltip( selection.Name() ); |
| | | efBaseVersion.Text( selection.Name() ); |
| | | lBaseVersionName.Text( selection.Name() ); |
| | | dhBaseVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | this.Tooltip( selection.Name() ); |
| | | |
| | | efCompareVersion.Text( selection.Name() ); |
| | | lCompareVersionName.Text( selection.Name() ); |
| | | dhCompareVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | this.Tooltip( selection.Name() ); |
| | | |
| | | efCompareVersion.Text( selection.Name() ); |
| | | lCompareVersionName.Text( selection.Name() ); |
| | | dhCompareVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | dhBaseVersionPR.Data( selection ); |
| | | this.Tooltip( selection.Name() ); |
| | | efBaseVersion.Text( selection.Name() ); |
| | | lBaseVersionName.Text( selection.Name() ); |
| | | dhBaseVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | dhBaseVersionPR.Data( selection ); |
| | | this.Tooltip( selection.Name() ); |
| | | efBaseVersion.Text( selection.Name() ); |
| | | lBaseVersionName.Text( selection.Name() ); |
| | | dhBaseVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | this.Tooltip( selection.Name() ); |
| | | |
| | | efCompareVersion.Text( selection.Name() ); |
| | | lCompareVersionName.Text( selection.Name() ); |
| | | dhCompareVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | dhBaseVersionPR.Data( selection ); |
| | | this.Tooltip( selection.Name() ); |
| | | efBaseVersion.Text( selection.Name() ); |
| | | lBaseVersionName.Text( selection.Name() ); |
| | | dhBaseVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | this.Tooltip( selection.Name() ); |
| | | |
| | | efCompareVersion.Text( selection.Name() ); |
| | | lCompareVersionName.Text( selection.Name() ); |
| | | dhCompareVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | dhBaseVersionPR.Data( selection ); |
| | | this.Tooltip( selection.Name() ); |
| | | efBaseVersion.Text( selection.Name() ); |
| | | lBaseVersionName.Text( selection.Name() ); |
| | | dhBaseVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
| | |
| | | [* |
| | | this.Tooltip( selection.Name() ); |
| | | |
| | | efCompareVersion.Text( selection.Name() ); |
| | | lCompareVersionName.Text( selection.Name() ); |
| | | dhCompareVersionPath.Data( selection.FilePath() ); |
| | | *] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListEmployeeCost |
| | | { |
| | | #keys: '[412672.1.3030900]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractor422 |
| | | { |
| | | #keys: '[412672.1.3030901]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'structured[Entity]' |
| | | Source: 'ApplicationMacroPlanner.DataHolderEntities' |
| | | Taborder: 0 |
| | | Transformation: 'Elements.astype(Unit).EmployeeCost' |
| | | ] |
| | | } |
| | | #child: listActionBarPage216 |
| | | Component DataSetLevel775 |
| | | { |
| | | #keys: '[412672.1.3030906]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenu383 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EmployeeType.Name","title":"人åç±»å«","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EmployeeType.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"EmployeeNumber","title":"人æ°","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"EmployeeNumber"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Unit.Name","title":"产线","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Unit.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"å¼å§æ¶é´","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"TimeUnit","title":"æ¶é´åä½","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"TimeUnit"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"BaseSalary","title":"åºæ¬å·¥èµ","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"BaseSalary"}}]' |
| | | ContextMenu: 'listContextMenu383' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | | DelegatedResponseDefinition OnClick id:Responsedef_ListEmployeeCost_WebMenu_OnClick |
| | | { |
| | | #keys: '[412672.1.5813308]' |
| | | Initiator: 'WebMenu' |
| | | IsInherited: false |
| | | ResponseType: 'OnClick' |
| | | Arguments: |
| | | [ |
| | | ResponseDefinitionArgument selection |
| | | { |
| | | #keys: '[33.0.20370560]' |
| | | Binding: 'this.Selection()' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListEmployeeType |
| | | { |
| | | #keys: '[412672.1.3032264]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractor670 |
| | | { |
| | | #keys: '[412672.1.3032265]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'external[MacroPlan]' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'EmployeeType' |
| | | ] |
| | | } |
| | | #child: listActionBarPage989 |
| | | Component DataSetLevel963 |
| | | { |
| | | #keys: '[412672.1.3032270]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenu191 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"人åç±»å","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}}]' |
| | | ContextMenu: 'listContextMenu191' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | | DelegatedResponseDefinition OnClick id:Responsedef_ListEmployeeType_WebMenu_OnClick |
| | | { |
| | | #keys: '[412672.1.6984546]' |
| | | Initiator: 'WebMenu' |
| | | IsInherited: false |
| | | ResponseType: 'OnClick' |
| | | Arguments: |
| | | [ |
| | | ResponseDefinitionArgument selection |
| | | { |
| | | #keys: '[33.0.12092751]' |
| | | Binding: 'this.Selection()' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component ListOvertimeMultiplier |
| | | { |
| | | #keys: '[412672.1.3031897]' |
| | | BaseType: 'WebList' |
| | | Children: |
| | | [ |
| | | Component DataExtractor427 |
| | | { |
| | | #keys: '[412672.1.3031898]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'OvertimeMultiplier' |
| | | ] |
| | | } |
| | | #child: listActionBarPage392 |
| | | Component DataSetLevel613 |
| | | { |
| | | #keys: '[412672.1.3031903]' |
| | | BaseType: 'WebDataSetLevel' |
| | | Children: |
| | | [ |
| | | #child: listContextMenu134 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Name","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Multiplier","title":"åç","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Multiplier"}}]' |
| | | ContextMenu: 'listContextMenu134' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | ResponseDefinitions: |
| | | [ |
| | | DelegatedResponseDefinition OnClick id:Responsedef_ListOvertimeMultiplier_WebMenu_OnClick |
| | | { |
| | | #keys: '[412672.1.3001707]' |
| | | Initiator: 'WebMenu' |
| | | IsInherited: false |
| | | ResponseType: 'OnClick' |
| | | Arguments: |
| | | [ |
| | | ResponseDefinitionArgument selection |
| | | { |
| | | #keys: '[29.0.12954279]' |
| | | Binding: 'this.Selection()' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component Panel189 |
| | | { |
| | | #keys: '[412672.1.3030708]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelEmployeeCost |
| | | #child: Panel972 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component Panel700 |
| | | { |
| | | #keys: '[412672.1.3030760]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: PanelEmployeeType |
| | | #child: PanelOvertimeMultiplier |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component Panel972 |
| | | { |
| | | #keys: '[412672.1.3030746]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: Panel700 |
| | | #child: PanelStandardWorkingDay |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelAction |
| | | { |
| | | #keys: '[412672.1.5890812]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonImport |
| | | { |
| | | #keys: '[412672.1.5890863]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'IMPORT1' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ButtonExport1 |
| | | { |
| | | #keys: '[412672.1.5890876]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelActions |
| | | { |
| | | #keys: '[412672.1.3091200]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonOK id:ButtonOK_780 |
| | | { |
| | | #keys: '[412672.1.3091238]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'CHECK2' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ButtonCalcel |
| | | { |
| | | #keys: '[412672.1.3091262]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelActions526 |
| | | { |
| | | #keys: '[412672.1.6984289]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonOK338 |
| | | { |
| | | #keys: '[412672.1.6984290]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'CHECK2' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component ButtonCalcel267 |
| | | { |
| | | #keys: '[412672.1.6984291]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 2 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelEditEmployeeType |
| | | { |
| | | #keys: '[412672.1.6984140]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component EditFieldEditEmployeeType |
| | | { |
| | | #keys: '[412672.1.6984180]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhEditEmployeeType.Data.Name' |
| | | Label: '人åç±»å' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | #child: PanelActions526 |
| | | Component dhEditEmployeeType |
| | | { |
| | | #keys: '[412672.1.6984295]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'shadow[EmployeeType]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Taborder: 0 |
| | | Visible: false |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelEditOvertimeMultiplier |
| | | { |
| | | #keys: '[412672.1.3001087]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component EditFieldEditOvertimeMultiplier |
| | | { |
| | | #keys: '[412672.1.3001163]' |
| | | BaseType: 'WebEditField' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhEditOvertimeMultiplier.Data.Name' |
| | | Label: 'åç§°' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component NumberPickerEditOvertimeMultiplier |
| | | { |
| | | #keys: '[412672.1.3001177]' |
| | | BaseType: 'WebNumberPicker' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'dhEditOvertimeMultiplier.Data.Multiplier' |
| | | Label: 'åç' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component dhEditOvertimeMultiplier |
| | | { |
| | | #keys: '[412672.1.3001190]' |
| | | BaseType: 'WebDataHolder' |
| | | Databinding: 'shadow[OvertimeMultiplier]*' |
| | | Properties: |
| | | [ |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: PanelActions |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Taborder: 0 |
| | | Visible: false |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelEmployeeCost |
| | | { |
| | | #keys: '[412672.1.3030727]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: ListEmployeeCost |
| | | #child: PanelAction |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | Title: 'äººåææ¬' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelEmployeeType |
| | | { |
| | | #keys: '[412672.1.3030869]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: ListEmployeeType |
| | | #child: PanelEditEmployeeType |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | Title: '人åç±»å' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelOvertimeMultiplier |
| | | { |
| | | #keys: '[412672.1.3030850]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: ListOvertimeMultiplier |
| | | #child: PanelEditOvertimeMultiplier |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | Title: 'å çåç' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelStandardWorkingDay |
| | | { |
| | | #keys: '[412672.1.3030780]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component NumberPicker287 |
| | | { |
| | | #keys: '[412672.1.3032925]' |
| | | BaseType: 'WebNumberPicker' |
| | | Properties: |
| | | [ |
| | | DataBinding: 'MacroPlan.StandardWorkingDay' |
| | | Enabled: false |
| | | Label: 'æ åå·¥ä½å¤©æ°' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component Button671 |
| | | { |
| | | #keys: '[412672.1.3032980]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'LOCK' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Orientation: 'horizontal' |
| | | Taborder: 1 |
| | | Title: 'æ åå·¥ä½å¤©æ°' |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPage216 |
| | | { |
| | | #keys: '[412672.1.3030903]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPage392 |
| | | { |
| | | #keys: '[412672.1.3031900]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listActionBarPage989 |
| | | { |
| | | #keys: '[412672.1.3032267]' |
| | | BaseType: 'listActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenu134 |
| | | { |
| | | #keys: '[412672.1.3031905]' |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuCreate |
| | | { |
| | | #keys: '[412672.1.3001739]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'ADD2' |
| | | Taborder: 3 |
| | | Title: 'Create...' |
| | | ] |
| | | } |
| | | Component MenuEdit |
| | | { |
| | | #keys: '[412672.1.3001760]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'PENCIL' |
| | | Taborder: 4 |
| | | Title: 'Edit...' |
| | | ] |
| | | } |
| | | Component MenuDelete |
| | | { |
| | | #keys: '[412672.1.3001781]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 5 |
| | | Title: 'Delete...' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenu191 |
| | | { |
| | | #keys: '[412672.1.3032272]' |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuCreate583 |
| | | { |
| | | #keys: '[412672.1.6984223]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'ADD2' |
| | | Taborder: 3 |
| | | Title: 'Create...' |
| | | ] |
| | | } |
| | | Component MenuEdit782 |
| | | { |
| | | #keys: '[412672.1.6984249]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'PENCIL' |
| | | Taborder: 4 |
| | | Title: 'Edit...' |
| | | ] |
| | | } |
| | | Component MenuDelete195 |
| | | { |
| | | #keys: '[412672.1.6984266]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 5 |
| | | Title: 'Delete...' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component listContextMenu383 |
| | | { |
| | | #keys: '[412672.1.3030908]' |
| | | BaseType: 'listContextMenu' |
| | | Children: |
| | | [ |
| | | Component MenuDelete300 |
| | | { |
| | | #keys: '[412672.1.5813289]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'DELETE' |
| | | Taborder: 5 |
| | | Title: 'Delete...' |
| | | ] |
| | | } |
| | | Component MenuCreate187 |
| | | { |
| | | #keys: '[412672.1.7546519]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'ADD2' |
| | | Taborder: 3 |
| | | Title: 'Create...' |
| | | ] |
| | | } |
| | | Component MenuEdit854 |
| | | { |
| | | #keys: '[412672.1.7546633]' |
| | | BaseType: 'WebMenu' |
| | | Properties: |
| | | [ |
| | | Image: 'PENCIL' |
| | | Taborder: 4 |
| | | Title: 'Edit...' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListEmployeeCost |
| | | Response OnClick () id:Response_ListEmployeeCost_MenuCreate187_OnClick |
| | | { |
| | | #keys: '[412672.1.7546539]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListEmployeeCost/Responsedef_ListEmployeeCost_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuCreate187' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogEditEmployeeCost ); |
| | | dlg.New(); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListEmployeeCost |
| | | Response OnClick ( |
| | | structured[EmployeeCost] selection |
| | | ) id:Response_ListEmployeeCost_MenuDelete300_OnClick |
| | | { |
| | | #keys: '[412672.1.5802665]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListEmployeeCost/Responsedef_ListEmployeeCost_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuDelete300' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | traverse( selection,Elements,element ){ |
| | | element.Delete(); |
| | | } |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListEmployeeCost |
| | | Response OnClick ( |
| | | EmployeeCost selection |
| | | ) id:Response_ListEmployeeCost_MenuEdit854_OnClick |
| | | { |
| | | #keys: '[412672.1.7546659]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListEmployeeCost/Responsedef_ListEmployeeCost_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuEdit854' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogEditEmployeeCost ); |
| | | dlg.Edit( selection ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListEmployeeCost |
| | | Response OnDoubleClick ( |
| | | EmployeeCost selection |
| | | ) id:Response_ListEmployeeCost_OnDoubleClick |
| | | { |
| | | #keys: '[412672.1.7422359]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebList_OnDoubleClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | dlg := construct( DialogEditEmployeeCost ); |
| | | dlg.Edit( selection ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListEmployeeType |
| | | Response OnClick () id:Response_ListEmployeeType_MenuCreate583_OnClick |
| | | { |
| | | #keys: '[412672.1.6984709]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListEmployeeType/Responsedef_ListEmployeeType_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuCreate583' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | PanelEditEmployeeType.Visible( true ); |
| | | dhEditEmployeeType.Data( MacroPlan.EmployeeType( relshadow )); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListEmployeeType |
| | | Response OnClick ( |
| | | structured[EmployeeType] selection |
| | | ) id:Response_ListEmployeeType_MenuDelete195_OnClick |
| | | { |
| | | #keys: '[412672.1.6984976]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListEmployeeType/Responsedef_ListEmployeeType_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuDelete195' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | traverse( selection,Elements,element ){ |
| | | element.Delete(); |
| | | } |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListEmployeeType |
| | | Response OnClick ( |
| | | EmployeeType selection |
| | | ) id:Response_ListEmployeeType_MenuEdit782_OnClick |
| | | { |
| | | #keys: '[412672.1.6984805]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListEmployeeType/Responsedef_ListEmployeeType_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuEdit782' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | PanelEditEmployeeType.Visible( true ); |
| | | dhEditEmployeeType.Data( shadow(selection) ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListOvertimeMultiplier |
| | | Response OnClick () id:Response_ListOvertimeMultiplier_MenuCreate_OnClick |
| | | { |
| | | #keys: '[412672.1.3002215]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListOvertimeMultiplier/Responsedef_ListOvertimeMultiplier_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuCreate' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | PanelEditOvertimeMultiplier.Visible( true ); |
| | | |
| | | |
| | | dhEditOvertimeMultiplier.Data( MacroPlan.OvertimeMultiplier( relshadow ) ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListOvertimeMultiplier |
| | | Response OnClick ( |
| | | structured[OvertimeMultiplier] selection |
| | | ) id:Response_ListOvertimeMultiplier_MenuDelete_OnClick |
| | | { |
| | | #keys: '[412672.1.3001913]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListOvertimeMultiplier/Responsedef_ListOvertimeMultiplier_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuDelete' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | traverse( selection,Elements,element ){ |
| | | element.Delete(); |
| | | } |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: ListOvertimeMultiplier |
| | | Response OnClick ( |
| | | OvertimeMultiplier selection |
| | | ) id:Response_ListOvertimeMultiplier_MenuEdit_OnClick |
| | | { |
| | | #keys: '[412672.1.3002036]' |
| | | CanBindMultiple: false |
| | | DefinitionID => /ListOvertimeMultiplier/Responsedef_ListOvertimeMultiplier_WebMenu_OnClick |
| | | GroupServerCalls: true |
| | | Initiator: 'MenuEdit' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | PanelEditOvertimeMultiplier.Visible( true ); |
| | | dhEditOvertimeMultiplier.Data( shadow( selection ) ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelAction/ButtonExport1 |
| | | Response OnClick () id:Response_PanelAction_ButtonExport1_OnClick |
| | | { |
| | | #keys: '[412672.1.5850508]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | units := selectset( DataHolderEntities.Data(),Elements.astype( Unit ),unit,true ); |
| | | binaryValue := EmployeeCost::Export( units ); |
| | | Application.Download( "äººåææ¬_" + DateTime::Now().Format( "YM2D2H2mmss" ) + ".xlsx", binaryValue.AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelAction/ButtonImport |
| | | Response OnClick () id:Response_PanelAction_ButtonImport_OnClick |
| | | { |
| | | #keys: '[412672.1.7045119]' |
| | | 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(); |
| | | |
| | | generalExcelImportAndExportDataSource := GeneralExcelImportAndExportDataSource::Upload( RecycleBin, webFileBinaryData, fileName ); |
| | | generalExcelImportAndExportDataSource.ReadStructure(); |
| | | |
| | | selection := select( generalExcelImportAndExportDataSource, GeneralExcelImportAndExportDataTable, tempGEIAEDT, true ); |
| | | |
| | | EmployeeCost::Import( MacroPlan, selection ); |
| | | |
| | | // åç»å é¤ |
| | | generalExcelImportAndExportDataSource.Delete(); |
| | | |
| | | WebMessageBox::Success( Translations::A_VWED_Success() ); |
| | | } |
| | | } onerror { |
| | | WebMessageBox::Error( e.GeneralInformation() ); |
| | | } |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelActions526/ButtonCalcel267 |
| | | Response OnClick () id:Response_PanelActions526_ButtonCalcel267_OnClick |
| | | { |
| | | #keys: '[412672.1.6984287]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | PanelEditEmployeeType.Visible( false ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelActions526/ButtonOK338 |
| | | Response OnClick () id:Response_PanelActions526_ButtonOK338_OnClick |
| | | { |
| | | #keys: '[412672.1.6984288]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( not isnull( dhEditEmployeeType.Data())){ |
| | | Form.ApplyChanges(); |
| | | dhEditEmployeeType.Data().Commit(); |
| | | } |
| | | PanelEditEmployeeType.Visible( false ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelActions/ButtonCalcel |
| | | Response OnClick () id:Response_PanelActions_ButtonCalcel_OnClick |
| | | { |
| | | #keys: '[412672.1.3091500]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | PanelEditOvertimeMultiplier.Visible( false ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelActions/ButtonOK_780 |
| | | Response OnClick () id:Response_PanelActions_ButtonOK_OnClick |
| | | { |
| | | #keys: '[412672.1.3091237]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | if( not isnull( dhEditOvertimeMultiplier.Data())){ |
| | | Form.ApplyChanges(); |
| | | dhEditOvertimeMultiplier.Data().Commit(); |
| | | } |
| | | PanelEditOvertimeMultiplier.Visible( false ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelStandardWorkingDay/Button671 |
| | | Response OnClick () id:Response_PanelStandardWorkingDay_Button671_OnClick |
| | | { |
| | | #keys: '[412672.1.3033025]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | NumberPicker287.Enabled( not NumberPicker287.Enabled(),"" ); |
| | | if( not NumberPicker287.Enabled() ){ |
| | | this.Image( "LOCK" ); |
| | | }else{ |
| | | this.Image( "LOCK_OPEN" ); |
| | | } |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelStandardWorkingDay/NumberPicker287 |
| | | Response OnChanged () id:Response_PanelStandardWorkingDay_NumberPicker287_OnChanged |
| | | { |
| | | #keys: '[412672.1.6920929]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebNumberPicker_OnChanged' |
| | | GroupServerCalls: true |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | MacroPlan.StandardWorkingDay( this.Number() ); |
| | | *] |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormEmployeeCost |
| | | { |
| | | #keys: '[412672.1.5334387]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: Panel189 |
| | | ] |
| | | Properties: |
| | | [ |
| | | Description: 'EmployeeCosts' |
| | | Image: 'MONEY_BILL_FIRE' |
| | | Title: 'Labor Costs' |
| | | ] |
| | | } |
| | |
| | | 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() and table.IsShow() ); |
| | | info( '------------------2----------------', table.IsImport(), table.IsShow() ); |
| | | //info( '------------------2----------------', table.IsImport(), table.IsShow() ); |
| | | DataHolderTable.Data( table ); |
| | | |
| | | dhSearch.Data( table.FinancialProductionSource().FinancialProductionSearch() ); |
| | |
| | | [* |
| | | binaryValue := FinancialProductionSource::Download( MacroPlan ); |
| | | |
| | | Application.Download( "Financial productions.xlsx", binaryValue.AsBinaryData() ); |
| | | Application.Download( FinancialProductionReport::GetDefaultName() + '.xlsx', binaryValue.AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | |
| | | [* |
| | | binaryValue := FinancialProductionSource::DownloadTemplate( MacroPlan ); |
| | | |
| | | Application.Download( "Financial productions.xlsx", binaryValue.AsBinaryData() ); |
| | | Application.Download( FinancialProductionReport::GetDefaultName() + '.xlsx', binaryValue.AsBinaryData() ); |
| | | *] |
| | | 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>;" + FinancialSalesReport::GetSalesSegmentCC() + ";" + FinancialSalesReport::GetSalesSegmentDL(); |
| | | |
| | | 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.881011903]' |
| | | BaseType: 'WebMatrixEditor' |
| | | Children: |
| | | [ |
| | | Component MatrixEditorCellTable |
| | | { |
| | | #keys: '[415136.0.881011904]' |
| | | BaseType: 'WebMatrixEditorCell' |
| | | Children: |
| | | [ |
| | | Component DataExtractorTable |
| | | { |
| | | #keys: '[415136.0.881011905]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'FinancialWeeklyReport.FinancialWeeklyColumn.FinancialWeeklyCell' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Attributes: 'Value' |
| | | Column: 'FinancialWeeklyColumn' |
| | | Row: 'FinancialWeeklyRow' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | Component MatrixEditorRowsTable |
| | | { |
| | | #keys: '[415136.0.881011908]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorRow |
| | | { |
| | | #keys: '[415136.0.881011909]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'FinancialWeeklyReport.FinancialWeeklyRow' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'RowNr' |
| | | Taborder: 1 |
| | | ] |
| | | } |
| | | Component MatrixEditorColumnsTable |
| | | { |
| | | #keys: '[415136.0.881011912]' |
| | | BaseType: 'WebMatrixEditorHeaderLevel' |
| | | Children: |
| | | [ |
| | | Component DataExtractorColumn |
| | | { |
| | | #keys: '[415136.0.881011913]' |
| | | BaseType: 'WebDataExtractor' |
| | | Properties: |
| | | [ |
| | | DataType: 'MacroPlan' |
| | | Source: 'MacroPlan' |
| | | Taborder: 0 |
| | | Transformation: 'FinancialWeeklyReport.FinancialWeeklyColumn' |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | Legend: 'Name' |
| | | SortCriteria: 'Index' |
| | | Taborder: 2 |
| | | ] |
| | | } |
| | | #child: matrixEditorActionBarPageTable |
| | | #child: matrixeditorContextMenuTable |
| | | ] |
| | | Properties: |
| | | [ |
| | | Columns: 'MatrixEditorColumnsTable' |
| | | ContextMenu: 'matrixeditorContextMenuTable' |
| | | Rows: 'MatrixEditorRowsTable' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelHeader |
| | | { |
| | | #keys: '[415136.0.881011755]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | Component ButtonExport |
| | | { |
| | | #keys: '[415136.0.881011811]' |
| | | BaseType: 'WebButton' |
| | | Properties: |
| | | [ |
| | | Image: 'EXPORT1' |
| | | Taborder: 0 |
| | | ] |
| | | } |
| | | ] |
| | | Properties: |
| | | [ |
| | | FixedSize: true |
| | | Orientation: 'horizontal' |
| | | Taborder: 0 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component PanelTable |
| | | { |
| | | #keys: '[415136.0.881011874]' |
| | | BaseType: 'WebPanel' |
| | | Children: |
| | | [ |
| | | #child: MatrixEditorTable |
| | | ] |
| | | Properties: |
| | | [ |
| | | Taborder: 1 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixEditorActionBarPageTable |
| | | { |
| | | #keys: '[415136.0.881011916]' |
| | | BaseType: 'matrixEditorActionBarPage' |
| | | Properties: |
| | | [ |
| | | Taborder: 3 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | Component matrixeditorContextMenuTable |
| | | { |
| | | #keys: '[415136.0.881011919]' |
| | | BaseType: 'matrixeditorContextMenu' |
| | | Properties: |
| | | [ |
| | | Taborder: 4 |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: #root |
| | | Response OnCreated () id:Response_FormFinancialWeeklyReport_OnCreated |
| | | { |
| | | #keys: '[415136.0.882110991]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | FinancialWeeklyReport::Initialize( MacroPlan ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #parent: PanelHeader/ButtonExport |
| | | Response OnClick () id:Response_PanelHeader_ButtonExport_OnClick |
| | | { |
| | | #keys: '[415136.0.882111199]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebButton_OnClick' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | binaryValue := FinancialWeeklyReport::Download( MacroPlan ); |
| | | |
| | | Application.Download( FinancialWeeklyReport::GetDefaultName() + '.xlsx', binaryValue.AsBinaryData() ); |
| | | *] |
| | | GroupServerCalls: false |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | Quintiq file version 2.0 |
| | | #root |
| | | #parent: MacroPlannerWebApp |
| | | OrphanComponent FormFinancialWeeklyReport |
| | | { |
| | | #keys: '[415136.0.881011703]' |
| | | BaseType: 'WebForm' |
| | | Children: |
| | | [ |
| | | #child: PanelHeader |
| | | #child: PanelTable |
| | | ] |
| | | Properties: |
| | | [ |
| | | Image: 'DOCUMENT_DIRTY' |
| | | Title: 'Financial weekly 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: |
| | | [ |
| | | 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: |
| | | [ |
| | | Date: 9999-12-31 |
| | | 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, InterfaceDataset ); |
| | | //} |
| | | //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: PanelCategory/RadioButtonGroupUseForPlanning_545 |
| | | Response OnCreated () id:Response_PanelCategory_RadioButtonGroupUseForPlanning_OnCreated |
| | | { |
| | | #keys: '[415136.0.875614032]' |
| | | CanBindMultiple: false |
| | | DefinitionID: 'Responsedef_WebComponent_OnCreated' |
| | | QuillAction |
| | | { |
| | | Body: |
| | | [* |
| | | this.ButtonValues( Translations::MP_GlobalParameters_Day() + ';' + Translations::MP_GlobalParameters_Week() + ';' + Translations::MP_GlobalParameters_Month() ); |
| | | *] |
| | | 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( this.Date() < DateSelectorStart.Date() ){ |
| | | this.HintError( 'The end date cannot be less than the start date!' ); |
| | | }else{ |
| | | 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( this.Date() > DateSelectorEnd.Date() ){ |
| | | this.HintError( 'The start date cannot be later than the end date!' ); |
| | | }else{ |
| | | 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>;" + InventorySummaryReport::GetDefaultCCUnit() + ";" + InventorySummaryReport::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 |
| | | { |
| | | 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_FormFinancialWeeklyReport |
| | | { |
| | | title: 'QMacroPlanner::FormFinancialWeeklyReport' |
| | | shown: true |
| | | componentID: 'QMacroPlanner::FormFinancialWeeklyReport' |
| | | layout |
| | | { |
| | | mode: 'open' |
| | | rowPosition: 1 |
| | | rowSpan: 15 |
| | | columnPosition: 1 |
| | | columnSpan: 13 |
| | | } |
| | | components |
| | | { |
| | | FormFinancialWeeklyReport_PanelHeader |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormFinancialWeeklyReport_PanelTable |
| | | { |
| | | sizeRatio: 1 |
| | | } |
| | | FormFinancialWeeklyReport_MatrixEditorTable |
| | | { |
| | | gridColor: '#c4c4c4' |
| | | totalHeaderWidth: 67 |
| | | attributeHeaderWidthRatio: 0.6 |
| | | nameHeaderWidthRatio: 0.4 |
| | | columnWidth: 100 |
| | | horizontalGrid: true |
| | | verticalGrid: true |
| | | backendState |
| | | { |
| | | componentId: 'QMacroPlanner::FormFinancialWeeklyReport.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: 19 |
| | | image: 'DOCUMENT_DIRTY' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Financial_weekly_report_view' |
| | | name: 'Financial weekly 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 |
| | | { |
| | | page: '' |
| | | group: '' |
| | | index: 0 |
| | | image: 'MONEY_BILL_FIRE' |
| | | description: '' |
| | | } |
| | | formatversion: 2 |
| | | id: 'Labor_Costs' |
| | | name: 'Labor_Costs' |
| | | isglobal: false |
| | | isroot: true |
| | | } |
| | |
| | | CREATIONUSER '' |
| | | UPDATEDATETIME '2017-06-05T15:08:50' |
| | | UPDATEUSER 'quintiq/dwe2' |
| | | LASTACCESSDATE '2020-03-25' |
| | | LASTACCESSDATE '2024-06-28' |
| | | VIEWSCOPE 0 |
| | | } |
| | | AUTHORIZATIONS |