陈清红
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
Quintiq file version 2.0
#parent: #root
Method CanCreateOperationInputGroup (
  output String feedback_o,
  ProductInStockingPoint_MPs sourcepisps
) declarative remote as Boolean
{
  Description: 'Returns true if it is allowed to drop PISP onto an operation input.'
  TextBody:
  [*
    isvalid := true;
    
    if( not forall( sourcepisps,
                       Elements,
                       pisp,
                       pisp.UnitOfMeasure_MP() = this.PISPUnitOfMeasurement() ) )
    {
      isvalid := false;
      feedback_o := Translations::MP_OperationInputGroup_ViolateGetHasSameUOM();
    }
    
    // Make sure the operations are of the same type,
    // meaning BOM( not system ) can only be grouped with BOM
    // and Link can only be grouped with Link
    else if( not forall( sourcepisps, Elements, e, 
                                   this.IsSystem() = e.IsSystem() ) )
    {
      isvalid := false;
      feedback_o := Translations::MP_OperationInputGroup_ViolateGetHasSameType();
    }
    
    return isvalid;
  *]
}