From a39aa89a8d8daeeefb5f37b1d4318bc5a6990da1 Mon Sep 17 00:00:00 2001
From: lihongji <3117313295@qq.com>
Date: 星期日, 29 九月 2024 12:24:56 +0800
Subject: [PATCH] 整班优化

---
 _Main/BL/Type_TransferMinimumQuantity/Attribute_ProductID.qbl                                                         |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mEdit_OnClick.def             |   21 +
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_Edit.def                                                |   16 +
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Component_pnlContent.def                                       |   36 +++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlActions_btnOk_OnClick.def                          |   15 +
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bImport_OnClick.def                       |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_cmContent.def                           |   69 ++++++
 _Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listContextMenu902#1.def                       |    2 
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bRestore_OnClick.def                      |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_OnOK.def                                                |   17 +
 _Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mDelete_OnClick.def           |   19 +
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bGenerateReport_OnClick.def               |    6 
 _Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mSelectAll_OnClick.def        |   17 +
 _Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pHeader_bDeselectAll_OnClick.def                |   22 ++
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bSaveAsDraft_OnClick.def                  |    2 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlActions_btnCancel_OnClick.def                      |   15 +
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bConfirm_OnClick.def                      |    4 
 _Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_lstContent.def                          |   59 +++++
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pHeader1#799.def                                      |    8 
 _Main/BL/Relations/Relation_TransferMinimumQuantity_MacroPlan_MacroPlan_TransferMinimumQuantity.qbl                   |   23 ++
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bDeductChangeoverLoss_OnClick.def         |    6 
 _Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_ListEntity.def                                 |   22 -
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Component_pnlActions.def                                       |   40 +++
 _Main/BL/Type_Unit/Method_WholeShiftFiltering.qbl                                                                     |    6 
 _Main/BL/Type_MacroPlan/Attribute_A_PreviousScenaioName.qbl                                                           |    8 
 _Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlContent.def                                 |    1 
 _Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_pnlContent.def                          |   56 -----
 _Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/_ROOT_Component_DialogTransferMinimumQuantity.def |    2 
 _Main/BL/Type_TransferMinimumQuantity/_ROOT_Type_TransferMinimumQuantity.qbl                                          |    9 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/_ROOT_Component_DialogCreateEditTransferMinimumQuantity.def    |   32 ++
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_New.def                                                 |   14 +
 _Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_abpContent.def                          |   10 
 _Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pHeader.def                                    |   27 ++
 _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pHeader2.def                                          |    1 
 _Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mNew_OnClick.def              |   23 ++
 _Main/BL/Type_TransferMinimumQuantity/Attribute_Quantity.qbl                                                          |    7 
 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlContent_ddslProductID_OnCreated.def                |   18 +
 37 files changed, 555 insertions(+), 89 deletions(-)

