From 8892df6761c32978bb044cf9623f46c797481bba Mon Sep 17 00:00:00 2001
From: lihongji <3117313295@qq.com>
Date: 星期一, 15 七月 2024 14:05:20 +0800
Subject: [PATCH] 上线计划同步NewSupply

---
 _var/_Main/ProjSettings/EditorTC/Views/拆班次分析_[413988.0.1361110378].vw                            |  500 ++++++++++++++++++++++++++++++++++++++++++++++++++
 _var/_Main/ProjSettings/EditorTC/Views/车道整班分析_[413988.0.1301140601].vw                           |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_MatrixEditor951_OnUpdateValue.def |   30 +++
 _Main/BL/Type_OfflinePlanCell/Attribute_IsQuantityChange.qbl                                     |    7 
 _Main/BL/Type_OfflinePlanCell/StaticMethod_SynchronizeToNewSupply.qbl                            |   19 +
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bConfirm_OnClick.def      |   10 +
 6 files changed, 567 insertions(+), 1 deletions(-)

diff --git a/_Main/BL/Type_OfflinePlanCell/Attribute_IsQuantityChange.qbl b/_Main/BL/Type_OfflinePlanCell/Attribute_IsQuantityChange.qbl
new file mode 100644
index 0000000..22adea4
--- /dev/null
+++ b/_Main/BL/Type_OfflinePlanCell/Attribute_IsQuantityChange.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute IsQuantityChange
+{
+  #keys: '3[413988.0.1361471961][413988.0.1361471960][413988.0.1361471962]'
+  ValueType: Boolean
+}
diff --git a/_Main/BL/Type_OfflinePlanCell/StaticMethod_SynchronizeToNewSupply.qbl b/_Main/BL/Type_OfflinePlanCell/StaticMethod_SynchronizeToNewSupply.qbl
new file mode 100644
index 0000000..115dfe5
--- /dev/null
+++ b/_Main/BL/Type_OfflinePlanCell/StaticMethod_SynchronizeToNewSupply.qbl
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: #root
+StaticMethod SynchronizeToNewSupply (
+  MacroPlan macroPlan,
+  OfflinePlanTable opt
+)
+{
+  TextBody:
+  [*
+    cells := selectset( opt, OfflinePlanRow.OfflinePlanCell, tempOPC, tempOPC.OfflinePlanRow().Type() = "1" and tempOPC.OfflinePlanColumn().ColumnDate() >= macroPlan.StartOfPlanning().Date() and tempOPC.IsQuantityChange() );
+    
+    traverse ( cells, Elements, cell ) {
+     pto := select( macroPlan, Unit.Operation.PeriodTaskOperation, tempPTO,
+                    tempPTO.Operation().UnitID() = cell.OfflinePlanRow().ProductionLine() and
+                    tempPTO.Start().Date()       = cell.OfflinePlanColumn().ColumnDate() );
+      pto.Update( cell.Quantity(), true );
+    }
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_MatrixEditor951_OnUpdateValue.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_MatrixEditor951_OnUpdateValue.def
new file mode 100644
index 0000000..a646cdb
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_MatrixEditor951_OnUpdateValue.def
@@ -0,0 +1,30 @@
+Quintiq file version 2.0
+#parent: MatrixEditor951
+Response OnUpdateValue (
+  OfflinePlanRow row,
+  OfflinePlanColumn column,
+  OfflinePlanCell cell,
+  String value,
+  String oldvalue
+) id:Response_MatrixEditor951_OnUpdateValue
+{
+  #keys: '[413988.0.1362713696]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebMatrixEditor_OnUpdateValue'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      if ( row.Type() = "1" and column.ColumnDate() >= MacroPlan.StartOfPlanning().Date() ) {
+        cell.IsQuantityChange( true );
+        cell.Value( value );
+        cell.Quantity( [Real]value );
+      }
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bConfirm_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bConfirm_OnClick.def
index 33f3e58..ef72979 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bConfirm_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader_bConfirm_OnClick.def
@@ -5,8 +5,18 @@
   #keys: '[413988.0.1297974240]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
   QuillAction
   {
+    Body:
+    [*
+      OfflinePlanCell::SynchronizeToNewSupply( MacroPlan, dhOfflinePlanTable.Data() );
+      
+      WebMessageBox::Success( Translations::A_VWED_Success() );
+    *]
     GroupServerCalls: false
   }
 }
diff --git "a/_var/_Main/ProjSettings/EditorTC/Views/\346\213\206\347\217\255\346\254\241\345\210\206\346\236\220_\133413988.0.1361110378\135.vw" "b/_var/_Main/ProjSettings/EditorTC/Views/\346\213\206\347\217\255\346\254\241\345\210\206\346\236\220_\133413988.0.1361110378\135.vw"
new file mode 100644
index 0000000..110d87a
--- /dev/null
+++ "b/_var/_Main/ProjSettings/EditorTC/Views/\346\213\206\347\217\255\346\254\241\345\210\206\346\236\220_\133413988.0.1361110378\135.vw"
@@ -0,0 +1,500 @@
+锘�# Quintiq GUI View File
+# Version 3.0
+
+PROPERTIES
+{
+  KEY := [413988.0.1361110378]
+  NAME := '鎷嗙彮娆″垎鏋�'
+  HELPPAGE := ''
+  PARENTKEY := [100676.19.414142820]
+  DOMAIN := 'MacroPlanner'
+  FOCUSED := [100828.0.145642700]
+  MUSTREADMDSSETTINGS := false
+  ISPERSONAL false
+  OWNERNAME 'quintiq/lihongji'
+  ICONIMAGE 'WINDOWS'
+  CREATIONDATETIME '2024-07-12T11:17:02'
+  CREATIONUSER 'quintiq/lihongji'
+  UPDATEDATETIME '2024-07-12T11:19:19'
+  UPDATEUSER 'quintiq/lihongji'
+  LASTACCESSDATE '2024-07-12'
+  VIEWSCOPE 0
+}
+AUTHORIZATIONS
+{
+  OPEN
+  {
+    AUTHORIZATIONS
+    {
+    }
+  }
+  EDIT
+  {
+    AUTHORIZATIONS
+    {
+    }
+  }
+}
+MDSINFO
+{
+  LOCAL ''
+  GLOBAL ''
+}
+INFOOBJECT
+{
+  KEY [892.10.659695]
+  OBJECTTYPE Application // appEditor
+  INFOOBJECTS
+  {
+   INFOOBJECT
+   {
+    KEY [892.10.659696]
+    OBJECTTYPE Frame // Frame
+    CONTENTS
+    {
+     State := maximized
+     (896,312,1024,768)
+     WorkspaceLocation := TreePath[R0.7948;B0.0061;]
+    }
+    INFOOBJECTS
+    {
+     INFOOBJECT
+     {
+      KEY [103784.990.795900613]
+      OBJECTTYPE ValueHolder // vhSearchHistory
+      CONTENTS
+      {
+       Value ''
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [10786.1.820220316]
+      OBJECTTYPE ValueHolder // vhLoadingErrCount
+      CONTENTS
+      {
+       Value '0'
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [10786.1.820229990]
+      OBJECTTYPE ValueHolder // vhLoadReason
+      CONTENTS
+      {
+       Value 'Startup'
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [10786.1.821405088]
+      OBJECTTYPE ValueHolder // vhWriteErrorCount
+      CONTENTS
+      {
+       Value '0'
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [10786.2.342765638]
+      OBJECTTYPE ValueHolder // vhGlobals
+      CONTENTS
+      {
+       Value ''
+      }
+      BASEINFOOBJECTS
+      {
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [103784.990.815711421]
+      SINGLEINSTANCE false
+      ID 'Type Details'
+      PARENTKEY [892.10.659696]
+      OBJECTTYPE Form // frmObjectDefinitionBrowser
+      CREATETYPE frmObjectDefinitionBrowser
+      CONTENTS
+      {
+       State := normal
+       (485,0,400,912)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[L0.2052;B0.5727;]TabIdx[0]Selection[FRONT]
+      }
+      BASEINFOOBJECTS
+      {
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [121142.0.500922030]
+        OBJECTTYPE GUIDataSetLevel // dslTypes
+        CONTENTS
+        {
+         Columns
+         {
+           Definition := [892.10.660027]
+           {
+             [892.10.660028]
+             [644.0.84080945]
+           }
+           SubTotals := true
+           Visible
+           {
+             Column internal[DataSetDataColumn] [121142.0.501068000]
+             {
+               Header := 'Name'
+               Width := 100
+               Subtotals := false
+               Specific
+               {
+                 DataPath := 'Name [1.2.1645]'
+               }
+             }
+             Column internal[DataSetDataColumn] [121142.0.501068001]
+             {
+               Header := 'BaseTypeName'
+               Width := 100
+               Subtotals := false
+               Specific
+               {
+                 DataPath := 'BaseTypeName [1.2.2198]'
+               }
+             }
+           }
+         }
+         DataMemberSort 'SortOrder [1.2.1686]' true true
+         ColumnSort [121142.0.501068000] true false
+        }
+       }
+       INFOOBJECT
+       {
+        KEY [121142.0.500923128]
+        OBJECTTYPE List // lstObjectDefinitionBrowser
+        CONTENTS
+        {
+         Quantorrow := false
+        }
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [121142.0.500923177]
+          OBJECTTYPE GUIDataSetLevel // dslElements
+          CONTENTS
+          {
+           Columns
+           {
+             Definition := [103784.990.769111502]
+             {
+               [103784.990.795596828]
+               [103784.990.795596827]
+             }
+             SubTotals := true
+             Visible
+             {
+               Column internal[DataSetDataColumn] [121142.0.501068002]
+               {
+                 Width := 401
+                 SizedByUser := true
+                 Subtotals := false
+                 Specific
+                 {
+                   DataPath := 'Outline [1.2.6115]'
+                 }
+               }
+               Column internal[DataSetDataColumn] [121142.0.501068003]
+               {
+                 Width := 319
+                 SizedByUser := true
+                 Subtotals := false
+                 Specific
+                 {
+                   DataPath := 'ValueType [1.2.6117]'
+                 }
+               }
+             }
+           }
+           Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="internal[UITypeDisplayElementBase]">\n  <GEBFiltering Key="@Default_Filter1" TargetType="internal[UITypeDisplayElementBase]">\n    <CurrentFilter>true</CurrentFilter>\n    <Name>Default Filter</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>0</SortIndex>\n    <GEBFilteringData Key="@2">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Outline1" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n        <ColumnID>[121142.0.1058023525]</ColumnID>\n        <BaseName>Outline</BaseName>\n        <Name>Outline</Name>\n        <Title>Outline</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Outline</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@3">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@4" Column="@Outline1">\n          <ColumnID>[121142.0.1058023525]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@5">\n          <ExpressionText></ExpressionText>\n          <Converter>\n            <ZeroConverter Key="@6">\n              <IsStandard>true</IsStandard>\n              <IsISO>false</IsISO>\n              <IsCustom>false</IsCustom>\n              <ConversionType>0</ConversionType>\n            </ZeroConverter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n  <GEBFiltering Key="@Hide_inherited_elements1" TargetType="internal[UITypeDisplayElementBase]">\n    <CurrentFilter>false</CurrentFilter>\n    <Name>Hide inherited elements</Name>\n    <Active>false</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>1</SortIndex>\n    <GEBFilteringData Key="@7">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Outline2" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n        <ColumnID>[121142.0.507823646]</ColumnID>\n        <BaseName>Outline</BaseName>\n        <Name>Outline</Name>\n        <Title>Outline</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Outline</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBSelectColumn Key="@ValueType1" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n        <ColumnID>[121142.0.507823661]</ColumnID>\n        <BaseName>ValueType</BaseName>\n        <Name>ValueType</Name>\n        <Title>ValueType</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>ValueType</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBSelectColumn Key="@IsInherited1" ElementType="internal[UITypeDisplayElementBase]" ValueType="Boolean">\n        <ColumnID>[121142.0.507823701]</ColumnID>\n        <BaseName>IsInherited</BaseName>\n        <Name>IsInherited</Name>\n        <Title>IsInherited</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>IsInherited</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@8">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@9" Column="@Outline2">\n          <ColumnID>[121142.0.507823646]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFilterColumn Key="@10" Column="@ValueType1">\n          <ColumnID>[121142.0.507823661]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFilterColumn Key="@11" Column="@IsInherited1">\n          <ColumnID>[121142.0.507823701]</ColumnID>\n          <GEBFilterColumnMatch Key="@12">\n            <Operation>=</Operation>\n            <Enabled>true</Enabled>\n            <RHSValue>\n              <RHSConstantValue Key="@13">\n                <StringValue></StringValue>\n                <Value>false</Value>\n              </RHSConstantValue>\n            </RHSValue>\n          </GEBFilterColumnMatch>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@14">\n          <ExpressionText></ExpressionText>\n          <Converter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n  <GEBFiltering Key="@Hide_empty_groups1" TargetType="internal[UITypeDisplayElementBase]">\n    <CurrentFilter>false</CurrentFilter>\n    <Name>Hide empty groups</Name>\n    <Active>false</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>2</SortIndex>\n    <GEBFilteringData Key="@15">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Outline3" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n        <ColumnID>[121142.0.507823747]</ColumnID>\n        <BaseName>Outline</BaseName>\n        <Name>Outline</Name>\n        <Title>Outline</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Outline</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@16">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@17" Column="@Outline3">\n          <ColumnID>[121142.0.507823747]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@18">\n          <ExpressionText>object.istype( UITypeDisplayNewElementPlaceholder )\nor object.Group().ModeledElementsSize() &gt; 0</ExpressionText>\n          <Converter>\n            <ZeroConverter Key="@19">\n              <IsStandard>true</IsStandard>\n              <IsISO>false</IsISO>\n              <IsCustom>false</IsCustom>\n              <ConversionType>0</ConversionType>\n            </ZeroConverter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n  <GEBFiltering Key="@Hide_coded_elements1" TargetType="internal[UITypeDisplayElementBase]">\n    <CurrentFilter>false</CurrentFilter>\n    <Name>Hide coded elements</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>3</SortIndex>\n    <GEBFilteringData Key="@20">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Outline4" ElementType="internal[UITypeDisplayElementBase]" ValueType="String">\n        <ColumnID>[121142.0.1058023525]</ColumnID>\n        <BaseName>Outline</BaseName>\n        <Name>Outline</Name>\n        <Title>Outline</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Outline</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@21">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@22" Column="@Outline4">\n          <ColumnID>[121142.0.1058023525]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@23">\n          <ExpressionText>( object.istype( UITypeDisplayElement ) and object.Kind() = &quot;RELATION&quot; ) or\nobject.istype( UITypeDisplayGroupHeader ) or\nobject.istype( UITypeDisplayNewElementPlaceholder ) or\n( object.istype( UIModeledTypeDisplayElement ) and\n  not isnull(object.astype( UIModeledTypeDisplayElement ).ObjectModelObject()) and\n  object.astype( UIModeledTypeDisplayElement ).ObjectModelObject().Visible() )</ExpressionText>\n          <Converter>\n            <ZeroConverter Key="@24">\n              <IsStandard>true</IsStandard>\n              <IsISO>false</IsISO>\n              <IsCustom>false</IsCustom>\n              <ConversionType>0</ConversionType>\n            </ZeroConverter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n</GEBObjectsFilter>\n'
+           DataMemberSort 'Index [1.2.7326]' true true
+           ColumnSort [121142.0.501068002] true false
+          }
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [121142.0.500923178]
+            OBJECTTYPE GUIDataSetLevel // dslOverrides
+            CONTENTS
+            {
+             Columns
+             {
+               Definition := [103784.990.1153959078]
+               {
+                 [103784.990.1159008565]
+               }
+               SubTotals := true
+               Visible
+               {
+                 Column internal[DataSetDataColumn] [121142.0.501068004]
+                 {
+                   Width := 100
+                   Subtotals := false
+                   Specific
+                   {
+                     DataPath := 'ObjectModelObject [1.3.4850]|TargetType [1.2.1730]'
+                   }
+                 }
+               }
+             }
+            }
+           }
+          }
+         }
+        }
+       }
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [136402.0.98084624]
+      SINGLEINSTANCE false
+      ID 'Types per Module'
+      PARENTKEY [892.10.659696]
+      OBJECTTYPE Form // frmTypesByModule
+      CREATETYPE frmTypesByModule
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[L0.2052;T0.4273;]TabIdx[0]Selection[FRONT]
+      }
+      BASEINFOOBJECTS
+      {
+       BASEINFOOBJECT
+       {
+        KEY [136402.0.98084624]
+        OBJECTTYPE GUIComponent // frmTypesByModule
+        COMPONENTDATA
+        {
+         [136402.0.98084624]:[103784.990.728734692]:[892.10.659816]:[514.0.129466]:[892.10.659835] STR 'true'
+        }
+       }
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [121142.0.1211769996]
+        OBJECTTYPE GUIDataSetLevel // GUIDataSetLevel776
+        CONTENTS
+        {
+         Columns
+         {
+           Definition := [121142.0.950060792]
+           {
+             [121142.0.950062702]
+           }
+           SubTotals := true
+           Visible
+           {
+             Column internal[DataSetDataColumn] [121142.0.950062702]
+             {
+               Width := 100
+               Subtotals := false
+               Specific
+               {
+                 DataPath := 'Name [1.2.6744]'
+               }
+             }
+           }
+         }
+         ColumnSort [121142.0.950062702] true false
+        }
+       }
+       INFOOBJECT
+       {
+        KEY [103784.990.728734692]
+        OBJECTTYPE List // ListTypes
+        CONTENTS
+        {
+         Quantorrow := false
+        }
+        INFOOBJECTS
+        {
+         INFOOBJECT
+         {
+          KEY [101180.2.890701323]
+          OBJECTTYPE ValueHolder // ValueHolder
+          CONTENTS
+          {
+           Value 'false'
+          }
+         }
+         INFOOBJECT
+         {
+          KEY [10786.2.342808981]
+          OBJECTTYPE ValueHolder // vhGlobals
+          CONTENTS
+          {
+           Value ''
+          }
+         }
+         INFOOBJECT
+         {
+          KEY [892.10.659838]
+          OBJECTTYPE GUIDataSetLevel // dslTypes
+          CONTENTS
+          {
+           Columns
+           {
+             Definition := [121142.0.950060792]
+             {
+               [121142.0.950062702]
+             }
+             SubTotals := true
+             Visible
+             {
+               Column internal[DataSetDataColumn] [121142.0.950062702]
+               {
+                 Width := 367
+                 SizedByUser := true
+                 Subtotals := false
+                 Specific
+                 {
+                   DataPath := 'Name [1.2.6744]'
+                 }
+               }
+             }
+           }
+           DataMemberSort 'IsDomain [1.2.6747]' false true
+           DataMemberSort 'IsSystemLibrary [1.2.7907]' true true
+           DataMemberSort 'IsAvailable [1.2.7451]' false true
+           ColumnSort [121142.0.950062702] true false
+          }
+          INFOOBJECTS
+          {
+           INFOOBJECT
+           {
+            KEY [136402.0.98091406]
+            OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelTypes
+            CONTENTS
+            {
+             Columns
+             {
+               Definition := [103784.990.1535755633]
+               {
+                 [103784.990.1535759199]
+               }
+               SubTotals := true
+               Visible
+               {
+                 Column internal[DataSetDataColumn] [103784.990.1535759199]
+                 {
+                   Width := 375
+                   SizedByUser := true
+                   Subtotals := false
+                   Specific
+                   {
+                     DataPath := 'Name [1.2.1645]'
+                   }
+                 }
+               }
+             }
+             Filter := '<?xml version="1.0" encoding="UTF-16"?>\n<GEBObjectsFilter xmlns="http://www.quintiq.com/GEB/GEBObjectsFilter" Key="@1" CurrentFilter="@Default_Filter1" TargetType="internal[ObjectModelType]">\n  <GEBFiltering Key="@Default_Filter1" TargetType="internal[ObjectModelType]">\n    <CurrentFilter>true</CurrentFilter>\n    <Name>Default Filter</Name>\n    <Active>true</Active>\n    <IsFavorite>false</IsFavorite>\n    <SortIndex>0</SortIndex>\n    <GEBFilteringData Key="@2">\n      <DefaultColumnPrefix></DefaultColumnPrefix>\n      <ColumnPostfix></ColumnPostfix>\n      <GEBSelectColumn Key="@Name1" ElementType="internal[ObjectModelType]" ValueType="String">\n        <ColumnID>[413988.0.1111730433]</ColumnID>\n        <BaseName>Name</BaseName>\n        <Name>Name</Name>\n        <Title>Name</Title>\n        <IsTarget>false</IsTarget>\n        <NameHasBeenSet>false</NameHasBeenSet>\n        <ColumnFinal>Fail</ColumnFinal>\n        <AttributePathText>Name</AttributePathText>\n        <AttributePathIdentifier>\n        </AttributePathIdentifier>\n      </GEBSelectColumn>\n      <GEBFilter Key="@3">\n        <FreeFilterEnabled>true</FreeFilterEnabled>\n        <GEBFilterColumn Key="@4" Column="@Name1">\n          <ColumnID>[413988.0.1111730433]</ColumnID>\n        </GEBFilterColumn>\n        <GEBFreeFilterBody Key="@5">\n          <ExpressionText></ExpressionText>\n          <Converter>\n          </Converter>\n        </GEBFreeFilterBody>\n      </GEBFilter>\n    </GEBFilteringData>\n  </GEBFiltering>\n</GEBObjectsFilter>\n'
+             DataMemberSort 'SortOrder [1.2.1686]' true true
+             ColumnSort [103784.990.1535759199] true false
+            }
+            INFOOBJECTS
+            {
+             INFOOBJECT
+             {
+              KEY [135566.0.318964952]
+              OBJECTTYPE GUIDataSetLevel // GUIDataSetLevelSpecializations
+              CONTENTS
+              {
+               Columns
+               {
+                 Definition := [103784.990.1535755633]
+                 {
+                   [103784.990.1535759199]
+                 }
+                 SubTotals := true
+                 Visible
+                 {
+                   Column internal[DataSetDataColumn] [103784.990.1535759199]
+                   {
+                     Width := 100
+                     Subtotals := false
+                     Specific
+                     {
+                       DataPath := 'Name [1.2.1645]'
+                     }
+                   }
+                 }
+               }
+               DataMemberSort 'SortOrder [1.2.1686]' true true
+               ColumnSort [103784.990.1535759199] true false
+              }
+             }
+            }
+           }
+          }
+         }
+        }
+       }
+      }
+     }
+     INFOOBJECT
+     {
+      KEY [121142.0.36340892]
+      SINGLEINSTANCE false
+      ID 'Model Overview'
+      PARENTKEY [892.10.659696]
+      OBJECTTYPE Form // frmModelOverview
+      CREATETYPE frmModelOverview
+      CONTENTS
+      {
+       State := normal
+       (0,0,0,0)
+       DockableLocation := Station[MAIN]State[NORM]TreePath[R0.7948;T0.9939;]TabIdx[0]Selection[FRONT]
+      }
+      BASEINFOOBJECTS
+      {
+       BASEINFOOBJECT
+       {
+        KEY [121142.0.36340892]
+        OBJECTTYPE GUIContainerComponent // frmModelOverview
+        COMPONENTDATA
+        {
+         [121142.0.36340892]:[121142.0.37512339]:[121142.0.40573788] STR 'PeriodTaskOperation:Unit:PeriodTaskLaneLeg:OperationInput:OperationOutput:Operation:MacroPlan:PeriodTask_MP#410:211:150:667:432:465:184:173#218:128:299:127:29:128:29:216#219:54:197:164:175:109:109:153#26:26:26:26:26:26:26:26'
+         [121142.0.36340892]:[121142.0.37512339]:[121142.0.48706989]:[121142.0.48706990]:[121142.0.48809938] STR 'true'
+        }
+       }
+      }
+      INFOOBJECTS
+      {
+       INFOOBJECT
+       {
+        KEY [121142.0.37512339]
+        OBJECTTYPE CustomDrawComponent // customDraw
+        CONTENTS
+        {
+         ZoomX 1.331
+         ZoomY 1.331
+        }
+        INFOOBJECTS
+        {
+        }
+       }
+      }
+     }
+    }
+   }
+  }
+  COMPONENTDATA
+  {
+   [892.10.659695]:[892.10.659696]:[103784.990.702401639] STR 'MacroPlanner'
+   [892.10.659695]:[892.10.659696]:[892.10.659800]:[892.10.1501977] STR '0'
+  }
+}
diff --git "a/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw" "b/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw"
index 7f49c04..f5480dc 100644
--- "a/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw"
+++ "b/_var/_Main/ProjSettings/EditorTC/Views/\350\275\246\351\201\223\346\225\264\347\217\255\345\210\206\346\236\220_\133413988.0.1301140601\135.vw"
@@ -17,7 +17,7 @@
   CREATIONUSER 'quintiq/lihongji'
   UPDATEDATETIME '2024-06-28T13:59:54'
   UPDATEUSER 'quintiq/lihongji'
-  LASTACCESSDATE '2024-07-09'
+  LASTACCESSDATE '2024-07-12'
   VIEWSCOPE 0
 }
 AUTHORIZATIONS

--
Gitblit v1.9.3