hongji.li
2023-10-08 83278bc9522c243875f8717b7501fa46723bdc8e
Merge branch 'dev' of http://47.101.211.7:10101/r/TIANMA_JITUAN into dev_lhj
已重命名2个文件
已修改15个文件
已添加5个文件
330 ■■■■ 文件已修改
_Main/BL/Type_BusinessType/StaticMethod_GetScenarioNamesStr.qbl 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetMaterialData.qbl 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedgingEx.qbl 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderReverseOrAuthorize.qbl 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_Scenario/Attribute_ScenarioName.qbl 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_ScenarioManager/StaticMethod_AvailableScenarioNames.qbl 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral#549.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_Edit.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuEdit_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCreateScenarioAndDoSync_OnClick#545.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCreateScenarioAndDoSync_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCreateScenario_OnClick#549.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCreateScenario_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuEdit_OnClick.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_OnCreated.def 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FrmErrorLogs/Component_List710.def 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FrmErrorLogs/Component_Panel391.def 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FrmErrorLogs/Response_Panel391_Button655_OnClick.def 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FrmErrorLogs/_ROOT_Component_FrmErrorLogs.def 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_BusinessType/StaticMethod_GetScenarioNamesStr.qbl
ÎļþÃû´Ó _Main/BL/Type_BusinessType/StaticMethod_GetBusinessNameStr.qbl ÐÞ¸Ä
@@ -1,6 +1,6 @@
Quintiq file version 2.0
#parent: #root
StaticMethod GetBusinessNameStr (
StaticMethod GetScenarioNamesStr (
  GlobalOTDTable owner
) as String
{
@@ -9,18 +9,18 @@
    // NBoTk Sep-7-2023 (created)
    // èŽ·å–businessType é›†åˆ
    result := "";
    businessTypeList := construct( structured[String]);
    scenarioNameList := construct( structured[String]);
    
    traverse( owner,BusinessType,b)
    {
        businessTypeList.Add( b.BusinessTypeName());
        scenarioNameList.Add( b.ScenarioName() );
    }
    
    // å¦‚果存在businessType数据 åˆ™è¿”回 : a,b,c
    
    if( not isnull( businessTypeList ) )
    if( not isnull( scenarioNameList ) )
    {
        result := businessTypeList.Concatenate( ";" );
        result := scenarioNameList.Concatenate( ";" );
    }
    
    // æµ‹è¯•数据
_Main/BL/Type_CustomerOrder/StaticMethod_CreateOrUpdate.qbl
@@ -58,7 +58,7 @@
    // æ–°å¢ž/更新
    result := CustomerOrder::FindById( macroPlan, id );
    if( isnull( result ) ) {
        CustomerOrder::Create( product, stockingPoint, id, orderDate, quantity, price,
        result := CustomerOrder::Create( product, stockingPoint, id, orderDate, quantity, price,
                               priorityName, salesSegmentName, currencyId, unitOfMeasureName, 
                               false, customerName, customerId, orderId, orderLineId, true, true, true );
    } else {
_Main/BL/Type_H_FunctionClass/StaticMethod_SM_GetMaterialData.qbl
@@ -24,10 +24,10 @@
    strMsg :="";
    
    try{
      if( Owner.MappingBOM(relsize )>0)
      if( GlobData.Global_MappingOperationBOM(relsize )>0)
      {
        // å¾—到下一级数据
        AllData:= selectset( GlobData, Global_MappingOperationBOM,object,object.ComponentCode()=ParentSKU);
        AllData:= selectset( GlobData, Global_MappingOperationBOM,object,object.ProductCode()=ParentSKU);
        ObjProduct := null( Product_MP,constcontent );
        ObjUnit := null( Unit,constcontent );
        MaterialType:="";
@@ -51,24 +51,24 @@
          traverse( AllData,Elements,Obj,not isnull( Obj))
          {
            // å¾—到当前已存在的物料信息(订单ID + SKU)
            ObjMaterial := select( Owner,H_MaterialInfo,ObjM,ObjM.ForecastID()=ForecastId and ObjM.SKU()=Obj.ProductCode());
            ObjMaterial := select( Owner,H_MaterialInfo,ObjM,ObjM.ForecastID()=ForecastId and ObjM.SKU()=Obj.ComponentCode());
            if( isnull( ObjMaterial))
            {
              // ç‰©æ–™ç±»åž‹
              MaterialType := Obj.ProductType();
              // å¾—到物料信息
              ObjProduct:= H_FunctionClass::SM_GetProductInfo(Owner,Obj.ProductCode());
              ObjProduct:= H_FunctionClass::SM_GetProductInfo(Owner,Obj.ComponentCode());
              if( not isnull( ObjProduct))
              {
                MaterialType:= ObjProduct.ParentID();
                MaterialName:=ObjProduct.Name();
              }
              ObjUnit:= H_FunctionClass::SM_GetUnitBySKU( Owner,Obj.ProductCode());
              ObjUnit:= H_FunctionClass::SM_GetUnitBySKU( Owner,Obj.ComponentCode());
              if( not isnull( ObjUnit))
              {
                StockPoint:= ObjUnit.Name();
              }
              Owner.H_MaterialInfo(relnew,ParentSKU := Obj.ComponentCode(),SKU := Obj.ProductCode(),ForecastID := ForecastId,OrgCode := Obj.OrganCode(),VCode := VCode
              Owner.H_MaterialInfo(relnew,ParentSKU := ParentSKU,SKU := Obj.ComponentCode(),ForecastID := ForecastId,OrgCode := Obj.OrganCode(),VCode := VCode
                                    ,ID := H_FunctionClass::SM_GenerateID( "MI"),MaterialType := MaterialType,NeedDate := NDate
                                    ,NeedQty := [Number](ProductQty/NRate*NComponentsUsed).Round( 0),Unit := Obj.UnitOfMeasureName()
                                    ,StockPoint :=StockPoint,MaterialName := MaterialName );
_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderHedgingEx.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,161 @@
Quintiq file version 2.0
#parent: #root
StaticMethod SM_OrderHedgingEx (
  MacroPlan Owner,
  String Operator
) as owning JSON
{
  Description: '填产后冲减'
  TextBody:
  [*
    /*******************************填产后订单冲减***********************
    *函数名称:SM_OrderHedgingEx
    *创 å»º äººï¼šyunying
    *创建时间:2023-09-27
    *描    è¿°ï¼šå¡«äº§åŽè®¢å•冲减,填产后的表:Owner.FillingCapacityOrder
    *参    æ•°ï¼šOperator æ“ä½œäºº
    *返 å›ž å€¼ï¼šJSON {Status: true æˆåŠŸ/false å¤±è´¥,Msg:"提示消息",Count: 0(冲减订单的数量)}
    *******************************************************************/
    // åˆå§‹åŒ–结果
    bStatus := false;
    strMsg :="";
    // å†²å‡æˆåŠŸæ¡æ•°
    nCount:=0;
    try
    {
      if(not isnull( Owner))
      {
        // èŽ·å–æ“ä½œè®¢å•
        NewOrders := selectset( Owner,FillingCapacityOrder,Obj,Obj.State() = "未冲减" or Obj.State() ="");
        if(NewOrders.Size()>0)
        {
          // æ–°è®¢å•与原订单冲减
          traverse( NewOrders,Elements,Obj)
          {
            if( (Obj.OrderType()="反签" or Obj.OrderType()="授权") and Obj.Quantity()>0 )
            {
              // å¾—到操作相关的反签订单
              ROrders:= select( Owner,SalesDemand.astype( CustomerOrder ),ObjOrder,
                                   ObjOrder.CustomerName() = Obj.Customer()
                                   and ObjOrder.ProductID()=Obj.ProductID()
                                   and ObjOrder.OrderTag() ="反签"
                                   );
              // åç­¾æ— å†²å‡ï¼Œç›´æŽ¥å‘订单中加入反签数据
              if( Obj.OrderType()="反签")
              {
                if( not isnull( ROrders))
                {
                  ROrders.Quantity(ROrders.Quantity()+Obj.Quantity());
                }
                else
                {
                  // æ–°å¢žè®¢å•
                  error( "----------------请实现新增反签订单功能代码---------------------");
                  // è®¢å•必要信息如下:
                  // OrderTag = "反签"
                  // Quantity = Obj.Quantity()
                  // å…¶ä»–信息继承当前的订单
                }
              }
              else if(Obj.OrderType()="授权")
              {
                // å¾—到操作相关的授权订单
                AOrders:= select( Owner,SalesDemand.astype( CustomerOrder ),ObjOrder,
                                   ObjOrder.CustomerName() = Obj.Customer()
                                   and ObjOrder.ProductID()=Obj.ProductID()
                                   and ObjOrder.OrderTag() ="授权"
                                   );
                if( not isnull( ROrders))
                {
                  // å½“前反签数量
                  RQty:=ROrders.Quantity();
                  // è®¡ç®—新的授权数量
                  AQty:= Obj.Quantity() - ROrders.Quantity();
                  // æŽˆæƒå¤§äºŽ0,反签被冲没,否则授权被冲,反签等于AQty的绝对值
                  if( AQty>=0)
                  {
                    RQty:=0;
                  }
                  else
                  {
                    RQty :=ROrders.Quantity() - Obj.Quantity();
                    AQty :=0;
                  }
                  // æ›´æ–°åç­¾æ•°æ®
                  if( RQty>=0)
                  {
                    ROrders.Quantity(RQty);
                  }
                  else
                  {
                    ROrders.Delete();
                  }
                  // æ›´æ–°æŽˆæƒæ•°æ®
                  if(AQty>0 )
                  {
                    if( not isnull( AOrders))
                    {
                      AOrders.Quantity(AOrders.Quantity()+AQty);
                    }
                    // æ–°å¢žæŽˆæƒè®¢å•
                    error( "----------------请实现新增授权订单功能代码---------------------");
                    // è®¢å•必要信息如下:
                    // OrderTag = "授权"
                    // Quantity = AQty
                    // å…¶ä»–信息继承当前的订单
                  }
                }
                else
                {
                  // å°†æ–°æŽˆæƒæ•°æ®ç´¯åŠ åˆ°è®¢å•ä¸­
                  if( not isnull( AOrders))
                  {
                    AOrders.Quantity(AOrders.Quantity()+Obj.Quantity());
                  }
                  else
                  {
                    // æ–°å¢žæŽˆæƒè®¢å•
                    error( "----------------请实现新增授权订单功能代码---------------------");
                    // è®¢å•必要信息如下:
                    // OrderTag = "授权"
                    // Quantity = Obj.Quantity()
                    // å…¶ä»–信息继承当前的订单
                  }
                }
              }
              // æ›´æ–°å†²å‡çŠ¶æ€
              Obj.State("已冲减");
              nCount++;
            }
            else
            {
              // æ— æ³•识别的类型,或数量为0时暂不处理
              //strMsg :="订单类型:" + Obj.OrderType() + "无法冲减!";
            }
          }
          bStatus:=true;
          strMsg :="填产后冲减完成!";
        }
        else
        {
          strMsg :="无可冲减的数据!";
        }
      }
      else
      {
        strMsg :="加载数据失败,请创建或选择场景后再操作!";
      }
    }
    onerror
    {
      strMsg :="填产后订单冲减发生错误,请联系系统管理员!";
      // è®°å½•错误日志
    //  Owner.H_ErrorLogs(relnew,EClassName := "H_FunctionClass",EDateTime := DateTime::ActualGMTTime(),EFunctionName := "SM_OrderHedgingEx",
    //                     DeveloperInformation :=  e.DeveloperInformation(),ErrorNr := e.ErrorNr(),DetailedInformation := e.DetailedInformation(),
    //                     GeneralInformation := e.GeneralInformation());
    }
    return JSON::Object().Add( "Status",bStatus)
                         .Add( "Count",nCount)
                         .Add( "Msg",strMsg).Build();
  *]
}
_Main/BL/Type_H_FunctionClass/StaticMethod_SM_OrderReverseOrAuthorize.qbl
@@ -39,7 +39,7 @@
        nReverseQtyNew :=0;   //计算后的反签数量
        nAuthorizeQtyNew :=0; //计算后的授权数量
        nHaveForecastQty :=0; //有预测数量
        nNoHaveForecastQty:=0;//五预测数量
        nNoHaveForecastQty:=0;//无预测数量
        // èŽ·å–é¢„æµ‹æ•°é‡ï¼ˆå®¢æˆ·+SKU+月份 ç†è®ºæ˜¯æ²¡æœ‰ç‰©æ–™é¢„测)
        OrderForecast := select(Owner, H_OrderForecastRealQty , Obj, Obj.SKU() = SKU 
                                              and Obj.CustomCode() = CustomerCode 
_Main/BL/Type_Scenario/Attribute_ScenarioName.qbl
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
Quintiq file version 2.0
#parent: #root
Attribute ScenarioName
{
  #keys: '3[412960.0.288500040][412960.0.288500039][412960.0.288500041]'
  Description: '场景名称,对应事业部&组织编码维护中维护的场景名称'
  ValueType: String
}
_Main/BL/Type_ScenarioManager/StaticMethod_AvailableScenarioNames.qbl
ÎļþÃû´Ó _Main/BL/Type_ScenarioManager/StaticMethod_AvailableBusinessTypes.qbl ÐÞ¸Ä
@@ -1,6 +1,6 @@
Quintiq file version 2.0
#parent: #root
StaticMethod AvailableBusinessTypes (
StaticMethod AvailableScenarioNames (
  GlobalOTDTable globalOTDTable
) as String
{
@@ -16,7 +16,7 @@
    //}
    
    // ä½¿ç”¨businessType获取数据
    strings := BusinessType::GetBusinessNameStr( globalOTDTable);
    strings := BusinessType::GetScenarioNamesStr( globalOTDTable);
    
    return strings;
  *]
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Component_PanelGeneral#549.def
@@ -46,8 +46,8 @@
      Properties:
      [
        AllowEmpty: true
        DataBinding: 'DataHolderDialogData.Data.BusinessType'
        Label: 'BusinessType'
        DataBinding: 'DataHolderDialogData.Data.ScenarioName'
        Label: 'Scenario Name'
        Taborder: 4
      ]
    }
_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditScenario/Method_OnOk.def
@@ -32,6 +32,13 @@
      data.Name( versionname );
      }
    
    // Get Business Type from Scenario Name
    businesstype := select( globalotdtable,
                            BusinessType,
                            b,
                            b.ScenarioName()=data.ScenarioName() ).BusinessTypeName();
    data.BusinessType( businesstype );
    // Copy scenario
    if( isnull( data.WrappedInstance() ) )
    {
_Main/UI/MacroPlannerWebApp/Component_DialogNewPriorityPolicy/Method_Edit.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
Quintiq file version 2.0
#parent: #root
Method Edit (
  PriorityPolicy selection
) id:Method_DialogNewPriorityPolicy_Edit
{
  #keys: '[414382.0.603040472]'
  Body:
  [*
    data := shadow( selection );
    DataHolderNewPriorityPolicy.Data( &data);
    ApplicationMacroPlanner.ShowFormModal( this );
  *]
}
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_ListPriorityPolicy_MenuEdit_OnClick.def
@@ -12,8 +12,21 @@
  {
    Body:
    [*
      PanelPriorityPolicyOperation.Visible(true);
      dlg := construct( DialogNewPriorityPolicy );
      businessType := PriorityPolicyBusinessType.Text();
      dlg.Edit( selection);
      PanelPriorityPolicyOperationName.Text(selection.Name());
      businessType := PriorityPolicyBusinessType.Text();
      str := PriorityFactor::GetNameList( MacroPlan, businessType);
      DropDownStringList.Strings(str);
      LabelFormula.Text(selection.Formula());
      LabelCalculateValue.Text(selection.CalculateValue());
      data := shadow( selection );
      DataHolderEditPriorityPolicy.Data( &data );
    *]
    GroupServerCalls: false
  }
_Main/UI/MacroPlannerWebApp/Component_FormPriorityPolicy/Response_PriorityPolicyBusinessType_OnCreated.def
@@ -9,7 +9,7 @@
  {
    Body:
    [*
      strings := BusinessType::GetBusinessNameStr( GlobalOTDTable );
      strings := BusinessType::GetScenarioNamesStr( GlobalOTDTable );
      this.Strings(strings);
      
      list := PriorityPolicy::GetDataByBusinessType( MacroPlan, PriorityPolicyBusinessType.Text());
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCreateScenarioAndDoSync_OnClick#545.def
@@ -16,7 +16,7 @@
      dlg := construct( DialogCreateEditScenario );
      dlg.checkboxEnableSync().Visible( true );
      dlg.dropDownStringListGeneral().Visible( true );
      dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes(GlobalOTDTable) );
      dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableScenarioNames( GlobalOTDTable ) );
      dlg.checkboxIsKeyProduct().Visible( true );
      dlg.checkboxCreatePurchaseSupplyProduct().Visible( true );
      dlg.NewScenario( ScenarioManager, selection, true );
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCreateScenarioAndDoSync_OnClick.def
@@ -17,7 +17,7 @@
      dlg := construct( DialogCreateEditScenario );
      dlg.checkboxEnableSync().Visible( true );
      dlg.dropDownStringListGeneral().Visible( true );
      dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes(GlobalOTDTable) );
      dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableScenarioNames( GlobalOTDTable ) );
      dlg.checkboxIsKeyProduct().Visible( true );
      dlg.checkboxCreatePurchaseSupplyProduct().Visible( true );
      parent := selection.Element( 0 ).Parent();
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCreateScenario_OnClick#549.def
@@ -17,7 +17,7 @@
      dlg.checkboxEnableSync().Checked( false );
      dlg.checkboxEnableSync().Visible( false );
      dlg.dropDownStringListGeneral().Visible( false );
      dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes(GlobalOTDTable) );
      dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableScenarioNames( GlobalOTDTable ) );
      dlg.checkboxIsKeyProduct().Visible( false );
      dlg.checkboxCreatePurchaseSupplyProduct().Visible( false );
      dlg.NewScenario( ScenarioManager, selection );
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuCreateScenario_OnClick.def
@@ -18,7 +18,7 @@
      dlg.checkboxEnableSync().Checked( false );
      dlg.checkboxEnableSync().Visible( false );
      dlg.dropDownStringListGeneral().Visible( false );
      dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes(GlobalOTDTable) );
      dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableScenarioNames( GlobalOTDTable ) );
      dlg.checkboxIsKeyProduct().Visible( false );
      dlg.checkboxCreatePurchaseSupplyProduct().Visible( false );
      parent := selection.Element( 0 ).Parent();
_Main/UI/MacroPlannerWebApp/Component_FormScenarioManager/Response_ListScenario_MenuEdit_OnClick.def
@@ -18,7 +18,7 @@
      // Edit scenario
      dlg := construct( DialogCreateEditScenario );
      dlg.dropDownStringListGeneral().Visible( selection.EnableSync() );
      dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableBusinessTypes(GlobalOTDTable) );
      dlg.dropDownStringListGeneral().Strings( ScenarioManager::AvailableScenarioNames( GlobalOTDTable ) );
      dlg.checkboxIsKeyProduct().Visible( selection.EnableSync() );
      dlg.checkboxCreatePurchaseSupplyProduct().Visible( selection.EnableSync() );
      
_Main/UI/MacroPlannerWebApp/Component_FrmAuthorizeAndCountersign_Order/Response_OnCreated.def
@@ -23,18 +23,10 @@
          lb_SKUCode_FAAC.Text(SelForecast.Get( "SKU").GetString());
          lb_SKUName_FAAC.Text("产品");
          lb_Util_FAAC.Text(SelForecast.Get( "Util").GetString());
          lb_SKUName_FAAC.Text(SelForecast.Get( "SKUName").GetString());
          txt_CustomID_FAAC.Text(SelForecast.Get( "CustomCode").GetString());
          txt_CustomName_FAAC.Text(SelForecast.Get( "CustomName").GetString());
          lb_Operator_FAAC.Text(ApplicationMacroPlanner.GetUserName());
      //    StrValue := SelectItem.Value().Tokenize( ";");
      //    lb_SKUCode_FAAC.Text(StrValue.Element( 0));
      //    lb_SKUName_FAAC.Text("产品");
      //    lb_Operator_FAAC.Text("");
      //    lb_Util_FAAC.Text(StrValue.Element( 1));
      //    txt_CustomID_FAAC.Text(StrValue.Element( 2));
      //    txt_CustomName_FAAC.Text(StrValue.Element( 3));
      //    lb_Operator_FAAC.Text(ApplicationMacroPlanner.GetUserName());
        }
      }
    *]
