陈清红
2025-04-14 880f3c0257eeb8c37761d484258fdd102a369a19
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_DialogCreateEditOperationCost_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( DialogCreateEditOperation ).Data(),
                          null( shadow[Operation] ) );
    
    isvalid := not exists( shadowowner, OperationCost, cost,
                           cost <> data,
                           cost.AccountName() = SelectionAccount.BoundValue()
                           and cost.CostDriver() = StringSelectionCostDriver.BoundValue()
                           and cost.Start() = GUIDateTimeSelectorStart.DateTime().Date() );
    
    return isvalid;
  *]
}