limj
2023-09-27 81070dc6e62e23f1619a5341c5dbf790ed6635ea
优先级因子计算
已修改7个文件
已添加10个文件
275 ■■■■ 文件已修改
_Main/BL/Type_BusinessType/StaticMethod_CreateData.qbl 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/StaticMethod_CalculateBracketScore.qbl 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlActions.def 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlContent.def 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_OpenChoose.def 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnCancel_OnClick.def 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnCreated.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnDataChanged.def 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/_ROOT_Component_DialogChoosePriorityPolicy.def 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSalesDemands.def 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuPriorityResult_OnClick.def 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
_Main/BL/Type_BusinessType/StaticMethod_CreateData.qbl
@@ -21,9 +21,6 @@
    // å¦‚果不存在则添加
    if( not checkExist ){
      owner.BusinessType(relnew,BusinessTypeName := businessName);
      // åˆå§‹åŒ–优先级因子数据
      PriorityFactor::InitData( macroPlan,businessName);
    }
  *]
}
_Main/BL/Type_PriorityResult/StaticMethod_CalculateBracketScore.qbl
@@ -4,7 +4,8 @@
  String calcStr,
  CustomerOrder customerOrder,
  String businessType,
  MacroPlan macroPlan
  MacroPlan macroPlan,
  GlobalOTDTable globalOTDTable
) as Real
{
  Description: '计算公式中括号内的数据'
@@ -13,6 +14,6 @@
    // NBoTk Sep-26-2023 (created)
    
    
    return PriorityResult::CalculateScore( calcStr,customerOrder,businessType,macroPlan,0.0);
    return PriorityResult::CalculateScore( calcStr,customerOrder,businessType,macroPlan,0.0,globalOTDTable);
  *]
}
_Main/BL/Type_PriorityResult/StaticMethod_CalculateScore.qbl
@@ -5,7 +5,8 @@
  CustomerOrder customerOrder,
  String businessType,
  MacroPlan macroPlan,
  Real lastScore
  Real lastScore,
  GlobalOTDTable globalOTDTable
) as Real
{
  TextBody:
@@ -23,42 +24,42 @@
            if(remindFormula.StartsWith( "+" ))
            {
                remindFormula := remindFormula.SubString( 1,remindFormula.Length());
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := lastScore + score;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }
            else if( remindFormula.StartsWith( "-" ))
            {
                remindFormula := remindFormula.SubString( 1,remindFormula.Length());
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := lastScore - score;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }
            else if( remindFormula.StartsWith( "*" ) )
            {
                remindFormula := remindFormula.SubString( 1,remindFormula.Length());
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := lastScore * score;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }
            else if( remindFormula.StartsWith( "/" ) )
            {
                remindFormula := remindFormula.SubString( 1,remindFormula.Length());
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
                score := lastScore / score;
                
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }
            else if( remindFormula.StartsWith( "(" ) )
            {
@@ -66,7 +67,7 @@
                // è®¡ç®—括号中的内容
                rightBracket := remindFormula.FindString( ")",0);
                calcStr := remindFormula.SubString( 1,rightBracket);
                PriorityResult::CalculateBracketScore(calcStr,customerOrder,businessType,macroPlan);
                PriorityResult::CalculateBracketScore(calcStr,customerOrder,businessType,macroPlan,globalOTDTable);
                
                // æˆªå– ) åŽçš„字符继续进行计算
                remindFormula := remindFormula.SubString( rightBracket,remindFormula.Length());
@@ -74,11 +75,11 @@
            else
            {
                // ä¸æ˜¯ç¬¦å· ç›´æŽ¥èŽ·å–è®¡ç®—åŽçš„æ•°å€¼
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan);
                score := PriorityResult::GetDetailsValue( customerOrder,remindFormula,macroPlan,globalOTDTable);
              
                // æˆªå–掉已经计算的优先级因子 é€’归计算
                remindFormula := PriorityResult::GetRemindFormula( remindFormula,macroPlan);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score);
                PriorityResult::CalculateScore( remindFormula,customerOrder,businessType,macroPlan,score,globalOTDTable);
            }
    }
    
