B2019-031 - Alarm Procedures that use ROLookup to retrieve RO Return Values from an Alarm RO database. If the Alarm ID contains a comma, it was being truncated at the first comma.

This commit is contained in:
Rich 2019-03-07 18:21:05 +00:00
parent 17260519e3
commit c903806f20

View File

@ -1359,7 +1359,18 @@ i = 0;
string tnk = m.Value;
ProcessPaglistToken(section, svgGroup, pageItem, ref useFontForCheckOffHeader, ref parms, tnk);
}
string[] parts = parms.Split(",".ToCharArray());
string[] parts = parms.Split(",".ToCharArray());// split on comma
// B2019-031 Support commas embedded in Alarm ID (Procedure Number)
if (parts.Length > 3)// If extra commas combine first part to account for it
{
int n = parts.Length - 3;
string part0 = parts[0];
for (int i = 0; i < n; i++) // append parts based upon the number of parts (commas)
part0 += "," + parts[i+1];
parts[0] = part0;
parts[1] = parts[n + 1];// Get the last 2 parts
parts[2] = parts[n + 2];
}
// parts[0] - the RO to look up - for Alarms, is usually the EOP number thus uses the "{EOPNUM}" token
// parts[1] - Which of the multiple return value from the RO to return
// parts[2] - the value to use if not found in ROs - usually defined in a PSI field for that Alarm procedure