xiaoding721
2024-09-10 60a4f777fe6891b0ca85201ad1cf5567da16b16c
修复一些bug,新增一些功能
已修改9个文件
已添加5个文件
已删除6个文件
393 ■■■■■ 文件已修改
_Main/BL/Type_EmployeeCost/Attribute_StartDate.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_EmployeeCost/Attribute_TimeUnit.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_EmployeeCost/DefaultValue_TimeUnit.qbl 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_EmployeeCost/StaticMethod_Export.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_EmployeeCost/StaticMethod_Import.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_LocalCell_Default/Method_SetBreakDayOverTimeDurction.qbl 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_LocalCell_Default/Method_SetOvertimeDurction.qbl 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport#1.qbl 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ShiftPlan/Method_GetDefaultDayOvertimeHour.qbl 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelGeneral.def 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelOrigin.def 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_pnlContent.def 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Method_OnOK.def 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/_ROOT_Component_DialogCreateEditForecast.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditEmployeeCost/Component_pnlContent.def 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditEmployeeCost/Method_New.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogEditEmployeeCost/Response_pnlUnit_Button671_OnClick#570.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon504.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_ButtonRibbon_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_bComparison_OnClick#613.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_EmployeeCost/Attribute_StartDate.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_EmployeeCost/Attribute_TimeUnit.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_EmployeeCost/DefaultValue_TimeUnit.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_EmployeeCost/StaticMethod_Export.qbl
@@ -20,8 +20,8 @@
      columnXML1 := columnXML1 + '<cell value="' + cost.EmployeeType().Name() + '"/>'
      columnXML2 := columnXML2 + '<cell value="' + [String]cost.EmployeeNumber() + '"/>'
      columnXML3 := columnXML3 + '<cell value="' + cost.Unit().Name() + '"/>'
      columnXML4 := columnXML4 + '<cell value="' + cost.StartDate().Format( "Y-M2-D2" ) + '"/>'
      columnXML5 := columnXML5 + '<cell value="' + cost.TimeUnit() + '"/>'
    //  columnXML4 := columnXML4 + '<cell value="' + cost.StartDate().Format( "Y-M2-D2" ) + '"/>'
    //  columnXML5 := columnXML5 + '<cell value="' + cost.TimeUnit() + '"/>'
      columnXML6 := columnXML6 + '<cell value="' + cost.BaseSalary().Format( "N(Dec())" ) + '"/>'
    }
    columnXML1 := columnXML1 + "</column>";
_Main/BL/Type_EmployeeCost/StaticMethod_Import.qbl
@@ -71,7 +71,7 @@
         }
      }
      if( not isnull( unit )){
        unit.EmployeeCost( relnew,EmployeeType := employeeType,EmployeeNumber := employeeNumber,StartDate := startDate,TimeUnit := timeUnit,BaseSalary := baseSalary );
        unit.EmployeeCost( relnew,EmployeeType := employeeType,EmployeeNumber := employeeNumber,BaseSalary := baseSalary );
      }
    }
  *]
