|  | @@ -356,7 +356,7 @@ JpcCrossTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |              tabRstLst.push(me.outputTabExt(rptTpl, dataObj, page, bands, unitFactor, controls));
 | 
	
		
			
				|  |  |              tabRstLst.push(me.outputSumTabExt(rptTpl, dataObj, page, bands, unitFactor, segIdx, controls));
 | 
	
		
			
				|  |  |              //2.5 Discrete
 | 
	
		
			
				|  |  | -            tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_CROSS_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, 1, 0, $CURRENT_RPT));
 | 
	
		
			
				|  |  | +            tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_CROSS_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, 1, 0, $CURRENT_RPT, customizeCfg));
 | 
	
		
			
				|  |  |              //*/
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              let segIdx = JpcCommonHelper.getSegIdxByPageIdx(page, me.page_seg_map);
 | 
	
	
		
			
				|  | @@ -376,7 +376,7 @@ JpcCrossTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |              tabRstLst.push(me.outputTabExt(rptTpl, dataObj, page, bands, unitFactor, controls));
 | 
	
		
			
				|  |  |              tabRstLst.push(me.outputSumTabExt(rptTpl, dataObj, page, bands, unitFactor, segIdx, controls));
 | 
	
		
			
				|  |  |              //2.5 Discrete
 | 
	
		
			
				|  |  | -            tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_CROSS_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, 1, 0, $CURRENT_RPT));
 | 
	
		
			
				|  |  | +            tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_CROSS_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, 1, 0, $CURRENT_RPT, customizeCfg));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          for (let i = 0; i < tabRstLst.length; i++) {
 | 
	
		
			
				|  |  |              rst = rst.concat(tabRstLst[i]);
 | 
	
	
		
			
				|  | @@ -395,7 +395,7 @@ JpcCrossTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |                  let data_details = dataObj[JV.DATA_DETAIL_DATA];
 | 
	
		
			
				|  |  |                  let valuesIdx = me.dispValueIdxLst_Row[page - 1];
 | 
	
		
			
				|  |  |                  let serialsIdx = me.dispSerialIdxLst_Row[page - 1];
 | 
	
		
			
				|  |  | -                let flexiblePrecisionRefObj = null, flexibleRefField = null;
 | 
	
		
			
				|  |  | +                let flexiblePrecisionRefObj = null, flexibleRefField = null, precision_ref_data = null;
 | 
	
		
			
				|  |  |                  for (let i = 0; i < me.row_fields_idx.length; i++) {
 | 
	
		
			
				|  |  |                      let tab_field = tab_fields[i];
 | 
	
		
			
				|  |  |                      let data_field = data_details[me.row_fields_idx[i]];
 | 
	
	
		
			
				|  | @@ -407,11 +407,12 @@ JpcCrossTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |                                  if (flexiblePrecisionRefObj === null) {
 | 
	
		
			
				|  |  |                                      flexiblePrecisionRefObj = {};
 | 
	
		
			
				|  |  |                                      flexibleRefField = JE.F(map_data_field[JV.PROP_PRECISION][JV.PROP_FLEXIBLE_REF_FILED_ID], $CURRENT_RPT);
 | 
	
		
			
				|  |  | +                                    precision_ref_data = dataObj[map_data_field.DataNodeName][flexibleRefField.DataSeq];
 | 
	
		
			
				|  |  |                                      for (let decimalObj of map_data_field.flexiblePrecisionRefObj) {
 | 
	
		
			
				|  |  |                                          flexiblePrecisionRefObj["refUnit_" + decimalObj.unit] = decimalObj.decimal;
 | 
	
		
			
				|  |  |                                      }
 | 
	
		
			
				|  |  |                                  }
 | 
	
		
			
				|  |  | -                                JpcFieldHelper.resetFlexibleFormat(tab_field, flexibleRefField, flexiblePrecisionRefObj, valuesIdx[rowIdx], customizeCfg);
 | 
	
		
			
				|  |  | +                                JpcFieldHelper.resetFlexibleFormat(tab_field, precision_ref_data, flexiblePrecisionRefObj, valuesIdx[rowIdx], customizeCfg);
 | 
	
		
			
				|  |  |                              } else {
 | 
	
		
			
				|  |  |                                  if (rowIdx === 0) JpcFieldHelper.resetFormat(tab_field, map_data_field, customizeCfg);
 | 
	
		
			
				|  |  |                              }
 | 
	
	
		
			
				|  | @@ -433,7 +434,7 @@ JpcCrossTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |                  let tab_fields = tab[JV.TAB_CROSS_FIELDS];
 | 
	
		
			
				|  |  |                  let data_details = dataObj[JV.DATA_DETAIL_DATA];
 | 
	
		
			
				|  |  |                  let valuesIdx = me.dispValueIdxLst_Col[page - 1];
 | 
	
		
			
				|  |  | -                let flexiblePrecisionRefObj = null, flexibleRefField = null;
 | 
	
		
			
				|  |  | +                let flexiblePrecisionRefObj = null, flexibleRefField = null, precision_ref_data = null;
 | 
	
		
			
				|  |  |                  for (let i = 0; i < me.col_fields_idx.length; i++) {
 | 
	
		
			
				|  |  |                      let tab_field = tab_fields[i];
 | 
	
		
			
				|  |  |                      let data_field = data_details[me.col_fields_idx[i]];
 | 
	
	
		
			
				|  | @@ -445,11 +446,12 @@ JpcCrossTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |                                  if (flexiblePrecisionRefObj === null) {
 | 
	
		
			
				|  |  |                                      flexiblePrecisionRefObj = {};
 | 
	
		
			
				|  |  |                                      flexibleRefField = JE.F(map_data_field[JV.PROP_PRECISION][JV.PROP_FLEXIBLE_REF_FILED_ID], $CURRENT_RPT);
 | 
	
		
			
				|  |  | +                                    precision_ref_data = dataObj[map_data_field.DataNodeName][flexibleRefField.DataSeq];
 | 
	
		
			
				|  |  |                                      for (let decimalObj of map_data_field.flexiblePrecisionRefObj) {
 | 
	
		
			
				|  |  |                                          flexiblePrecisionRefObj["refUnit_" + decimalObj.unit] = decimalObj.decimal;
 | 
	
		
			
				|  |  |                                      }
 | 
	
		
			
				|  |  |                                  }
 | 
	
		
			
				|  |  | -                                JpcFieldHelper.resetFlexibleFormat(tab_field, flexibleRefField, flexiblePrecisionRefObj, valuesIdx[colIdx], customizeCfg);
 | 
	
		
			
				|  |  | +                                JpcFieldHelper.resetFlexibleFormat(tab_field, precision_ref_data, flexiblePrecisionRefObj, valuesIdx[colIdx], customizeCfg);
 | 
	
		
			
				|  |  |                              } else {
 | 
	
		
			
				|  |  |                                  if (colIdx === 0) JpcFieldHelper.resetFormat(tab_field, map_data_field, customizeCfg);
 | 
	
		
			
				|  |  |                              }
 | 
	
	
		
			
				|  | @@ -483,7 +485,7 @@ JpcCrossTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |                  let tab_fields = tab[JV.TAB_CROSS_FIELDS];
 | 
	
		
			
				|  |  |                  let data_details = dataObj[JV.DATA_DETAIL_DATA];
 | 
	
		
			
				|  |  |                  let contentValuesIdx = me.dispValueIdxLst_Content[page - 1];
 | 
	
		
			
				|  |  | -                let flexiblePrecisionRefObj = null, flexibleRefField = null;
 | 
	
		
			
				|  |  | +                let flexiblePrecisionRefObj = null, flexibleRefField = null, precision_ref_data = null;
 | 
	
		
			
				|  |  |                  for (let i = 0; i < tab_fields.length; i++) {
 | 
	
		
			
				|  |  |                      let tab_field = tab_fields[i];
 | 
	
		
			
				|  |  |                      let data_field = data_details[me.content_fields_idx[i]];
 | 
	
	
		
			
				|  | @@ -497,11 +499,12 @@ JpcCrossTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |                                      if (flexiblePrecisionRefObj === null) {
 | 
	
		
			
				|  |  |                                          flexiblePrecisionRefObj = {};
 | 
	
		
			
				|  |  |                                          flexibleRefField = JE.F(map_data_field[JV.PROP_PRECISION][JV.PROP_FLEXIBLE_REF_FILED_ID], $CURRENT_RPT);
 | 
	
		
			
				|  |  | +                                        precision_ref_data = dataObj[map_data_field.DataNodeName][flexibleRefField.DataSeq];
 | 
	
		
			
				|  |  |                                          for (let decimalObj of map_data_field.flexiblePrecisionRefObj) {
 | 
	
		
			
				|  |  |                                              flexiblePrecisionRefObj["refUnit_" + decimalObj.unit] = decimalObj.decimal;
 | 
	
		
			
				|  |  |                                          }
 | 
	
		
			
				|  |  |                                      }
 | 
	
		
			
				|  |  | -                                    JpcFieldHelper.resetFlexibleFormat(tab_field, flexibleRefField, flexiblePrecisionRefObj, contentValuesIdx[rowIdx][colIdx], customizeCfg);
 | 
	
		
			
				|  |  | +                                    JpcFieldHelper.resetFlexibleFormat(tab_field, precision_ref_data, flexiblePrecisionRefObj, contentValuesIdx[rowIdx][colIdx], customizeCfg);
 | 
	
		
			
				|  |  |                                  } else {
 | 
	
		
			
				|  |  |                                      if (colIdx === 0) JpcFieldHelper.resetFormat(tab_field, map_data_field, customizeCfg);
 | 
	
		
			
				|  |  |                                  }
 |