Quintiq file version 2.0
|
#parent: #root
|
Method CreateConfigurableColumnString (
|
shadow[LibOpt_UISnapshotAttribute] att
|
) as String id:Method_LibOpt_FormIteration_CreateConfigurableColumnString
|
{
|
#keys: '[139164.5.1067713876]'
|
Body:
|
[*
|
snapshots := construct( LibOpt_Snapshots );
|
component_snapshot := att.Snapshot();
|
while( not isnull( component_snapshot ) and not component_snapshot.istype( LibOpt_SnapshotComponent ) )
|
{
|
component_snapshot := component_snapshot.Parent();
|
snapshots.Add( component_snapshot );
|
}
|
|
trav_rel := 'IterationPartNM.IterationPart.Snapshot.astype( ' + typeofexpression( att.Snapshot() ).Name() + ' )';
|
|
filters := construct( Strings );
|
filters.Add( 'snapshot.Type() = "' + att.Snapshot().Type() + '"' );
|
|
|
for( i := 0; i < snapshots.Size(); i++ )
|
{
|
snap := snapshots.Element( i );
|
parents := '';
|
for( j := 0; j <= i; j++ )
|
{
|
parents := parents + '.Parent()';
|
}
|
filter := 'snapshot' + parents + '.astype( ' + typeofexpression( snap ).Name() + ' ).Type() = "' + snap.Type() + '"';
|
filters.Add( filter );
|
|
}
|
|
snapshot_select := 'select( object, '
|
+ trav_rel + ', '
|
+ 'snapshot, '
|
+ filters.ToString( ' and ' ) + ' )';
|
|
|
|
result := 'VALUE( '
|
+ snapshot_select
|
+ '.'
|
+ att.AttributeName()
|
+ '() )';
|
|
return result;
|
*]
|
}
|