陈清红
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Quintiq file version 2.0
#parent: #root
Method EditLaneLegCosts (
  internal[GUIComponent] parent,
  structured[shadow[LaneLegCost]] selection
) id:Method_DialogCreateEditLaneLegCost_EditLaneLegCosts
{
  #keys: '[124808.1.1621249282]'
  Body:
  [*
    // Edit shadow lane leg costs
    isbatchedit := selection.Size() > 1;
    data := selection.Element( 0 );
    
    Dialog.Data( data );
    
    // Enable / disable primary keys when batch editing
    Dialog.EnableDisableComponentsForBatchEdit( isbatchedit );
    
    currency := guard( data.LaneLeg().Lane().Unit().Currency_MP(), null( Currency_MP ) );
    unitofmeasure := guard( data.LaneLeg().Lane().Unit().UnitOfMeasure_MP(), null( UnitOfMeasure_MP ) );
    
    Dialog.SetHolders( currency, unitofmeasure );
    
    // Need to set from a static method, using data.DefinitionName() will not work
    // in case of editing shadow costs which is not created yet.
    Dialog.SetValueForStringSelections( LaneLegCost::GetDefinitionName() );
    
    result := this.DoModal( parent );
    
    if( result > 0 )
    {
      if( not isbatchedit )
      {
        data.Commit();
      }
      else
      {
        Dialog.UpdateShadowCost( selection, data.Cost() );
      }
    }
  *]
}