| Quintiq file version 2.0 | 
| #parent: #root | 
| Method GetHasValidAccountCostFactor ( | 
|   output Strings feedback_o, | 
|   output Strings sanitycheckfb_o | 
| ) declarative remote as Boolean | 
| { | 
|   Description: 'Validate if factor of min and max account costs is less than or equal to limit' | 
|   TextBody: | 
|   [* | 
|     // desmondt Nov-3-2014 (created) | 
|     isvalid := true; | 
|     factorlimit := this.MacroPlan().GlobalParameters_MP().DifferenceFactor1e6(); | 
|      | 
|     if( this.MaxCost().IsFinite() and this.MinCost().IsFinite() ) | 
|     { | 
|       costdifffactor := guard( this.MaxCost() / this.MinCost(), this.MaxCost() ); | 
|       isvalid := costdifffactor < factorlimit; | 
|     } | 
|      | 
|     if( not isnull( feedback_o ) and not isvalid ) | 
|     { | 
|       formatfactorlimit := factorlimit.Format( "N(Dec(0), Thousands)" ); | 
|       formatmincost := this.MinCost().Format( "N(Dec(0), Thousands)" ); | 
|       formatmaxcost := this.MaxCost().Format( "N(Dec(0), Thousands)" ); | 
|       feedback_o.Add( SanityCheckMessage::GetFormattedMessage( Translations::MP_Account_MP_Instance( this ), | 
|                                                                Translations::MP_Account_ViolateHasValidAccountCostRange( formatmincost, formatmaxcost, formatfactorlimit ) ) ); | 
|       sanitycheckfb_o.Add( SanityCheckCategoryLevel::GetSanityCheckCategoryDataWarning() );                                                            | 
|     } | 
|      | 
|     return isvalid; | 
|   *] | 
| } |