_Main/BL/Relations/Relation_FinancialWeeklyColumn_FinancialWeeklyCell_FinancialWeeklyCell_Finan.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ 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' } } _Main/BL/Relations/Relation_FinancialWeeklyReport_FinancialWeeklyColumn_FinancialWeeklyColumn_F.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ 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' } } _Main/BL/Relations/Relation_FinancialWeeklyReport_FinancialWeeklyRow_FinancialWeeklyRow_Financi.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ 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' } } _Main/BL/Relations/Relation_FinancialWeeklyReport_MacroPlan_MacroPlan_FinancialWeeklyReport.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ 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' } } _Main/BL/Relations/Relation_FinancialWeeklyRow_FinancialWeeklyCell_FinancialWeeklyCell_Financia.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ 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' } } _Main/BL/Type_FinancialProductionCell/Attribute_PlanValue.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ Quintiq file version 2.0 #parent: #root Attribute PlanValue { #keys: '3[415136.0.880970239][415136.0.880970238][415136.0.880970240]' Description: '计åå¼' ValueType: Real } _Main/BL/Type_FinancialProductionCell/Function_CalcPlanValue.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ 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 ); *] } _Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultCCUnit.qbl
@@ -6,5 +6,6 @@ [* // çå °é¸½ Jun-25-2024 (created) return 'é¿æ¥'; //return 'Assembly Plant (France)'; *] } _Main/BL/Type_FinancialProductionReport/StaticMethod_GetDefaultDLUnit.qbl
@@ -6,5 +6,6 @@ [* // çå °é¸½ Jun-25-2024 (created) return '大è¿'; //return 'Assembly Plant (Spain)'; *] } _Main/BL/Type_FinancialWeeklyCell/Attribute_Value.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute Value { #keys: '3[415136.0.880700281][415136.0.880700280][415136.0.880700282]' ValueType: String } _Main/BL/Type_FinancialWeeklyCell/DefaultValue_Value.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,6 @@ Quintiq file version 2.0 #parent: #root DefaultValue { TargetAttribute: Value } _Main/BL/Type_FinancialWeeklyCell/_ROOT_Type_FinancialWeeklyCell.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ 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' } _Main/BL/Type_FinancialWeeklyColumn/Attribute_Index.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute Index { #keys: '3[415136.0.880700264][415136.0.880700263][415136.0.880700265]' ValueType: Number } _Main/BL/Type_FinancialWeeklyColumn/Attribute_Name.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute Name { #keys: '3[415136.0.880700267][415136.0.880700266][415136.0.880700268]' ValueType: String } _Main/BL/Type_FinancialWeeklyColumn/Attribute_Period.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute Period { #keys: '3[415136.0.880700270][415136.0.880700269][415136.0.880700271]' ValueType: Date } _Main/BL/Type_FinancialWeeklyColumn/DefaultValue_Name.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,6 @@ Quintiq file version 2.0 #parent: #root DefaultValue { TargetAttribute: Name } _Main/BL/Type_FinancialWeeklyColumn/Function_CalcIndex.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ 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 ); *] } _Main/BL/Type_FinancialWeeklyColumn/_ROOT_Type_FinancialWeeklyColumn.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ 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' } _Main/BL/Type_FinancialWeeklyReport/Attribute_ID.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ Quintiq file version 2.0 #parent: #root Attribute ID { #keys: '3[415136.0.880700226][415136.0.880700225][415136.0.880700227]' IsReadOnly: true ValueType: String } _Main/BL/Type_FinancialWeeklyReport/Attribute_IsShow.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute IsShow { #keys: '3[415136.0.880700229][415136.0.880700228][415136.0.880700230]' ValueType: Boolean } _Main/BL/Type_FinancialWeeklyReport/Attribute_Name.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ Quintiq file version 2.0 #parent: #root Attribute Name { #keys: '3[415136.0.880700232][415136.0.880700231][415136.0.880700233]' Description: 'åç§°' ValueType: String } _Main/BL/Type_FinancialWeeklyReport/DefaultValue_ID.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,6 @@ Quintiq file version 2.0 #parent: #root DefaultValue { TargetAttribute: ID } _Main/BL/Type_FinancialWeeklyReport/DefaultValue_Name.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,6 @@ Quintiq file version 2.0 #parent: #root DefaultValue { TargetAttribute: Name } _Main/BL/Type_FinancialWeeklyReport/Method_GenerateColumn.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ 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 ); } *] } _Main/BL/Type_FinancialWeeklyReport/StaticMethod_Download.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,65 @@ 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(); *] } _Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultAllUnit.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ Quintiq file version 2.0 #parent: #root StaticMethod GetDefaultAllUnit () const as String { TextBody: [* // çå °é¸½ Jun-28-2024 (created) return '<All>'; *] } _Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultCCUnit.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,11 @@ Quintiq file version 2.0 #parent: #root StaticMethod GetDefaultCCUnit () const as String { TextBody: [* // çå °é¸½ Jun-28-2024 (created) return 'é¿æ¥'; //return 'Assembly Plant (France)'; *] } _Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultDLUnit.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,11 @@ Quintiq file version 2.0 #parent: #root StaticMethod GetDefaultDLUnit () const as String { TextBody: [* // çå °é¸½ Jun-28-2024 (created) return '大è¿'; //return 'Assembly Plant (Spain)'; *] } _Main/BL/Type_FinancialWeeklyReport/StaticMethod_GetDefaultName.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ Quintiq file version 2.0 #parent: #root StaticMethod GetDefaultName () const as String { TextBody: [* // çå °é¸½ Jun-25-2024 (created) return 'Financial weekly'; *] } _Main/BL/Type_FinancialWeeklyReport/StaticMethod_Initialize.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,173 @@ 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 ) ); *] } _Main/BL/Type_FinancialWeeklyReport/_ROOT_Type_FinancialWeeklyReport.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ 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' } _Main/BL/Type_FinancialWeeklyRow/Attribute_Name.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute Name { #keys: '3[415136.0.880700246][415136.0.880700245][415136.0.880700247]' ValueType: String } _Main/BL/Type_FinancialWeeklyRow/Attribute_RowNr.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ Quintiq file version 2.0 #parent: #root Attribute RowNr { #keys: '3[415136.0.880700249][415136.0.880700248][415136.0.880700250]' ValueType: Number } _Main/BL/Type_FinancialWeeklyRow/DefaultValue_Name.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,6 @@ Quintiq file version 2.0 #parent: #root DefaultValue { TargetAttribute: Name } _Main/BL/Type_FinancialWeeklyRow/_ROOT_Type_FinancialWeeklyRow.qbl
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ 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' } _Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultCCUnit.qbl
@@ -5,7 +5,7 @@ TextBody: [* // çå °é¸½ Jun-28-2024 (created) //return 'é¿æ¥'; return 'Assembly Plant (France)'; return 'é¿æ¥'; //return 'Assembly Plant (France)'; *] } _Main/BL/Type_InventorySummaryReport/StaticMethod_GetDefaultDLUnit.qbl
@@ -5,7 +5,7 @@ TextBody: [* // çå °é¸½ Jun-28-2024 (created) //return '大è¿'; return 'Assembly Plant (Spain)'; return '大è¿'; //return 'Assembly Plant (Spain)'; *] } _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Component_ActionBarGroupReport.def
@@ -38,6 +38,17 @@ Taborder: 2 ] } Component ButtonFinancialWeeklyReport { #keys: '[415136.0.882254645]' BaseType: 'WebButton' Properties: [ Image: 'DOCUMENT_DIRTY' Label: 'Financial weekly report' Taborder: 3 ] } ] Properties: [ _Main/UI/MacroPlannerWebApp/Component_ApplicationMacroPlanner/Response_MacroPlanner_ActionBarGroupReport_ButtonFinancialWeeklyReport_OnCli.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ 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 } } _Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_MatrixEditorTable.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,97 @@ 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 ] } _Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_PanelHeader.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ 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 ] } _Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_PanelTable.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ Quintiq file version 2.0 Component PanelTable { #keys: '[415136.0.881011874]' BaseType: 'WebPanel' Children: [ #child: MatrixEditorTable ] Properties: [ Taborder: 1 ] } _Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_matrixEditorActionBarPageTable.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ Quintiq file version 2.0 Component matrixEditorActionBarPageTable { #keys: '[415136.0.881011916]' BaseType: 'matrixEditorActionBarPage' Properties: [ Taborder: 3 ] } _Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Component_matrixeditorContextMenuTable.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ Quintiq file version 2.0 Component matrixeditorContextMenuTable { #keys: '[415136.0.881011919]' BaseType: 'matrixeditorContextMenu' Properties: [ Taborder: 4 ] } _Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Response_OnCreated.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ 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 } } _Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/Response_PanelHeader_ButtonExport_OnClick.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ 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 } } _Main/UI/MacroPlannerWebApp/Component_FormFinancialWeeklyReport/_ROOT_Component_FormFinancialWeeklyReport.def
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ 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' ] } _Main/UI/MacroPlannerWebApp/Component_FormInventorySummaryReport/Component_PanelCategory.def
@@ -11,7 +11,6 @@ BaseType: 'WebRadioButtonGroup' Properties: [ BoundValue: 'Day' ButtonLabels: 'Day;Week;Month' ButtonValues: 'Day;Week;Month' Orientation: 'horizontal' _Main/UI/MacroPlannerWebApp/Views/Financial_weekly_report_view.vw
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,92 @@ 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 }