| Quintiq file version 2.0 | 
| #parent: #root | 
| TypeDataInterface AccountCost | 
| { | 
|   TypeKey: '[110704.0.595322671]' | 
|   ImageDataMember ImgHasValidCostDriver | 
|   { | 
|     #keys: '1[124808.2.238073422]' | 
|     ImageSpecifications: | 
|     [ | 
|       ImageDataMemberImageSpecification | 
|       { | 
|         Description: 'Cost driver is empty' | 
|         Image: 'WINDOW_DELETE' | 
|         Quill: "object.CostDriver() = ''" | 
|         Value: 'Empty cost driver' | 
|       } | 
|       ImageDataMemberImageSpecification | 
|       { | 
|         Description: 'According to the rules in CostDriverRules KT, entity with this cost driver is not allowed' | 
|         Image: 'WINDOW_APPLICATION_DELETE' | 
|         Quill: 'not object.HasAllowedCostDriver()' | 
|         Value: 'Cost driver is not allowed' | 
|       } | 
|       ImageDataMemberImageSpecification | 
|       { | 
|         Description: 'Time-based cost driver is only allowed on time-based unit' | 
|         Image: 'HISTORY_DELETE' | 
|         Quill: 'guard( not object.AccountAssignment().astype( UnitAccount ).IsValidCostDriverForTime(), false )' | 
|         Value: 'Time based cost driver is not allowed' | 
|       } | 
|     ] | 
|   } | 
|   ImageDataMember ImgHasValidMatchingUnitAccount | 
|   { | 
|     #keys: '1[110880.4.430905276]' | 
|     ImageSpecifications: | 
|     [ | 
|       ImageDataMemberImageSpecification | 
|       { | 
|         Description: 'Cost is assigned to an account which does not belong to the same unit as the owner of this process. You can fix this by first removing the cost.' | 
|         Image: 'SCROLL_ERROR' | 
|         Quill: 'not object.GetHasValidMatchingUnitAccount()' | 
|         Value: 'HasInvalidMatchingUnitAccount' | 
|       } | 
|     ] | 
|   } | 
|   ImageDataMember ImgIsAccountAssignmentType | 
|   { | 
|     #keys: '1[124808.2.191472192]' | 
|     ImageSpecifications: | 
|     [ | 
|       ImageDataMemberImageSpecification | 
|       { | 
|         Description: 'Unit account' | 
|         Image: 'FACTORY' | 
|         Quill: 'object.AccountAssignment().istype( UnitAccount )' | 
|         Value: 'IsUnitAccount' | 
|       } | 
|       ImageDataMemberImageSpecification | 
|       { | 
|         Description: 'Stocking point account' | 
|         Image: 'BOX' | 
|         Quill: 'object.AccountAssignment().istype( StockingPointAccount )' | 
|         Value: 'IsStockingPointAccount' | 
|       } | 
|       ImageDataMemberImageSpecification | 
|       { | 
|         Description: 'Product in stocking point account' | 
|         Image: 'CUBES_GREEN' | 
|         Quill: 'object.AccountAssignment().istype( PISPAccount )' | 
|         Value: 'IsPISPAccount' | 
|       } | 
|       ImageDataMemberImageSpecification | 
|       { | 
|         Description: 'Product account' | 
|         Image: 'PRODUCT2' | 
|         Quill: 'object.istype( ProductValueAndCost )' | 
|         Value: 'IsProductAccount' | 
|       } | 
|     ] | 
|   } | 
|   ImageDataMember ImgIsUnique | 
|   { | 
|     #keys: '1[110880.3.358128027]' | 
|     ImageSpecifications: | 
|     [ | 
|       ImageDataMemberImageSpecification | 
|       { | 
|         Description: 'Cost with the same start date already exists. Please retain only one.' | 
|         Image: 'DATA_WARNING' | 
|         Quill: 'not object.IsUnique()' | 
|         Value: 'NotUnique' | 
|       } | 
|     ] | 
|   } | 
|   ImageDataMember ImgIsValidAssignment | 
|   { | 
|     #keys: '1[124808.2.239230148]' | 
|     ImageSpecifications: | 
|     [ | 
|       ImageDataMemberImageSpecification | 
|       { | 
|         Description: 'Assignment is only allowed for account which is on the lowest level. Please remove this assignment' | 
|         Image: 'SELECTION_DELETE' | 
|         Quill: 'not object.GetIsLeafAccount()' | 
|         Value: 'InvalidAccountAssignment' | 
|       } | 
|     ] | 
|   } | 
| } |