_Main/BL/Type_LocalCell_Default/Method_SetBreakDayOverTimeDurction.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_LocalCell_Default/Method_SetOvertimeDurction.qbl
ÎļþÒÑɾ³ý
_Main/BL/Type_LocalCell_Default/StaticMethod_GenerateComprehensiveHoursReport#1.qbl
@@ -42,32 +42,104 @@
      
      unitIndexTree.Root().AddChild( unitIndexTree.GetHandle( unit.ID() ),i );
    }
    shiftPlanIndexTree := NamedValueTree::Create();
    for( i := 0 ; i<shiftPlans.Size(); i++ ){
      shiftPlan := shiftPlans.Element( i );
      period := shiftPlan.UnitPeriodTime().Period_MP();
      rowKey := shiftPlan.UnitPeriodTime().Unit().ID();
      columnKey := period.StartDate().AsQUILL() + period.EndDate().AsQUILL();
      shiftPlanHanlde := shiftPlanIndexTree.GetHandle( rowKey + columnKey );
      shiftPlanIndexTree.Root().AddChild( shiftPlanHanlde, i );
    }
    traverse( shiftPlans,Elements,shiftPlan ){
      rowKey := shiftPlan.UnitPeriodTime().Unit().ID();
      row := rows.Element( rowIndexTree.Root().Child( rowIndexTree.GetHandle( rowKey )).GetValueAsNumber() );
    
      nextShiftPlan := constnull( ShiftPlan );
      {
        nextPeriod := shiftPlan.UnitPeriodTime().Period_MP().NextPeriod();
        if( not isnull( nextPeriod )){
          columnKey := nextPeriod.StartDate().AsQUILL() + nextPeriod.EndDate().AsQUILL();
          nextShiftPlanHanlde := shiftPlanIndexTree.GetHandle( rowKey + columnKey );
          nextShiftPlanIndex := guard( shiftPlanIndexTree.Root().Child( nextShiftPlanHanlde ),null( NamedValue ));
          if( not isnull( nextShiftPlanIndex )){
            nextShiftPlan := shiftPlans.Element( nextShiftPlanIndex.GetValueAsNumber() );
          }
        }
      }
      // gongchangCell := LocalCell_Default::GetCell(  rowKey + column1.Name(), cellIndexTree, cells, row, column1 );
      // chanxianxCell := LocalCell_Default::GetCell(  rowKey + column2.Name(), cellIndexTree, cells, row, column2 );
    
      shengchanCell := LocalCell_Default::GetCell(  rowKey + column3.Name(), cellIndexTree, cells, row, column3 );
      week := shiftPlan.UnitPeriodTime().Period_MP().StartDate().DayOfWeek();
      // å·¥ä½œæ—¥
      workingDayCell := LocalCell_Default::GetCell(  rowKey + column3.Name(), cellIndexTree, cells, row, column3 );
      // èŠ‚å‡æ—¥åŠ ç­
      holidayOvertimeHourCell := LocalCell_Default::GetCell(  rowKey + column5.Name(), cellIndexTree, cells, row, column5 );
      // ä¼‘息日加班
      breakDayOvertimeHourCell := LocalCell_Default::GetCell(  rowKey + column4.Name(), cellIndexTree, cells, row, column4 );
      // å¹³æ—¶åŠ ç­
      defaultDayOvertimeHourCell := LocalCell_Default::GetCell(  rowKey + column4.Name(), cellIndexTree, cells, row, column4 );
      if( shiftPlan.Outcome() <> "" ){
        shengchanCell.RealValue( shengchanCell.RealValue() + 1 );
        workingDayCell.RealValue( workingDayCell.RealValue() + 1 );
        if( shiftPlan.IsHoliday() ){
          // èŠ‚å‡æ—¥åŠ ç­ 
          jiejiariCell := LocalCell_Default::GetCell(  rowKey + column5.Name(), cellIndexTree, cells, row, column5 );
          jiejiariCell.SetBreakDayOverTimeDurction( shiftPlan.Outcome() );
        }else if( week = 6 or week = 7 ){
          // ä¼‘息日加班
          xiuxiCell := LocalCell_Default::GetCell(  rowKey + column4.Name(), cellIndexTree, cells, row, column4 );
          xiuxiCell.SetBreakDayOverTimeDurction( shiftPlan.Outcome() );
          overtime := shiftPlan.GetBreakDayOvertimeHour( false );
          holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + overtime );
          if( not isnull( nextShiftPlan )){
            nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
            if( nextShiftPlan.IsHoliday()){
              // ä¸‹ä¸€å¤©æ˜¯èŠ‚å‡æ—¥
              holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
            }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
              // ä¸‹ä¸€å¤©æ˜¯å‘¨å…­æˆ–周日
              breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
        }else{
          // å¹³æ—¶åŠ ç­
          jiabanCell := LocalCell_Default::GetCell(  rowKey + column4.Name(), cellIndexTree, cells, row, column4 );
          jiabanCell.SetOvertimeDurction( shiftPlan.Outcome() );
              // ä¸‹ä¸€å¤©æ˜¯å¹³å¸¸çš„工作日
              nextDayOvertime := shiftPlan.GetDefaultDayOvertimeHour( true );
              defaultDayOvertimeHourCell.RealValue( defaultDayOvertimeHourCell.RealValue() + nextDayOvertime );
            }
          }
        }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
          // ä¼‘息日加班
          overtime := shiftPlan.GetBreakDayOvertimeHour( false );
          breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + overtime );
          if( not isnull( nextShiftPlan )){
            nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
            if( nextShiftPlan.IsHoliday()){
              // ä¸‹ä¸€å¤©æ˜¯èŠ‚å‡æ—¥
              holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
            }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
              // ä¸‹ä¸€å¤©æ˜¯å‘¨å…­æˆ–周日
              breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
            }else{
              // ä¸‹ä¸€å¤©æ˜¯å¹³å¸¸çš„工作日
              nextDayOvertime := shiftPlan.GetDefaultDayOvertimeHour( true );
              defaultDayOvertimeHourCell.RealValue( defaultDayOvertimeHourCell.RealValue() + nextDayOvertime );
            }
        }
      }else{
        if( not shiftPlan.IsHoliday() and not ( week = 6 or week = 7 )){
          // å¹³æ—¶åŠ ç­
          overtime := shiftPlan.GetDefaultDayOvertimeHour( false );
          defaultDayOvertimeHourCell.RealValue( defaultDayOvertimeHourCell.RealValue() + overtime );
          if( not isnull( nextShiftPlan )){
            nextDayOvertime := shiftPlan.GetBreakDayOvertimeHour( true );
            if( nextShiftPlan.IsHoliday()){
              // ä¸‹ä¸€å¤©æ˜¯èŠ‚å‡æ—¥
              holidayOvertimeHourCell.RealValue( holidayOvertimeHourCell.RealValue() + nextDayOvertime );
            }else if( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) ){
              // ä¸‹ä¸€å¤©æ˜¯å‘¨å…­æˆ–周日
              breakDayOvertimeHourCell.RealValue( breakDayOvertimeHourCell.RealValue() + nextDayOvertime );
            }else{
              // ä¸‹ä¸€å¤©æ˜¯å¹³å¸¸çš„工作日
              nextDayOvertime := shiftPlan.GetDefaultDayOvertimeHour( true );
              defaultDayOvertimeHourCell.RealValue( defaultDayOvertimeHourCell.RealValue() + nextDayOvertime );
            }
          }
        }
      }else{
        if( not shiftPlan.IsHoliday() and not ( shiftPlan.DefaultRemark().LikeUserLocale( "周六" ) or shiftPlan.DefaultRemark().LikeUserLocale( "周日" ) )){
          qiangongCell := LocalCell_Default::GetCell(  rowKey + column4.Name(), cellIndexTree, cells, row, column4 );
          qiangongCell.RealValue( qiangongCell.RealValue() - 8 );
        }
_Main/BL/Type_ShiftPlan/Method_GetDefaultDayOvertimeHour.qbl
@@ -31,7 +31,6 @@
      overtime := 0;
      nextDayOvertime := 0;
    }
    result := 0.0;
    if( isGetNextDay ){
      result := nextDayOvertime;
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelGeneral.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
Component PanelGeneral #extension
{
  Children:
  [
    #child: PanelOrigin
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_PanelOrigin.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
Quintiq file version 2.0
Component PanelOrigin
{
  #keys: '[414996.1.73340632]'
  BaseType: 'WebPanel'
  Children:
  [
    Component DropDownStringListOrigin
    {
      #keys: '[414996.1.73340713]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        AllowEmpty: true
        DataBinding: 'DataHolderDialogData.Data.Origin'
        Label: 'Origin'
        Strings: ';TRX;PPA;IDS'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
    Taborder: 8
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Component_pnlContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
Component pnlContent #extension
{
  Children:
  [
    #child: PanelGeneral
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/Method_OnOK.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
Quintiq file version 2.0
#parent: #root
Method OnOK () derived id:Method_DialogCreateEditForecast_OnOK #extension
{
  BaseType => //DialogCreateEditSalesDemand/Method_DialogCreateEditSalesDemand_OnOK
  Body:
  [*
    Form.ApplyChanges();
    this.SetAttributeAfterApplyData();
    data := DataHolderDialogData.Data();
    selection := DataHolderSalesDemands.Data().Copy();
    isbatchedit := selection.Size() >1;
    if( isnull( data.WrappedInstance() ) )
    {
      data.ID( MacroPlan.IDHolder().GetSalesDemandID( "User_", "" ) );
      forecast := Forecast::Create( data.ID(),
                           DropDownListProduct.Data(),
                           DropDownListStockingPoint.Data(),
                           data.StartDate(),
                           data.EndDate(),
                           data.Quantity(),
                           data.Price(),
                           data.Priority(),
                           data.SalesSegment_MP(),
                           data.Currency_MP(),
                           data.UnitOfMeasure_MP(),
                           false,
                           true,
                           data.DemandUncertaintyPercentage(),
                           data.IsExcludedFromFulfillmentKPI(),
                           false
                           );
      forecast.Origin( DropDownStringListOrigin.Text() );
    }
    else
    {
      quantity := ApplicationMacroPlanner.FormatStringToReal( EditFieldQuantityUom.Text(), 0.0 );
      forecasts := selectset( selection, Elements.astype( Forecast ), forecast, true );
      Forecast::Update( forecasts,
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListProduct ),
                         DropDownListProduct.Data(),
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListStockingPoint ),
                         DropDownListStockingPoint.Data(),
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DateSelectorStart ),
                         data.StartDate(),
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DateSelectorEnd ),
                         data.EndDate(),
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( EditFieldQuantityUom ),
                         quantity,
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( EditFieldPrice ),
                         data.Price(),
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListPriority ) or ApplicationMacroPlanner.IsActionLinkEnabledEdit( CheckBoxIsExcludedFromFulfillmentKPI ),
                         data.Priority(),
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( EditFieldDemandUncertaintyPercentage ),
                         data.DemandUncertaintyPercentage(),
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListSalesSegment ),
                         data.SalesSegment_MP(),
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListCurrency ),
                         data.Currency_MP(),
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListUnitOfMeasurement ),
                         data.UnitOfMeasure_MP(),
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( CheckBoxIsExcludedFromFulfillmentKPI ),
                         ifexpr( CheckBoxIsExcludedFromFulfillmentKPI.Enabled(),
                                 CheckBoxIsExcludedFromFulfillmentKPI.Checked(),
                                 data.IsExcludedFromFulfillmentKPIUser() ),
                         true );
      traverse( forecasts,Elements,forecast ){
        forecast.Origin( DropDownStringListOrigin.Text() );
      }
    }
    Form.Close();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditForecast/_ROOT_Component_DialogCreateEditForecast.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
#root
#parent: LibMacroPlannerWebUI
OrphanComponent DialogCreateEditForecast #extension
{
  Children:
  [
    #child: pnlContent
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogEditEmployeeCost/Component_pnlContent.def
@@ -50,19 +50,10 @@
      Properties:
      [
        DataBinding: 'dhEmployeeCost.Data.EmployeeNumber'
        FixedSize: false
        Label: '人数'
        MaximumColumns: 14
        Taborder: 2
      ]
    }
    Component dsStartDate
    {
      #keys: '[412672.1.6911583]'
      BaseType: 'WebDateSelector'
      Properties:
      [
        DataBinding: 'dhEmployeeCost.Data.StartDate'
        Label: '开始时间'
        Taborder: 5
      ]
    }
    Component efStandardWorkingDay
@@ -74,20 +65,7 @@
        DataBinding: 'MacroPlan.StandardWorkingDay'
        Enabled: false
        Label: '标准工作天数'
        Taborder: 7
      ]
    }
    Component efTimeUnit
    {
      #keys: '[412672.1.7276817]'
      BaseType: 'WebEditField'
      Properties:
      [
        DataBinding: 'dhEmployeeCost.Data.TimeUnit'
        Enabled: false
        Label: '标准时间单元'
        Taborder: 6
        Text: '月'
        Taborder: 5
      ]
    }
    Component npBaseSalary
@@ -97,8 +75,10 @@
      Properties:
      [
        DataBinding: 'dhEmployeeCost.Data.BaseSalary'
        FixedSize: false
        Label: '基本工资'
        Taborder: 8
        MaximumColumns: 14
        Taborder: 6
      ]
    }
    #child: pnlUnit