diff --git a/_Main/BL/Relations/Relation_TransferMinimumQuantity_MacroPlan_MacroPlan_TransferMinimumQuantity.qbl b/_Main/BL/Relations/Relation_TransferMinimumQuantity_MacroPlan_MacroPlan_TransferMinimumQuantity.qbl
new file mode 100644
index 0000000..17a5fbe
--- /dev/null
+++ b/_Main/BL/Relations/Relation_TransferMinimumQuantity_MacroPlan_MacroPlan_TransferMinimumQuantity.qbl
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: #root
+Relation TransferMinimumQuantity_MacroPlan_MacroPlan_TransferMinimumQuantity
+{
+  #keys: '1[413988.0.1584313394]'
+  DefaultRelationStrategy
+  {
+  }
+  RelationSide.LeftSide MacroPlan
+  {
+    #keys: '3[413988.0.1584313396][413988.0.1584313395][413988.0.1584313397]'
+    Cardinality: '0to1'
+    ObjectDefinition: TransferMinimumQuantity
+    OwningSide: 'Reference'
+  }
+  RelationSide.RightSide TransferMinimumQuantity
+  {
+    #keys: '3[413988.0.1584313399][413988.0.1584313398][413988.0.1584313400]'
+    Cardinality: '1toN'
+    ObjectDefinition: MacroPlan
+    OwningSide: 'Owned'
+  }
+}
diff --git a/_Main/BL/Type_MacroPlan/Attribute_A_PreviousScenaioName.qbl b/_Main/BL/Type_MacroPlan/Attribute_A_PreviousScenaioName.qbl
new file mode 100644
index 0000000..8fd2023
--- /dev/null
+++ b/_Main/BL/Type_MacroPlan/Attribute_A_PreviousScenaioName.qbl
@@ -0,0 +1,8 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute A_PreviousScenaioName
+{
+  #keys: '3[413988.0.1581730054][413988.0.1581730053][413988.0.1581730055]'
+  Description: '鐢ㄤ簬涓嬬嚎璁″垝纭鍔熻兘'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_TransferMinimumQuantity/Attribute_ProductID.qbl b/_Main/BL/Type_TransferMinimumQuantity/Attribute_ProductID.qbl
new file mode 100644
index 0000000..07fa71a
--- /dev/null
+++ b/_Main/BL/Type_TransferMinimumQuantity/Attribute_ProductID.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute ProductID
+{
+  #keys: '3[413988.0.1584313375][413988.0.1584313374][413988.0.1584313376]'
+  ValueType: String
+}
diff --git a/_Main/BL/Type_TransferMinimumQuantity/Attribute_Quantity.qbl b/_Main/BL/Type_TransferMinimumQuantity/Attribute_Quantity.qbl
new file mode 100644
index 0000000..b575bdf
--- /dev/null
+++ b/_Main/BL/Type_TransferMinimumQuantity/Attribute_Quantity.qbl
@@ -0,0 +1,7 @@
+Quintiq file version 2.0
+#parent: #root
+Attribute Quantity
+{
+  #keys: '3[413988.0.1584313385][413988.0.1584313384][413988.0.1584313386]'
+  ValueType: Real
+}
diff --git a/_Main/BL/Type_TransferMinimumQuantity/_ROOT_Type_TransferMinimumQuantity.qbl b/_Main/BL/Type_TransferMinimumQuantity/_ROOT_Type_TransferMinimumQuantity.qbl
new file mode 100644
index 0000000..47a1a91
--- /dev/null
+++ b/_Main/BL/Type_TransferMinimumQuantity/_ROOT_Type_TransferMinimumQuantity.qbl
@@ -0,0 +1,9 @@
+Quintiq file version 2.0
+#root
+#parent: #DomainModel
+Type TransferMinimumQuantity
+{
+  #keys: '5[413988.0.1584313371][413988.0.1584313369][0.0.0][413988.0.1584313370][413988.0.1584313372]'
+  BaseType: Object
+  StructuredName: 'TransferMinimumQuantitys'
+}
diff --git a/_Main/BL/Type_Unit/Method_WholeShiftFiltering.qbl b/_Main/BL/Type_Unit/Method_WholeShiftFiltering.qbl
new file mode 100644
index 0000000..b110d74
--- /dev/null
+++ b/_Main/BL/Type_Unit/Method_WholeShiftFiltering.qbl
@@ -0,0 +1,6 @@
+Quintiq file version 2.0
+#parent: #root
+Method WholeShiftFiltering () declarative remote as Boolean
+{
+  TextBody: 'return this.HasCapacityTypeTime() or this.HasCapacityTypeTransportQuantity();'
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Component_pnlActions.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Component_pnlActions.def
new file mode 100644
index 0000000..73baecb
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Component_pnlActions.def
@@ -0,0 +1,40 @@
+Quintiq file version 2.0
+Component pnlActions
+{
+  #keys: '[413988.0.1584412873]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component btnOk
+    {
+      #keys: '[413988.0.1584412877]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'OK'
+        Taborder: 0
+      ]
+    }
+    Component btnCancel
+    {
+      #keys: '[413988.0.1584412879]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Label: 'Cancel'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    Border: true
+    ExcludeFromActiveComponent: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Padding: 'true'
+    Style: 'footer'
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Component_pnlContent.def
new file mode 100644
index 0000000..62574ab
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Component_pnlContent.def
@@ -0,0 +1,36 @@
+Quintiq file version 2.0
+Component pnlContent
+{
+  #keys: '[413988.0.1584412871]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component ddslProductID
+    {
+      #keys: '[413988.0.1584413067]'
+      BaseType: 'WebDropDownStringList'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialogData.Data.ProductID'
+        Label: 'Product ID'
+        Taborder: 0
+      ]
+    }
+    Component npQuantity
+    {
+      #keys: '[413988.0.1584413087]'
+      BaseType: 'WebNumberPicker'
+      Properties:
+      [
+        DataBinding: 'DataHolderDialogData.Data.Quantity'
+        Label: 'Quantity'
+        Taborder: 1
+      ]
+    }
+  ]
+  Properties:
+  [
+    Padding: 'true'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_Edit.def
new file mode 100644
index 0000000..9d58235
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_Edit.def
@@ -0,0 +1,16 @@
+Quintiq file version 2.0
+#parent: #root
+Method Edit (
+  TransferMinimumQuantity selection
+) id:Method_DialogCreateEditTransferMinimumQuantity_Edit
+{
+  #keys: '[413988.0.1584413050]'
+  Body:
+  [*
+    data := shadow( selection );
+    
+    DataHolderDialogData.Data( &data );
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_New.def
new file mode 100644
index 0000000..2f11379
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_New.def
@@ -0,0 +1,14 @@
+Quintiq file version 2.0
+#parent: #root
+Method New () id:Method_DialogCreateEditTransferMinimumQuantity_New
+{
+  #keys: '[413988.0.1584413052]'
+  Body:
+  [*
+    data := MacroPlan.TransferMinimumQuantity( relshadow );
+    
+    DataHolderDialogData.Data( &data );
+    
+    ApplicationMacroPlanner.ShowFormModal( this );
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_OnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_OnOK.def
new file mode 100644
index 0000000..f9b5433
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Method_OnOK.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: #root
+Method OnOK () id:Method_DialogCreateEditTransferMinimumQuantity_OnOK
+{
+  #keys: '[413988.0.1584413053]'
+  Body:
+  [*
+    // On ok
+    Form.ApplyChanges();
+    
+    data := DataHolderDialogData.Data();
+    
+    data.Commit();
+    
+    Form.Close();
+  *]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlActions_btnCancel_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlActions_btnCancel_OnClick.def
new file mode 100644
index 0000000..27bdb3b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlActions_btnCancel_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnCancel
+Response OnClick () id:Response_pnlActions_btnCancel_OnClick
+{
+  #keys: '[413988.0.1584412883]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  GroupServerCalls: true
+  QuillAction
+  {
+    Body:
+    [*
+      Form.Close();
+    *]
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlActions_btnOk_OnClick.def
new file mode 100644
index 0000000..5876a55
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlActions_btnOk_OnClick.def
@@ -0,0 +1,15 @@
+Quintiq file version 2.0
+#parent: pnlActions/btnOk
+Response OnClick () id:Response_pnlActions_btnOk_OnClick
+{
+  #keys: '[413988.0.1584412882]'
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  QuillAction
+  {
+    Body:
+    [*
+      Form.OnOK();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlContent_ddslProductID_OnCreated.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlContent_ddslProductID_OnCreated.def
new file mode 100644
index 0000000..6a38990
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/Response_pnlContent_ddslProductID_OnCreated.def
@@ -0,0 +1,18 @@
+Quintiq file version 2.0
+#parent: pnlContent/ddslProductID
+Response OnCreated () id:Response_pnlContent_ddslProductID_OnCreated
+{
+  #keys: '[413988.0.1584413155]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebComponent_OnCreated'
+  QuillAction
+  {
+    Body:
+    [*
+      ids := selectuniquevalues( MacroPlan, Product_MP, tempPMP, true, tempPMP.ID() );
+      
+      this.Strings( ids.Concatenate( ";" ) );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/_ROOT_Component_DialogCreateEditTransferMinimumQuantity.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/_ROOT_Component_DialogCreateEditTransferMinimumQuantity.def
new file mode 100644
index 0000000..1aea87b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEdit/_ROOT_Component_DialogCreateEditTransferMinimumQuantity.def
@@ -0,0 +1,32 @@
+Quintiq file version 2.0
+#root
+#parent: MacroPlannerWebApp
+OrphanComponent DialogCreateEditTransferMinimumQuantity
+{
+  #keys: '[413988.0.1584412869]'
+  BaseType: 'WebForm'
+  Children:
+  [
+    #child: pnlContent
+    #child: pnlActions
+    Component DataHolderDialogData id:DataHolderDialogData_438
+    {
+      #keys: '[413988.0.1584413005]'
+      BaseType: 'WebDataHolder'
+      Databinding: 'shadow[TransferMinimumQuantity]*'
+      Properties:
+      [
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Alignment: 'trailing'
+    EnterButton: 'btnOk'
+    EscapeButton: 'btnCancel'
+    ExcludeFromActiveComponent: true
+    Padding: 'false'
+    Title: 'TransferMinimumQuantity'
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_abpContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_abpContent.def
new file mode 100644
index 0000000..0d81068
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_abpContent.def
@@ -0,0 +1,10 @@
+Quintiq file version 2.0
+Component abpContent
+{
+  #keys: '[413988.0.1584413600]'
+  BaseType: 'listActionBarPage'
+  Properties:
+  [
+    Taborder: 1
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_cmContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_cmContent.def
new file mode 100644
index 0000000..f8104df
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_cmContent.def
@@ -0,0 +1,69 @@
+Quintiq file version 2.0
+Component cmContent
+{
+  #keys: '[413988.0.1584413605]'
+  BaseType: 'listContextMenu'
+  Children:
+  [
+    Component MenuSeparator
+    {
+      #keys: '[121142.1.1147171519]'
+      BaseType: 'MenuSeparator'
+      IsDerived: true
+      Properties:
+      [
+        Taborder: 3
+      ]
+    }
+    Component mSelectAll
+    {
+      #keys: '[413988.0.1584413729]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'SELECTION_VIEW'
+        Shortcut: 'Ctrl+A'
+        Taborder: 2
+        Title: 'Select all'
+      ]
+    }
+    Component mNew
+    {
+      #keys: '[413988.0.1584413791]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'ADD2'
+        Taborder: 4
+        Title: 'New'
+      ]
+    }
+    Component mEdit
+    {
+      #keys: '[413988.0.1584413813]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        BindOnDoubleClick: true
+        Image: 'PENCIL'
+        Taborder: 5
+        Title: 'Edit'
+      ]
+    }
+    Component mDelete
+    {
+      #keys: '[413988.0.1584413835]'
+      BaseType: 'WebMenu'
+      Properties:
+      [
+        Image: 'DELETE'
+        Taborder: 6
+        Title: 'Delete'
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_lstContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_lstContent.def
new file mode 100644
index 0000000..de9e1d8
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_lstContent.def
@@ -0,0 +1,59 @@
+Quintiq file version 2.0
+Component lstContent
+{
+  #keys: '[413988.0.1584413597]'
+  BaseType: 'WebList'
+  Children:
+  [
+    Component deContent
+    {
+      #keys: '[413988.0.1584413598]'
+      BaseType: 'WebDataExtractor'
+      Properties:
+      [
+        DataType: 'MacroPlan'
+        Source: 'MacroPlan'
+        Taborder: 0
+        Transformation: 'TransferMinimumQuantity'
+      ]
+    }
+    #child: abpContent
+    Component dslContent
+    {
+      #keys: '[413988.0.1584413603]'
+      BaseType: 'WebDataSetLevel'
+      Children:
+      [
+        #child: cmContent
+      ]
+      Properties:
+      [
+        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ProductID","title":"ProductID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"ProductID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}}]'
+        ContextMenu: 'cmContent'
+        Taborder: 2
+      ]
+    }
+  ]
+  Properties:
+  [
+    Taborder: 0
+  ]
+  ResponseDefinitions:
+  [
+    DelegatedResponseDefinition OnClick id:Responsedef_lstContent_WebMenu_OnClick
+    {
+      #keys: '[413988.0.1584413922]'
+      Initiator: 'WebMenu'
+      IsInherited: false
+      ResponseType: 'OnClick'
+      Arguments:
+      [
+        ResponseDefinitionArgument selection
+        {
+          #keys: '[3751.0.8761425]'
+          Binding: 'this.Selection()'
+        }
+      ]
+    }
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_pnlContent.def
index 3ff0626..1c826a3 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Component_pnlContent.def
@@ -5,61 +5,7 @@
   BaseType: 'WebPanel'
   Children:
   [
-    Component npCylinderBlock
-    {
-      #keys: '[413988.0.1273522242]'
-      BaseType: 'WebNumberPicker'
-      Properties:
-      [
-        DataBinding: 'MacroPlan.CylinderBlock'
-        Label: '缂镐綋(pcs)'
-        Taborder: 0
-      ]
-    }
-    Component npCylinderHead
-    {
-      #keys: '[413988.0.1273522255]'
-      BaseType: 'WebNumberPicker'
-      Properties:
-      [
-        DataBinding: 'MacroPlan.CylinderHead'
-        Label: '缂哥洊(pcs)'
-        Taborder: 1
-      ]
-    }
-    Component npConnectingRod
-    {
-      #keys: '[413988.0.1273522267]'
-      BaseType: 'WebNumberPicker'
-      Properties:
-      [
-        DataBinding: 'MacroPlan.ConnectingRod'
-        Label: '杩炴潌(pcs)'
-        Taborder: 2
-      ]
-    }
-    Component npCrankshaft
-    {
-      #keys: '[413988.0.1273522280]'
-      BaseType: 'WebNumberPicker'
-      Properties:
-      [
-        DataBinding: 'MacroPlan.Crankshaft'
-        Label: '鏇茶酱(pcs)'
-        Taborder: 3
-      ]
-    }
-    Component npBalanceAxis
-    {
-      #keys: '[413988.0.1273522292]'
-      BaseType: 'WebNumberPicker'
-      Properties:
-      [
-        DataBinding: 'MacroPlan.BalanceAxis'
-        Label: '骞宠 杞�(pcs)'
-        Taborder: 4
-      ]
-    }
+    #child: lstContent
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mDelete_OnClick.def
new file mode 100644
index 0000000..22cdd1b
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mDelete_OnClick.def
@@ -0,0 +1,19 @@
+Quintiq file version 2.0
+#parent: lstContent
+Response OnClick (
+  structured[TransferMinimumQuantity] selection
+) id:Response_lstContent_mDelete_OnClick
+{
+  #keys: '[413988.0.1584415019]'
+  CanBindMultiple: false
+  DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick
+  Initiator: 'mDelete'
+  QuillAction
+  {
+    Body:
+    [*
+      MacroPlan::DeleteObjects( selection );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mEdit_OnClick.def
new file mode 100644
index 0000000..e14a266
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mEdit_OnClick.def
@@ -0,0 +1,21 @@
+Quintiq file version 2.0
+#parent: lstContent
+Response OnClick (
+  TransferMinimumQuantity selection
+) id:Response_lstContent_mEdit_OnClick
+{
+  #keys: '[413988.0.1584414766]'
+  CanBindMultiple: false
+  DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick
+  Initiator: 'mEdit'
+  QuillAction
+  {
+    Body:
+    [*
+      dlg := construct( DialogCreateEditTransferMinimumQuantity );
+      
+      dlg.Edit( selection );
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mNew_OnClick.def
new file mode 100644
index 0000000..9100d24
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mNew_OnClick.def
@@ -0,0 +1,23 @@
+Quintiq file version 2.0
+#parent: lstContent
+Response OnClick () id:Response_lstContent_mNew_OnClick
+{
+  #keys: '[413988.0.1584414263]'
+  CanBindMultiple: false
+  DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick
+  Initiator: 'mNew'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      dlg := construct( DialogCreateEditTransferMinimumQuantity );
+      
+      dlg.New();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mSelectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mSelectAll_OnClick.def
new file mode 100644
index 0000000..6775177
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/Response_lstContent_mSelectAll_OnClick.def
@@ -0,0 +1,17 @@
+Quintiq file version 2.0
+#parent: lstContent
+Response OnClick () id:Response_lstContent_mSelectAll_OnClick
+{
+  #keys: '[413988.0.1584414036]'
+  CanBindMultiple: false
+  DefinitionID => /lstContent/Responsedef_lstContent_WebMenu_OnClick
+  Initiator: 'mSelectAll'
+  QuillAction
+  {
+    Body:
+    [*
+      this.SelectAll();
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/_ROOT_Component_DialogTransferMinimumQuantity.def b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/_ROOT_Component_DialogTransferMinimumQuantity.def
index b2f9f0d..12c8a5f 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/_ROOT_Component_DialogTransferMinimumQuantity.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogTransferMinimumQuantity/_ROOT_Component_DialogTransferMinimumQuantity.def
@@ -16,6 +16,8 @@
     EnterButton: 'btnOk'
     EscapeButton: 'btnCancel'
     ExcludeFromActiveComponent: true
+    MinimumColumns: 50
+    MinimumRows: 30
     Padding: 'false'
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_ListEntity.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_ListEntity.def
index 9993e10..2e353d2 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_ListEntity.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_ListEntity.def
@@ -12,10 +12,10 @@
       Properties:
       [
         DataType: 'MacroPlan'
-        FixedFilter: 'not object.GetIsSystem() and object.IsUnit();'
+        FixedFilter: 'not object.GetIsSystem() and object.IsUnit() and object.WholeShiftFiltering();'
         Source: 'MacroPlan'
         Taborder: 0
-        Transformation: 'RootEntity'
+        Transformation: 'Unit'
       ]
     }
     Component DataSetLevelRootEntity
@@ -25,27 +25,11 @@
       Children:
       [
         #child: listContextMenu902_1
-        Component DataSetLevelChildEntity
-        {
-          #keys: '[414702.2.1845329623]'
-          BaseType: 'WebDataSetLevel'
-          Properties:
-          [
-            Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":-1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayName","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"DisplayName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayCapacityType","title":"Capacity type","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"DisplayCapacityType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsToFill","title":"ImgIsToFill","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsToFill"}}]'
-            ContextMenu: 'listContextMenu902'
-            FixedFilter: 'not object.GetIsSystem() and object.IsUnit();'
-            RelationFromParent: 'ChildEntity'
-            RelationRepeating: 'ChildEntity'
-            SortCriteria: 'DisplayIndex'
-            Taborder: 0
-          ]
-        }
       ]
       Properties:
       [
         Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":-1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayName","title":"Name","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"DisplayName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"DisplayCapacityType","title":"Capacity type","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"DisplayCapacityType"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"ImgIsToFill","title":"ImgIsToFill","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"ImgIsToFill"}}]'
         ContextMenu: 'listContextMenu902'
-        RelationFromParent: 'ChildEntity'
         SortCriteria: 'DisplayIndex'
         Taborder: 1
       ]
@@ -55,7 +39,7 @@
   Properties:
   [
     DefaultExpandLevels: 100
-    Taborder: 0
+    Taborder: 1
   ]
   ResponseDefinitions:
   [
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listContextMenu902\0431.def" "b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listContextMenu902\0431.def"
index b97df8e..f04789c 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listContextMenu902\0431.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_listContextMenu902\0431.def"
@@ -52,6 +52,6 @@
   ]
   Properties:
   [
-    Taborder: 1
+    Taborder: 0
   ]
 }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pHeader.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pHeader.def
new file mode 100644
index 0000000..9e302b1
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pHeader.def
@@ -0,0 +1,27 @@
+Quintiq file version 2.0
+Component pHeader
+{
+  #keys: '[413988.0.1584415148]'
+  BaseType: 'WebPanel'
+  Children:
+  [
+    Component bDeselectAll
+    {
+      #keys: '[413988.0.1585579042]'
+      BaseType: 'WebButton'
+      Properties:
+      [
+        Image: 'SELECTION_DELETE'
+        Label: 'Deselect all'
+        Taborder: 0
+      ]
+    }
+  ]
+  Properties:
+  [
+    Border: true
+    FixedSize: true
+    Orientation: 'horizontal'
+    Taborder: 0
+  ]
+}
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlContent.def
index 0216bca..cf54825 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlContent.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Component_pnlContent.def
@@ -6,6 +6,7 @@
   Children:
   [
     #child: ListEntity
+    #child: pHeader
   ]
   Properties:
   [
diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pHeader_bDeselectAll_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pHeader_bDeselectAll_OnClick.def
new file mode 100644
index 0000000..6676b9a
--- /dev/null
+++ b/_Main/UI/MacroPlannerWebApp/Component_DialogWholeShiftSystem/Response_pHeader_bDeselectAll_OnClick.def
@@ -0,0 +1,22 @@
+Quintiq file version 2.0
+#parent: pHeader/bDeselectAll
+Response OnClick () id:Response_pHeader_bDeselectAll_OnClick
+{
+  #keys: '[413988.0.1585579057]'
+  CanBindMultiple: false
+  DefinitionID: 'Responsedef_WebButton_OnClick'
+  Precondition:
+  [*
+    return not isnull( MacroPlan );
+  *]
+  QuillAction
+  {
+    Body:
+    [*
+      traverse ( MacroPlan, Unit, u ) {
+        u.IsToFill( false );
+      }
+    *]
+    GroupServerCalls: false
+  }
+}
diff --git "a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pHeader1\043799.def" "b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pHeader1\043799.def"
index 301f988..acea00e 100644
--- "a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pHeader1\043799.def"
+++ "b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pHeader1\043799.def"
@@ -5,13 +5,13 @@
   BaseType: 'WebPanel'
   Children:
   [
-    Component bRefresh
+    Component bGenerateReport
     {
       #keys: '[413988.0.1568330589]'
       BaseType: 'WebButton'
       Properties:
       [
-        Image: 'REFRESH'
+        Label: 'Generate report'
         Taborder: 0
       ]
     }
@@ -25,13 +25,13 @@
         Taborder: 1
       ]
     }
-    Component bDeductionOfReplacementLoss
+    Component bDeductChangeoverLoss
     {
       #keys: '[413988.0.1568330591]'
       BaseType: 'WebButton'
       Properties:
       [
-        Label: 'Deduction of replacement loss'
+        Label: 'Deduct changeover loss'
         Taborder: 3
       ]
     }
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pHeader2.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pHeader2.def
index a206e82..50678f7 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pHeader2.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Component_pHeader2.def
@@ -13,6 +13,7 @@
       [
         NumberOfColumns: 100
         Taborder: 0
+        Visible: false
       ]
     }
   ]
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bConfirm_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bConfirm_OnClick.def
index c878839..0f75914 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bConfirm_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bConfirm_OnClick.def
@@ -7,7 +7,7 @@
   DefinitionID: 'Responsedef_WebButton_OnClick'
   Precondition:
   [*
-    return not isnull( MacroPlan );
+    return not isnull( MacroPlan ) and MacroPlan.A_PreviousScenaioName() <> MacroPlan.ScenarioName();
   *]
   QuillAction
   {
@@ -15,6 +15,8 @@
     [*
       OfflinePlanCell::SynchronizeToNewSupply( MacroPlan, dhOfflinePlanTable.Data() );
       
+      MacroPlan.A_PreviousScenaioName( MacroPlan.ScenarioName() );
+      
       WebMessageBox::Success( Translations::A_VWED_Success() );
     *]
     GroupServerCalls: false
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bDeductionOfReplacementLoss_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bDeductChangeoverLoss_OnClick.def
similarity index 70%
rename from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bDeductionOfReplacementLoss_OnClick.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bDeductChangeoverLoss_OnClick.def
index 181e371..b50a224 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bDeductionOfReplacementLoss_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bDeductChangeoverLoss_OnClick.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
-#parent: pHeader1_799/bDeductionOfReplacementLoss
-Response OnClick () id:Response_pHeader1_799_bDeductionOfReplacementLoss_OnClick
+#parent: pHeader1_799/bDeductChangeoverLoss
+Response OnClick () id:Response_pHeader1_799_bDeductChangeoverLoss_OnClick
 {
   #keys: '[413988.0.1568330585]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
   Precondition:
   [*
-    return not isnull( MacroPlan );
+    return not isnull( MacroPlan ) and MacroPlan.A_PreviousScenaioName() <> MacroPlan.ScenarioName();
   *]
   QuillAction
   {
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bRefresh_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bGenerateReport_OnClick.def
similarity index 70%
rename from _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bRefresh_OnClick.def
rename to _Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bGenerateReport_OnClick.def
index 69d79e7..96194e0 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bRefresh_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bGenerateReport_OnClick.def
@@ -1,13 +1,13 @@
 Quintiq file version 2.0
-#parent: pHeader1_799/bRefresh
-Response OnClick () id:Response_pHeader1_799_bRefresh_OnClick
+#parent: pHeader1_799/bGenerateReport
+Response OnClick () id:Response_pHeader1_799_bGenerateReport_OnClick
 {
   #keys: '[413988.0.1568330587]'
   CanBindMultiple: false
   DefinitionID: 'Responsedef_WebButton_OnClick'
   Precondition:
   [*
-    return not isnull( MacroPlan );
+    return not isnull( MacroPlan ) and MacroPlan.A_PreviousScenaioName() <> MacroPlan.ScenarioName();
   *]
   QuillAction
   {
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bImport_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bImport_OnClick.def
index 08d2e2d..d81e24c 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bImport_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bImport_OnClick.def
@@ -7,7 +7,7 @@
   DefinitionID: 'Responsedef_WebButton_OnClick'
   Precondition:
   [*
-    return not isnull( MacroPlan );
+    return not isnull( MacroPlan ) and MacroPlan.A_PreviousScenaioName() <> MacroPlan.ScenarioName();
   *]
   QuillAction
   {
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bRestore_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bRestore_OnClick.def
index eb75c8b..8b98925 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bRestore_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bRestore_OnClick.def
@@ -7,7 +7,7 @@
   DefinitionID: 'Responsedef_WebButton_OnClick'
   Precondition:
   [*
-    return not isnull( MacroPlan );
+    return not isnull( MacroPlan ) and MacroPlan.A_PreviousScenaioName() <> MacroPlan.ScenarioName();
   *]
   QuillAction
   {
diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bSaveAsDraft_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bSaveAsDraft_OnClick.def
index d07d889..1ec387e 100644
--- a/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bSaveAsDraft_OnClick.def
+++ b/_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlan/Response_pHeader1_799_bSaveAsDraft_OnClick.def
@@ -7,7 +7,7 @@
   DefinitionID: 'Responsedef_WebButton_OnClick'
   Precondition:
   [*
-    return not isnull( MacroPlan );
+    return not isnull( MacroPlan ) and MacroPlan.A_PreviousScenaioName() <> MacroPlan.ScenarioName();
   *]
   QuillAction
   {

--
Gitblit v1.9.3