| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod CanUpdateInMatrix ( | 
|   output String feedback_o, | 
|   String attr, | 
|   ProductInStockingPointInPeriod pispip | 
| ) declarative remote as Boolean | 
| { | 
|   Description: 'Returns true if pispip and attribute selected can be directly typed in the matrix. Used in web designer.' | 
|   TextBody: | 
|   [* | 
|     feedback_o := ''; | 
|      | 
|     if( attr = attribute( ProductInStockingPointInPeriod, PlannedInventoryLevelEnd ).Name() ) | 
|     { | 
|       feedback_o := Translations::MP_WebDesigner_PlannedInventoryNotEditable(); | 
|     } | 
|     else if( pispip.ProductInStockingPoint_MP().Product_MP().HasShelfLifeOrMaturation() | 
|              and pispip.ActualProductInStockingPointInPeriod( relsize ) = 0 ) | 
|     { | 
|       feedback_o := Translations::MP_WebDesigner_ProductHasShelfLife(); | 
|     } | 
|     else if( pispip.ProductInStockingPoint_MP().Product_MP().HasShelfLifeOrMaturation() | 
|              and pispip.ActualProductInStockingPointInPeriod( relsize ) > 1 ) | 
|     { | 
|       feedback_o := Translations::MP_WebDesigner_MultiManufacturedDate(); | 
|     } | 
|     else if( not pispip.Period_MP().IsHistorical() ) | 
|     { | 
|       feedback_o := Translations::MP_ActualProductInStockingPointInPeriod_ValidateInput_IsValidDate( pispip.MacroPlan().StartOfPlanning().Date() ); | 
|     } | 
|      | 
|     return feedback_o = ''; | 
|   *] | 
| } |