_Main/UI/MacroPlannerWebApp/Component_DialogEditEmployeeCost/Method_New.def
@@ -7,7 +7,7 @@
  [*
    ddlEmployeeType.Enabled( false,"" );
    npEmployeeNumber.Enabled( false,"" );
    dsStartDate.Enabled( false,"" );
    //dsStartDate.Enabled( false,"" );
    npBaseSalary.Enabled( false,"" );
    
    ddlUnit.Enabled( true,"" );
_Main/UI/MacroPlannerWebApp/Component_DialogEditEmployeeCost/Response_pnlUnit_Button671_OnClick#570.def
@@ -17,7 +17,7 @@
      this.Image( "LOCK" );
      ddlEmployeeType.Enabled( true,"" );
      npEmployeeNumber.Enabled( true,"" );
      dsStartDate.Enabled( true,"" );
      //dsStartDate.Enabled( true,"" );
      npBaseSalary.Enabled( true,"" );
      
      ddlUnit.Enabled( false,"" );
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Component_PanelRibbon504.def
@@ -52,16 +52,6 @@
        Taborder: 2
      ]
    }
    Component ButtonRibbon
    {
      #keys: '[415720.0.38711791]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: '实际生产数据接口同步'
        Taborder: 3
      ]
    }
  ]
  Properties:
  [
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_ButtonRibbon_OnClick.def
ÎļþÒÑɾ³ý
_Main/UI/MacroPlannerWebApp/Component_FormOfflinePlanComparison/Response_PanelRibbon504_bComparison_OnClick#613.def
@@ -11,7 +11,7 @@
    [*
      opt := ddlOfflinePlanTable.Data();
      
      dhComparisonData.Data( opt.Comparison( RecycleBin ));
      dhComparisonData.Data( opt.Comparison( RecycleBin,Archive ));
    *]
    GroupServerCalls: false
  }