Quintiq file version 2.0
|
#parent: MatrixEditorProductPlanning
|
Response OnEndEdit (
|
structured[ProductInStockingPointInPeriod] cell,
|
structured[internal[MatrixEditorCell]] newvalue
|
) id:Response_FormProductPlanningMatrix_MatrixEditorProductPlanning_OnEndEdit
|
{
|
#keys: '[132448.0.56969954]'
|
Body:
|
[*
|
//Smart plan with user qty
|
pispipPlannings := selectset( cell, Elements.astype( ProductInStockingPointInPeriodPlanning ), pispipPlanning, true )
|
Form.UpdatePISPIPValues( pispipPlannings, newvalue );
|
|
ApplicationLibMacroPlanner.RefreshFormSupplyPlanWebClient();
|
this.EndEdit( false );
|
*]
|
CanBindMultiple: false
|
DefinitionID: 'Responsedef_MatrixEditor_OnEndEdit'
|
Precondition:
|
[*
|
//Check 2 conditions:
|
//1 - whether the selected attribute can be edited
|
//2 - whether the params and profiles are there
|
//3 - if editing supply qty, check if optimizer can be executed
|
attributes := selectvalues( newvalue, Elements, e, true, e.AttributePath() );
|
isSupply_o := false;
|
cond := ProductInStockingPointInPeriod::CanEnterSupplyQuantity( feedback, cell, attributes, isSupply_o );
|
|
// Only check for condition 2 if editing supplyQuantity
|
if( cond )
|
{
|
if( isSupply_o )
|
{
|
periods := selectset( cell, Elements.Period_MP, period, true );
|
cond := Form.CheckExistParamAndProfile( feedback,
|
cell.Element( 0 ), // pispip
|
/* User [Real] instead of ApplicationMacroPlanner.FormatStringToReal
|
MatrixEdiot will do the format internaly to match the server locale
|
and it only allow Real for cell bind to Real attribute */
|
[Real]newvalue.Element( 0 ).NewValue() )
|
and ScenarioManager::CanStartSmartPlan( ScenarioManager,
|
DataHolderActiveScenario.Data(),
|
true,
|
periods,
|
feedback );
|
}
|
}
|
|
return cond;
|
*]
|
}
|