AllItems.Add(newWMeterRsltItemSpec(ItemID.Mass_start_raw,string.Format("{0} ST raw ()",Strings.VName_Mass),Quantity.Mass,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V4",w.GetTestRslt(t).MassStartRaw)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Mass_start,string.Format("{0} ST ()",Strings.VName_Mass),Quantity.Mass,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V4",w.GetTestRslt(t).MassStart)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Mass_end_raw,string.Format("{0} EN raw ()",Strings.VName_Mass),Quantity.Mass,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V4",w.GetTestRslt(t).MassEndRaw)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Mass_end,string.Format("{0} EN ()",Strings.VName_Mass),Quantity.Mass,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V4",w.GetTestRslt(t).MassEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Rho_Wa_calc,string.Format("{0} of sample",Strings.Density),Quantity.Density,ItemCategory.TestResult,(w,t,u,f,p)=>FormatDbl(u,f,p,"V4",RealDensity)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Diverter_start_time,"Diverter start time ()",Quantity.Time,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"F3",w.GetTestRslt(t).DiverterStart)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Diverter_end_time,"Diverter end time ()",Quantity.Time,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"F3",w.GetTestRslt(t).DiverterEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Flow,string.Format("{0} v r",Strings.VName_Flow),Strings.Tooltip_Q_v_r,Quantity.Flow,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).FlowVolume)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Q_ref_mean,string.Format("{0} rim ()",Strings.VName_Flow),Strings.Tooltip_Q_rim,Quantity.Flow,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).FlowMean)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Q_ref_min,string.Format("{0} ref min ()",Strings.VName_Flow),Strings.Tooltip_Q_min,Quantity.Flow,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).FlowMin)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Q_ref_max,string.Format("{0} ref max ()",Strings.VName_Flow),Strings.Tooltip_Q_max,Quantity.Flow,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).FlowMax)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Q_ref_end,string.Format("{0} ref end ()",Strings.VName_Flow),Strings.Tooltip_Q_end,Quantity.Flow,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).FlowEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_up_mean,string.Format("{0} UP ME ()",Strings.VName_Temp),Strings.Tooltip_T_up_me,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempUpMean)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_up_start,string.Format("{0} UP ST ()",Strings.VName_Temp),Strings.Tooltip_T_up_st,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempUpStart)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_up_end,string.Format("{0} UP EN ()",Strings.VName_Temp),Strings.Tooltip_T_up_en,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempUpEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_up_avg,string.Format("{0} UP avg ()",Strings.VName_Temp),Strings.Tooltip_T_up_avg,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",(w.GetTestRslt(t).TempUpStart+w.GetTestRslt(t).TempUpEnd)/2)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_up_min,string.Format("{0} UP min ()",Strings.VName_Temp),Strings.Tooltip_T_up_min,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempUpMin)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_up_max,string.Format("{0} UP max ()",Strings.VName_Temp),Strings.Tooltip_T_up_max,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempUpMax)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_line_mean,string.Format("{0} LN ME ()",Strings.VName_Temp),Strings.Tooltip_T_ln_me,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",(w.GetTestRslt(t).TempUpMean+w.GetTestRslt(t).TempDownMean)/2)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_line_start,string.Format("{0} LN ST ()",Strings.VName_Temp),Strings.Tooltip_T_ln_st,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",(w.GetTestRslt(t).TempUpStart+w.GetTestRslt(t).TempDownStart)/2)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_line_end,string.Format("{0} LN EN ()",Strings.VName_Temp),Strings.Tooltip_T_ln_en,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",(w.GetTestRslt(t).TempUpEnd+w.GetTestRslt(t).TempDownEnd)/2)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_line_min,string.Format("{0} LN min ()",Strings.VName_Temp),Strings.Tooltip_T_ln_min,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",(w.GetTestRslt(t).TempUpMin+w.GetTestRslt(t).TempDownMin)/2)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_line_max,string.Format("{0} LN max ()",Strings.VName_Temp),Strings.Tooltip_T_ln_max,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",(w.GetTestRslt(t).TempUpMax+w.GetTestRslt(t).TempDownMax)/2)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_down_mean,string.Format("{0} DW ME ()",Strings.VName_Temp),Strings.Tooltip_T_dw_me,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempDownMean)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_down_start,string.Format("{0} DW ST ()",Strings.VName_Temp),Strings.Tooltip_T_dw_st,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempDownStart)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_down_end,string.Format("{0} DW EN ()",Strings.VName_Temp),Strings.Tooltip_T_dw_en,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempDownEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_down_min,string.Format("{0} DW min ()",Strings.VName_Temp),Strings.Tooltip_T_dw_min,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempDownMin)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_down_max,string.Format("{0} DW max ()",Strings.VName_Temp),Strings.Tooltip_T_dw_max,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempDownMax)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_div,string.Format("{0} DI ME ()",Strings.VName_Temp),Strings.Tooltip_T_di_me,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempDivMean)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_div_start,string.Format("{0} DI ST ()",Strings.VName_Temp),Strings.Tooltip_T_di_st,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempDivStart)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_div_end,string.Format("{0} DI EN ()",Strings.VName_Temp),Strings.Tooltip_T_di_en,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempDivEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_div_avg,string.Format("{0} DI avg ()",Strings.VName_Temp),Strings.Tooltip_T_di_avg,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",(w.GetTestRslt(t).TempDivStart+w.GetTestRslt(t).TempDivEnd)/2)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_div_min,string.Format("{0} DI min ()",Strings.VName_Temp),Strings.Tooltip_T_di_min,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempDivMin)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_div_max,string.Format("{0} DI max ()",Strings.VName_Temp),Strings.Tooltip_T_di_max,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).TempDivMax)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Hi_mean,string.Format("{0} hi me",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":(w.GetTestRslt(t).Custom1).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Hi_start,string.Format("{0} hi st",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":(w.GetTestRslt(t).Custom2).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Hi_end,string.Format("{0} hi en",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":(w.GetTestRslt(t).Custom3).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Hi_avg,string.Format("{0} hi av",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":((w.GetTestRslt(t).Custom2+w.GetTestRslt(t).Custom3)/2).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Lo_mean,string.Format("{0} lo me",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":(w.GetTestRslt(t).Custom6).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Lo_start,string.Format("{0} lo st",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":(w.GetTestRslt(t).Custom7).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Lo_end,string.Format("{0} lo en",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":(w.GetTestRslt(t).Custom8).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.T_Lo_avg,string.Format("{0} lo av",Strings.VName_Temp),Quantity.Temperature,ItemCategory.Other,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":((w.GetTestRslt(t).Custom7+w.GetTestRslt(t).Custom8)/2).ToString(GetPr(p,"F3"))));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_up,string.Format("{0} UP ME ()",Strings.VName_Press),Strings.Tooltip_P_up_me,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressUpMean)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_up_start,string.Format("{0} UP ST ()",Strings.VName_Press),Strings.Tooltip_P_up_st,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressUpStart)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_up_end,string.Format("{0} UP EN ()",Strings.VName_Press),Strings.Tooltip_P_up_en,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressUpEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_up_avg,string.Format("{0} UP avg ()",Strings.VName_Press),Strings.Tooltip_P_up_avg,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",(w.GetTestRslt(t).PressUpStart+w.GetTestRslt(t).PressUpEnd)/2)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_up_min,string.Format("{0} UP min ()",Strings.VName_Press),Strings.Tooltip_P_up_min,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressUpMin)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_up_max,string.Format("{0} UP max ()",Strings.VName_Press),Strings.Tooltip_P_up_max,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressUpMax)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_down,string.Format("{0} DW ME ()",Strings.VName_Press),Strings.Tooltip_P_dw_me,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressDownMean)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_down_start,string.Format("{0} DW ST ()",Strings.VName_Press),Strings.Tooltip_P_dw_st,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressDownStart)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_down_end,string.Format("{0} DW EN ()",Strings.VName_Press),Strings.Tooltip_P_dw_en,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressDownEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_down_min,string.Format("{0} DW min ()",Strings.VName_Press),Strings.Tooltip_P_dw_min,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressDownMin)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_down_max,string.Format("{0} DW max ()",Strings.VName_Press),Strings.Tooltip_P_dw_max,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressDownMax)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_delta_mean,string.Format("{0} DE ME ()",Strings.VName_Press),Strings.Tooltip_P_de_me,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressDeltaMean)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_delta_start,string.Format("{0} DE ST ()",Strings.VName_Press),Strings.Tooltip_P_de_st,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressDeltaStart)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_delta_end,string.Format("{0} DE EN ()",Strings.VName_Press),Strings.Tooltip_P_de_en,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressDeltaEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_delta_avg,string.Format("{0} DE avg ()",Strings.VName_Press),Strings.Tooltip_P_de_avg,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",(w.GetTestRslt(t).PressDeltaStart+w.GetTestRslt(t).PressDeltaEnd)/2)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_delta_min,string.Format("{0} DE min ()",Strings.VName_Press),Strings.Tooltip_P_de_min,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressDeltaMin)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.P_delta_max,string.Format("{0} DE max ()",Strings.VName_Press),Strings.Tooltip_P_de_max,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>(w.GetTestRslt(t)==null)?"":FormatDbl(u,f,p,"V3",w.GetTestRslt(t).PressDeltaMax)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Ambient_temperature,string.Format("{0} Amb M",Strings.VName_Temp),Strings.Tooltip_T_Amb_M,Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>FormatDbl(u,f,p,"V3",(w.GetTestRslt(t)==null)?w.Batch.AmbTempMean():w.GetTestRslt(t).AmbTempMean)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Ambient_pressure,string.Format("{0} Amb M",Strings.VName_Press),Strings.Tooltip_P_Amb_M,Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>FormatDbl(u,f,p,"V4",(w.GetTestRslt(t)==null)?w.Batch.AmbPressMean():w.GetTestRslt(t).AmbPressMean)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Ambient_humidity,string.Format("{0} Amb M",Strings.VName_Humi),Strings.Tooltip_Hu_Amb_M,Quantity.Humidity,ItemCategory.TestResult,(w,t,u,f,p)=>FormatDbl(u,f,p,"V2",(w.GetTestRslt(t)==null)?w.Batch.AmbHumiMean():w.GetTestRslt(t).AmbHumiMean)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Amb_temp_start_end,string.Format("{0} Amb ST/EN",Strings.VName_Temp),Quantity.Temperature,ItemCategory.TestResult,(w,t,u,f,p)=>FormatDbl(u,f,p,"V3",(w.GetTestRslt(t)==null)?w.Batch.AmbTempStart():w.GetTestRslt(t).AmbTempStart,(w.GetTestRslt(t)==null)?w.Batch.AmbTempEnd():w.GetTestRslt(t).AmbTempEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Amb_press_start_end,string.Format("{0} Amb ST/EN",Strings.VName_Press),Quantity.Pressure,ItemCategory.TestResult,(w,t,u,f,p)=>FormatDbl(u,f,p,"V4",(w.GetTestRslt(t)==null)?w.Batch.AmbPressStart():w.GetTestRslt(t).AmbPressStart,(w.GetTestRslt(t)==null)?w.Batch.AmbPressEnd():w.GetTestRslt(t).AmbPressEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Amb_humi_start_end,string.Format("{0} Amb ST/EN",Strings.VName_Humi),Quantity.Humidity,ItemCategory.TestResult,(w,t,u,f,p)=>FormatDbl(u,f,p,"V2",(w.GetTestRslt(t)==null)?w.Batch.AmbHumiStart():w.GetTestRslt(t).AmbHumiStart,(w.GetTestRslt(t)==null)?w.Batch.AmbHumiEnd():w.GetTestRslt(t).AmbHumiEnd)));
AllItems.Add(newWMeterRsltItemSpec(ItemID.ResultOrErrorFlags,"Winiki lub E",Quantity.String,ItemCategory.MeterResult,(w,t,u,f,p)=>FormatStr(f,string.IsNullOrEmpty(w.ErrorFlagsStr())?(w.WaterMeterData.Text4+w.PassedColorStr()):w.ErrorFlagsStr())));/// PL specific result
AllItems.Add(newWMeterRsltItemSpec(ItemID.Pressure_loss_class,"Pressure loss class",Quantity.String,ItemCategory.MeterData,(w,t,u,f,p)=>FormatStr(f,w.WaterMeterData.PressureLossClass.ToDescription())));
AllItems.Add(newWMeterRsltItemSpec(ItemID.Passed_seals_count,"Seals count of passed meters",Quantity.Number,ItemCategory.Other,(w,t,u,f,p)=>FormatInt(f,w.Batch.PassedMetersCount()*int.Parse(w.WaterMeterData.Text5))));