diff --git a/PROMS/VEPROMS User Interface/dlgExportImport.cs b/PROMS/VEPROMS User Interface/dlgExportImport.cs index ddf946f6..139a5b5a 100644 --- a/PROMS/VEPROMS User Interface/dlgExportImport.cs +++ b/PROMS/VEPROMS User Interface/dlgExportImport.cs @@ -4116,6 +4116,11 @@ namespace VEPROMS ROFSTLookup lookup = MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyDocVersion); + // B2023-104 use this to replace RO Link information in the imported text + // FormatRoidKey() was creating the roid with the new formatting introduce with B2022-088 & B2022-098 + // We need to save the ROID from the imported text in order to update it with the new RO link information + string contentROID = roid; + // B2022-088: [JPR] Find Doc Ro button not working in Word Sections // B2022-098: [JPR] ROs not being resolved in Word Sections roid = ROFSTLookup.FormatRoidKey(roid, true); @@ -4135,7 +4140,8 @@ namespace VEPROMS rou.Save(); RoUsageInfo roui = RoUsageInfo.Get(rou.ROUsageID); - string lookFor = string.Format("#Link:ReferencedObject:{0} {1} {2}[END>", rousageid, roid, oldRODbID.ToString()); + //B2023-104 use the ROID from the imported text (contentROID) to create the lookFor string + string lookFor = string.Format("#Link:ReferencedObject:{0} {1} {2}[END>", rousageid, contentROID, oldRODbID.ToString()); string replaceWith = string.Format("#Link:ReferencedObject:{0} {1} {2}[END>", rou.ROUsageID.ToString(), roid, newRODbID.ToString()); _DidProcessROs = content.Text.Contains(lookFor); // B2017-076 RO link in the text so we will be processing it diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.cs b/PROMS/Volian.Controls.Library/StepTabRibbon.cs index d67dd9e1..fc242db9 100644 --- a/PROMS/Volian.Controls.Library/StepTabRibbon.cs +++ b/PROMS/Volian.Controls.Library/StepTabRibbon.cs @@ -3112,8 +3112,17 @@ namespace Volian.Controls.Library else { LinkText lt = new LinkText(_MyStepRTB.MyLinkText); - myROID = lt.MyRoUsageInfo.ROID.ToLower(); - myRODB = lt.MyRoUsageInfo.MyRODb; + //B2023-104 If we could not get the MyRoUsageInfo then we have a bad RO Link. Tell user to re-link the RO + if (lt.MyRoUsageInfo != null) + { + myROID = lt.MyRoUsageInfo.ROID.ToLower(); + myRODB = lt.MyRoUsageInfo.MyRODb; + } + else + { + FlexibleMessageBox.Show("Invalid RO link information.\n\n Please re-link this RO value.", "Invalid RO Reference", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } } if (myROID == null) return; if (myROID.StartsWith("ffff"))