_Main/UI/MacroPlannerWebApp/Component_FrmErrorLogs/Component_List710.def
@@ -36,6 +36,6 @@
  ]
  Properties:
  [
    Taborder: 1
    Taborder: 2
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FrmErrorLogs/Component_Panel391.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
Quintiq file version 2.0
Component Panel391
{
  #keys: '[414724.0.193860534]'
  BaseType: 'WebPanel'
  Children:
  [
    Component Button655
    {
      #keys: '[414724.0.193860558]'
      BaseType: 'WebButton'
      Properties:
      [
        Image: 'BULL'
        Label: '填产冲减'
        Taborder: 0
      ]
    }
  ]
  Properties:
  [
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FrmErrorLogs/Response_Panel391_Button655_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
Quintiq file version 2.0
#parent: Panel391/Button655
Response OnClick () id:Response_Panel391_Button655_OnClick
{
  #keys: '[414724.0.194975663]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebButton_OnClick'
  Precondition:
  [*
    return not isnull( MacroPlan);
  *]
  QuillAction
  {
    Body:
    [*
      HResult := H_FunctionClass::SM_OrderHedgingEx( MacroPlan,"测试用户" );
      Msg := HResult.Get( "Msg").GetString();
      if( HResult.Get( "Status").GetBoolean())
      {
        if( Msg.Length()>0)
        {
          WebMessageBox::Information(Msg);
        }
      }
      else
      {
        if( Msg.Length()>0)
        {
          WebMessageBox::Warning(Msg);
        }
        else
        {
          WebMessageBox::Information("运行错误!");
        }
      }
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_FrmErrorLogs/_ROOT_Component_FrmErrorLogs.def
@@ -30,9 +30,10 @@
      ]
      Properties:
      [
        Taborder: 0
        Taborder: 1
      ]
    }
    #child: Panel391
  ]
  Properties:
  [