_Main/BL/Type_PriorityResult/StaticMethod_GetDetailsValue.qbl
@@ -3,7 +3,8 @@
StaticMethod GetDetailsValue (
  CustomerOrder customerOrder,
  String formula,
  MacroPlan macroPlan
  MacroPlan macroPlan,
  GlobalOTDTable globalOTDTable
) as Real
{
  TextBody:
@@ -36,14 +37,16 @@
    
    if( "DOI" =  priorityFactor.Name())
    {
         // DOI数据暂时缺少
         value := 1;
         // DOI数据
         obj := selectobject( globalOTDTable,Global_MappingDOI_DSI,doi,doi.ProductID() = customerOrder.ProductID())
         value := priorityFactor.Coefficient() * [Real]obj.DOI();
    }
    
    if( "DSI" =  priorityFactor.Name())
    {
         // DOI数据暂时缺少
         value := 1;
         // DOI数据
         obj := selectobject( globalOTDTable,Global_MappingDOI_DSI,doi,doi.ProductID() = customerOrder.ProductID())
         value := priorityFactor.Coefficient() * [Real]obj.DSI();
    }
    
    if( "细分市场等级" =  priorityFactor.Name())
@@ -62,7 +65,8 @@
    if( "客户等级" =  priorityFactor.Name())
    {
         // é€šè¿‡æ•°æ®æ¹–计算客户等级
         value := 1;
          obj := selectobject( globalOTDTable,Global_MappingCustomerGrade,doi,doi.BusinessType() = customerOrder.BusinessType() and doi.Customer() = customerOrder.CustomerName())
         value := priorityFactor.Coefficient() * [Real]obj.CustomerGrade();
    }
    
    if( "订单下单时间" =  priorityFactor.Name())
_Main/BL/Type_PriorityResult/StaticMethod_calculatePriorityResult.qbl
@@ -1,10 +1,9 @@
Quintiq file version 2.0
#parent: #root
StaticMethod CalculatePriorityResult (
  CustomerOrders customerOrders,
  String priorityPolicyName,
  String businessType,
  MacroPlan macroPlan
  MacroPlan macroPlan,
  GlobalOTDTable globalOTDTable
)
{
  TextBody:
@@ -13,7 +12,7 @@
    
    // è®¡ç®—客户订单的优先级得分 å›žå¡«æƒé‡æ•°æ® ç”Ÿæˆæ–°çš„Priority明细数据
    
    traverse( customerOrders,Elements,e)
    traverse( macroPlan,SalesDemand.astype( CustomerOrder ),e)
    {
         // äº‹ä¸šéƒ¨ä¿¡æ¯
         businessType := e.BusinessType();
@@ -23,7 +22,7 @@
         formula := priorityPolicys.Formula();
         
         // é€’归处理计算公式 èŽ·å–å½“å‰è®¢å•çš„å¾—åˆ†
         value := PriorityResult::CalculateScore( formula,e,businessType,macroPlan,0.0);
         value := PriorityResult::CalculateScore( formula,e,businessType,macroPlan,0.0,globalOTDTable);
         
         // ç”Ÿæˆä¼˜å…ˆçº§å› å­è·‘分结果
         priorityResult := macroPlan.PriorityResult(relnew,CustomerOrderID := e.ID(),BusinessType := businessType,Customer := e.CustomerName(),CustomerID := e.CustomerID(),
@@ -59,7 +58,7 @@
    priorityValue := 1;
    traverse( resultList,Elements,e)
    {
        obj := selectobject( customerOrders,Elements,order,
        obj := selectobject( macroPlan,SalesDemand.astype( CustomerOrder ),order,
                             order.ID() = e.CustomerOrderID()
                             );
        obj.PriorityName([String]priorityValue);
_Main/UI/MacroPlannerWebApp/Component_DialogBusinessType/Method_ClickBtnOk.def
@@ -15,6 +15,9 @@
    businessType := DataHolderBusinessType.Data().BusinessTypeName();
    DataHolderBusinessType.Data().Commit();
    
    PriorityFactor::InitData( MacroPlan,businessType);
    this.Close();
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlActions.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
Quintiq file version 2.0
Component pnlActions
{
  #keys: '[414382.0.563131222]'
  BaseType: 'WebPanel'
  Children:
  [
    Component btnOk
    {
      #keys: '[414382.0.563131226]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: 'OK'
        Taborder: 0
      ]
    }
    Component btnCancel
    {
      #keys: '[414382.0.563131228]'
      BaseType: 'WebButton'
      Properties:
      [
        Label: 'Cancel'
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Alignment: 'trailing'
    Border: true
    ExcludeFromActiveComponent: true
    FixedSize: true
    Orientation: 'horizontal'
    Padding: 'true'
    Style: 'footer'
    Taborder: 1
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Component_pnlContent.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
Quintiq file version 2.0
Component pnlContent
{
  #keys: '[414382.0.563131220]'
  BaseType: 'WebPanel'
  Children:
  [
    Component PriorityPolicyStringList
    {
      #keys: '[414382.0.563131262]'
      BaseType: 'WebDropDownStringList'
      Properties:
      [
        Taborder: 0
      ]
    }
    Component DataHolderChoosePriorityPolicy
    {
      #keys: '[414382.0.563131279]'
      BaseType: 'WebDataHolder'
      Databinding: 'structured[PriorityPolicy]*'
      Properties:
      [
        Taborder: 1
      ]
    }
  ]
  Properties:
  [
    Padding: 'true'
    Taborder: 0
  ]
}
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Method_OpenChoose.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
Quintiq file version 2.0
#parent: #root
Method OpenChoose () id:Method_DialogChoosePriorityPolicy_OpenChoose
{
  #keys: '[414382.0.563950563]'
  Body:
  [*
    ApplicationMacroPlanner.ShowFormModal( this );
  *]
}
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/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: '[414382.0.563131232]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  GroupServerCalls: true
  QuillAction
  {
    Body:
    [*
      Form.Close();
    *]
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlActions_btnOk_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
Quintiq file version 2.0
#parent: pnlActions/btnOk
Response OnClick () id:Response_pnlActions_btnOk_OnClick
{
  #keys: '[414382.0.563131231]'
  DefinitionID: 'Responsedef_WebButton_OnClick'
  QuillAction
  {
    Body:
    [*
      name := PriorityPolicyStringList.Text();
      PriorityResult::CalculatePriorityResult(name,MacroPlan,GlobalOTDTable);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnCreated.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: pnlContent/DataHolderChoosePriorityPolicy
Response OnCreated () id:Response_pnlContent_DataHolderChoosePriorityPolicy_OnCreated
{
  #keys: '[414382.0.563131469]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnCreated'
  QuillAction
  {
    Body:
    [*
      dataList := selectuniquevalues(  MacroPlan,PriorityPolicy,p,p.Name());
      strings := dataList.Concatenate( ";");
      PriorityPolicyStringList.Strings(strings);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/Response_pnlContent_DataHolderChoosePriorityPolicy_OnDataChanged.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
Quintiq file version 2.0
#parent: pnlContent/DataHolderChoosePriorityPolicy
Response OnDataChanged () id:Response_pnlContent_DataHolderChoosePriorityPolicy_OnDataChanged
{
  #keys: '[414382.0.563131545]'
  CanBindMultiple: false
  DefinitionID: 'Responsedef_WebComponent_OnDataChanged'
  QuillAction
  {
    Body:
    [*
      dataList := selectuniquevalues(  MacroPlan,PriorityPolicy,p,p.Name());
      strings := dataList.Concatenate( ";");
      PriorityPolicyStringList.Strings(strings);
    *]
    GroupServerCalls: false
  }
}
_Main/UI/MacroPlannerWebApp/Component_DialogChoosePriorityPolicy/_ROOT_Component_DialogChoosePriorityPolicy.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
Quintiq file version 2.0
#root
#parent: MacroPlannerWebApp
OrphanComponent DialogChoosePriorityPolicy
{
  #keys: '[414382.0.563131218]'
  BaseType: 'WebForm'
  Children:
  [
    #child: pnlContent
    #child: pnlActions
  ]
  Properties:
  [
    Alignment: 'trailing'
    EnterButton: 'btnOk'
    EscapeButton: 'btnCancel'
    ExcludeFromActiveComponent: true
    Padding: 'false'
    Title: '选择优先级策略'
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_ListSalesDemands.def
@@ -5,6 +5,10 @@
  [
    Component DataSetLevelSalesDemands #extension
    {
      Children:
      [
        #child: listContextMenuSD
      ]
      Properties:
      [
        Columns: '[{"attribute":{"classtype":"WebApiDefinitionAttributeAllConstraint","columnid":"All constraints","title":"All constraints","subtotals":"","tooltip":"","width":1,"display":"shown"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StockingPoint_MP.ID","title":"Stocking point","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"StockingPoint_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"SalesSegment_MP.Name","title":"Sales segment","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"SalesSegment_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerName","title":"Customer name","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerName"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"CustomerID","title":"Customer ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"CustomerID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderID","title":"Order ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderLineID","title":"Order line ID","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderLineID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"StartDate","title":"Order date","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"StartDate"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Product_MP.ID","title":"Product","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"Product_MP.ID"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"UnitOfMeasure_MP.Name","title":"UoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"UnitOfMeasure_MP.Name"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Quantity","title":"Quantity","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Quantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"FulfilledQuantity","title":"Fulfilled","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"FulfilledQuantity"}},{"attribute":{"classtype":"WebApiDefinitionAttributeChart","columnid":"Fulfillment","title":"Fulfillment","subtotals":"","tooltip":"","width":-1,"display":"shown","type":"stackbar","relative":true,"attributes":[{"name":"Unfulfilled demand","color":"rgb(232,123,0)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Unfulfilled demand","title":"Unfulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"maxvalue( object.Quantity() - object.FulfilledQuantity(), 0.0).Round( 2)"}},{"name":"Fulfilled demand","color":"rgb(87,184,71)","expression":{"classtype":"WebApiDefinitionAttributeExpression","columnid":"Fulfilled demand","title":"Fulfilled demand","subtotals":"","tooltip":"","width":-1,"display":"shown","expressionbody":"object.FulfilledQuantity().Round( 2)"}}]}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsFirmed","title":"Is firmed","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsFirmed"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"IsEligibleForNetting","title":"Is eligible for netting","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"IsEligibleForNetting"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"Price","title":"Price","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"Price"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"PriceUoM","title":"PriceUoM","subtotals":"","tooltip":"","width":-1,"display":"shown","attribute":"PriceUoM"}},{"attribute":{"classtype":"WebApiDefinitionAttributeDataMember","columnid":"OrderTag","title":"订单标签","subtotals":"","tooltip":"","width":-1,"display":"shown","editable":false,"attribute":"OrderTag"}}]'
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Component_listContextMenuSD.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
Quintiq file version 2.0
Component listContextMenuSD #extension
{
  Children:
  [
    Component MenuPriorityResult
    {
      #keys: '[414382.0.562012014]'
      BaseType: 'WebMenu'
      Properties:
      [
        Taborder: 10
        Title: '事业部优先级计算'
      ]
    }
  ]
}
_Main/UI/MacroPlannerWebApp/Component_FormCustomerOrders/Response_TIANMA_JITUAN_ListSalesDemands_MenuPriorityResult_OnClick.def
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
Quintiq file version 2.0
#parent: ListSalesDemands
Response OnClick () id:Response_ListSalesDemands_MenuPriorityResult_OnClick
{
  #keys: '[414382.0.563130924]'
  CanBindMultiple: false
  DefinitionID => //FormSalesDemands/ListSalesDemands/Responsedef_ListSalesDemands_WebMenu_OnClick
  Initiator: 'MenuPriorityResult'
  QuillAction
  {
    Body:
    [*
      dlg := construct( DialogChoosePriorityPolicy );
      dlg.OpenChoose();
    *]
    GroupServerCalls: false
  }
}