diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs index b0a1d2cc..df9839b1 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs @@ -605,8 +605,19 @@ namespace VEPROMS.CSLA.Library //itm.Save(); //} } - if (Regex.IsMatch(retval, @".*\[B[0-9]{4,4}\].*") && tb._ToItem.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert ) - retval = Regex.Replace(retval, @" *(\[[BP][0-9]{4,4}\])+",""); + //if (Regex.IsMatch(retval, @".*\[[BP][0-9]{4,4}\].*") + // && tb._ToItem.ActiveFormat != null + // && tb._ToItem.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert ) + // retval = Regex.Replace(retval, @" *(\[[BP][0-9]{4,4}\])+",""); + //return retval; + if (Regex.IsMatch(retval, @".* *\[([A-Z0-9 ]|\\u160\?)+\] *.*") + && tb._ToItem.ActiveFormat != null + && tb._ToItem.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert) + retval = Regex.Replace(retval, @" *(\[([A-Z0-9 ]|\\u160\?)+\])+ *", ""); + if (Regex.IsMatch(retval, @".* *\(([A-Z ]|\\u160\?)+\) *.*") + && tb._ToItem.ActiveFormat != null + && tb._ToItem.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert) + retval = Regex.Replace(retval, @" *(\(([A-Z ]|\\u160\?)+\))+ *", ""); return retval; } private static TransitionBuilder SetupTransitionBuilder(FormatInfo formatInfo, ItemInfo fromInfo, int tranType, ItemInfo toItem, ItemInfo rangeItem) @@ -1234,6 +1245,8 @@ namespace VEPROMS.CSLA.Library } if (si.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && thisPart == lastPart && IsRoman(lastPart)) lastPart = ""; + if (si.ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && thisPart.StartsWith(lastPart+".")) + lastPart = ""; sb.Append(sep + lastPart.TrimEnd(" .".ToCharArray())); if (sb.Length > 0) sep = "."; lastPart = thisPart;