diff --git a/PROMS/Formats/fmtall/BNPPalrall.xml b/PROMS/Formats/fmtall/BNPPalrall.xml index 23419902..6c6e801d 100644 Binary files a/PROMS/Formats/fmtall/BNPPalrall.xml and b/PROMS/Formats/fmtall/BNPPalrall.xml differ diff --git a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs index a5d450b2..b4f65f88 100644 --- a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs +++ b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs @@ -698,6 +698,7 @@ namespace VEPROMS int i = 0; pbPDFsStatus.Maximum = n; pbPDFsStatus.Visible = true; + VlnSvgPageHelper.CountInApplProcs = 1; // B2021-127: BNPPalr - Auto set of serial #, skip Front Matter as per PAL 11/1/21 (set to 1 not 0) this.Text = string.Format("Processing {0}", _DocVersionInfo.MyFolder.Name); foreach (ProcedureInfo myProc in _DocVersionInfo.Procedures) { @@ -717,6 +718,7 @@ namespace VEPROMS if (SelectedSlave > 0) { bool includeProc = MyProcedure.ApplInclude(SelectedSlave); // C2021-027: Procedure level PC/PC + if (!includeProc) VlnSvgPageHelper.CountInApplProcs++; // B2021-127: BNPPalr - Auto set of serial # if (includeProc) { MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = SelectedSlave; @@ -910,6 +912,19 @@ namespace VEPROMS if (MessageBox.Show(this, message + Environment.NewLine + Environment.NewLine + "Do you want to continue to print the procedure?", "Procedure Is Checked Out", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; } + // B2021-127: BNPPalr - Auto set of serial #, skip Front Matter as per PAL 11/1/21 (set to 1 not 0) + // Only do if set has applicability, printing an individual procedure, need to determine + // applicability count. + if (MyProcedure.MyDocVersion.MultiUnitCount > 1) + { + VlnSvgPageHelper.CountInApplProcs = 1; + foreach (ProcedureInfo pi in MyProcedure.MyDocVersion.Procedures) + { + if (pi.ItemID == MyProcedure.ItemID) break; + bool includeProc = pi.ApplInclude(SelectedSlave); + if (!includeProc) VlnSvgPageHelper.CountInApplProcs++; + } + } CreateDebugFiles(); // If file exists, determine if overwrite checkbox allows overwrite, if not prompt. diff --git a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs index 6a0eb097..ca11a466 100644 --- a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs +++ b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs @@ -234,6 +234,12 @@ namespace Volian.Print.Library get { return _PrintedSectionPage; } set { _PrintedSectionPage = value; } } + private static int _CountInApplProcs; // B2021-127: BNPPalr - Auto set of serial # + public static int CountInApplProcs + { + get { return _CountInApplProcs; } + set { _CountInApplProcs = value; } + } //private bool _AddBlankPagesForDuplexPrinting = false; //public bool AddBlankPagesForDuplexPrinting // Tells us if a the option to add a blank page is turn on (for procedures with duplex foldouts) //{ @@ -2167,6 +2173,10 @@ i = 0; string un = MySection.MyDocVersion.DocVersionConfig.Print_UnitNumberForPageList; plstr = plstr.Replace(token, un); break; + case "{MCRSERNUM}": // B2021-127: BNPPalr - Auto set of serial # + int sernum = section.MyProcedure.Ordinal - VlnSvgPageHelper.CountInApplProcs; + plstr = plstr.Replace(token, sernum.ToString()); + break; default: if (token.Contains(@"SI-")) // procedure set specific information. (at folder or working draft levels) {