chenqinghong
2024-05-07 3ec06a830367465068963156dcc1d8e522571c13
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
Quintiq file version 2.0
#parent: #root
Function CalcHasValidActiveMessageIntegration
{
  TextBody:
  [*
    value := this.HasActiveMessageIntegration();
    
    if( value )
    {
      // Select all sources from active import profile for this object group/interface
      integrationsources := selectuniquevalues( this, 
                                                BaseImportObjectGroupInProfile,
                                                importobjectgroupinprofile,
                                                importobjectgroupinprofile.IsIncludeInImportExport() and
                                                importobjectgroupinprofile.BaseImportProfile().IsActive()and 
                                                not importobjectgroupinprofile.BaseImportProfile().istype( DefaultImportProfile ),
                                                importobjectgroupinprofile.Source() );
      
      // Valid if only single source type active and type is message based integration
      // Multiple source types considered as invalid to prevent data inconsistency
      value := ( integrationsources.Size() = 1 and integrationsources.Element( 0 ) = MPSyncUtility::ID_Source_Message() );
    }
    
    this.HasValidActiveMessageIntegration( value );
  *]
}