yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
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_DialogCreateEditUnitCost_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( DialogCreateEditUnit ).Data(),
                          null( shadow[Unit] ) );
    
    isvalid := not exists( shadowowner, UnitCost, cost,
                           cost <> data,
                           cost.AccountName() = SelectionAccount.BoundValue()
                           and cost.CostDriver() = StringSelectionCostDriver.BoundValue()
                           and cost.Start() = GUIDateTimeSelectorStart.DateTime().Date() );
    
    return isvalid;
  *]
}