hongji.li
2023-11-03 aefafd2142478d4fb07d6b8b45c3047e247389e0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Quintiq file version 2.0
#parent: #root
Method GetIsUniqueCost () derived id:Method_DialogCreateEditStockingPointCost_GetIsUniqueCost
{
  #keys: '[113694.2.555296993]'
  BaseType => //DialogCreateEditAccountCost/Method_DialogCreateEditAccountCost_GetIsUniqueCost
  Body:
  [*
    // Check if the cost is unique
    data := Dialog.Data();
    /* This dialog can be open up from different place, but there is only one place we want to check the
       shadow unique cost, which is open from DialogCreateEditStockingPoint */
    shadowowner := guard( Dialog.Parent().astype( DialogCreateEditStockingPoint ).Data(),
                          null( shadow[StockingPoint_MP] ) );
    
    isvalid := not exists( shadowowner, StockingPointCost , spcost,
                           spcost <> data,
                           spcost.AccountName() = SelectionAccount.BoundValue()
                           and spcost.CostDriver() = StringSelectionCostDriver.BoundValue()
                           and spcost.Start() = GUIDateTimeSelectorStart.DateTime().Date() );
    
    return isvalid;
  *]
}