Compare commits
18 Commits
C2024-038_
...
F2025-004_
Author | SHA1 | Date | |
---|---|---|---|
c2c90a2c2e | |||
05ab077dda | |||
1ae422c74e | |||
5da62c3a5d | |||
86a98118fb | |||
6a51208a13 | |||
0749f5e724 | |||
f65644f553 | |||
dc74da6e86 | |||
301c4c2c97 | |||
8ec820a7f7 | |||
18734e0f85 | |||
9980504c47 | |||
626960da9f | |||
535728b982 | |||
ace9672a2e | |||
05a13861ac | |||
24374b85c1 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
49
PROMS/Formats/frmFormatCopy.Designer.cs
generated
49
PROMS/Formats/frmFormatCopy.Designer.cs
generated
@@ -33,6 +33,8 @@ namespace Formats
|
||||
this.btnCopyFormats = new DevComponents.DotNetBar.ButtonX();
|
||||
this.btnBrowse = new DevComponents.DotNetBar.ButtonX();
|
||||
this.buttonX2 = new DevComponents.DotNetBar.ButtonX();
|
||||
this.labelX2 = new DevComponents.DotNetBar.LabelX();
|
||||
this.LstBxExcludeFiles = new DevComponents.DotNetBar.ListBoxAdv();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// txbxPROMSFormatsPath
|
||||
@@ -64,7 +66,7 @@ namespace Formats
|
||||
//
|
||||
this.btnCopyFormats.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnCopyFormats.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnCopyFormats.Location = new System.Drawing.Point(152, 68);
|
||||
this.btnCopyFormats.Location = new System.Drawing.Point(232, 156);
|
||||
this.btnCopyFormats.Name = "btnCopyFormats";
|
||||
this.btnCopyFormats.Size = new System.Drawing.Size(84, 27);
|
||||
this.btnCopyFormats.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
@@ -88,7 +90,7 @@ namespace Formats
|
||||
//
|
||||
this.buttonX2.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.buttonX2.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.buttonX2.Location = new System.Drawing.Point(329, 68);
|
||||
this.buttonX2.Location = new System.Drawing.Point(409, 156);
|
||||
this.buttonX2.Name = "buttonX2";
|
||||
this.buttonX2.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonX2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
@@ -96,17 +98,52 @@ namespace Formats
|
||||
this.buttonX2.Text = "Exit";
|
||||
this.buttonX2.Click += new System.EventHandler(this.buttonX2_Click);
|
||||
//
|
||||
// Form1
|
||||
// labelX2
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
this.labelX2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.labelX2.Location = new System.Drawing.Point(12, 41);
|
||||
this.labelX2.Name = "labelX2";
|
||||
this.labelX2.Size = new System.Drawing.Size(200, 23);
|
||||
this.labelX2.TabIndex = 5;
|
||||
this.labelX2.Text = "Excluding Format Files that Start with:";
|
||||
//
|
||||
// LstBxExcludeFiles
|
||||
//
|
||||
this.LstBxExcludeFiles.AutoScroll = true;
|
||||
//
|
||||
//
|
||||
//
|
||||
this.LstBxExcludeFiles.BackgroundStyle.Class = "ListBoxAdv";
|
||||
this.LstBxExcludeFiles.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.LstBxExcludeFiles.CausesValidation = false;
|
||||
this.LstBxExcludeFiles.CheckStateMember = null;
|
||||
this.LstBxExcludeFiles.ContainerControlProcessDialogKey = true;
|
||||
this.LstBxExcludeFiles.DragDropSupport = true;
|
||||
this.LstBxExcludeFiles.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.LstBxExcludeFiles.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F";
|
||||
this.LstBxExcludeFiles.Location = new System.Drawing.Point(57, 70);
|
||||
this.LstBxExcludeFiles.Name = "LstBxExcludeFiles";
|
||||
this.LstBxExcludeFiles.ShowToolTips = false;
|
||||
this.LstBxExcludeFiles.Size = new System.Drawing.Size(134, 76);
|
||||
this.LstBxExcludeFiles.TabIndex = 6;
|
||||
this.LstBxExcludeFiles.Text = "listBoxAdv1";
|
||||
//
|
||||
// frmFormatCopy
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(496, 107);
|
||||
this.ClientSize = new System.Drawing.Size(496, 191);
|
||||
this.Controls.Add(this.LstBxExcludeFiles);
|
||||
this.Controls.Add(this.labelX2);
|
||||
this.Controls.Add(this.buttonX2);
|
||||
this.Controls.Add(this.btnBrowse);
|
||||
this.Controls.Add(this.btnCopyFormats);
|
||||
this.Controls.Add(this.labelX1);
|
||||
this.Controls.Add(this.txbxPROMSFormatsPath);
|
||||
this.Name = "Form1";
|
||||
this.Name = "frmFormatCopy";
|
||||
this.Text = "Form1";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
@@ -119,6 +156,8 @@ namespace Formats
|
||||
private DevComponents.DotNetBar.ButtonX btnCopyFormats;
|
||||
private DevComponents.DotNetBar.ButtonX btnBrowse;
|
||||
private DevComponents.DotNetBar.ButtonX buttonX2;
|
||||
private DevComponents.DotNetBar.LabelX labelX2;
|
||||
private DevComponents.DotNetBar.ListBoxAdv LstBxExcludeFiles;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -14,7 +14,11 @@ namespace Formats
|
||||
public frmFormatCopy()
|
||||
{
|
||||
InitializeComponent();
|
||||
SetDefaults();
|
||||
foreach (string excludeThis in excludeThese)
|
||||
{
|
||||
LstBxExcludeFiles.Items.Add(excludeThis);
|
||||
}
|
||||
SetDefaults();
|
||||
}
|
||||
|
||||
private void SetDefaults()
|
||||
@@ -92,10 +96,11 @@ namespace Formats
|
||||
if (!txbxPROMSFormatsPath.Text.EndsWith(@"\")) txbxPROMSFormatsPath.Text += @"\";
|
||||
}
|
||||
|
||||
public string[] excludeThese = { "WPS", "WPB", "VCBEPP" };
|
||||
|
||||
private bool ExcludeFromCopy(string fn)
|
||||
{
|
||||
// don't copy formats whos file name starts with..
|
||||
string[] excludeThese = { "WPS", "WEP", "WPB", "VCBEPP" };
|
||||
foreach (string excludeThis in excludeThese)
|
||||
if (fn.ToUpper().StartsWith(excludeThis)) return true;
|
||||
return false;
|
||||
|
@@ -112,9 +112,9 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
@@ -1584,7 +1584,7 @@ namespace ROEditor
|
||||
if (i + 1 < InUseList.Count) inuserecs = inuserecs + " ";
|
||||
}
|
||||
}
|
||||
if (inuserecs != origFieldsInUse)
|
||||
if ((inuserecs ?? "") != (origFieldsInUse ?? ""))
|
||||
return true;
|
||||
|
||||
|
||||
@@ -1599,7 +1599,7 @@ namespace ROEditor
|
||||
if (i + 1 < InUseApplcList.Count) applicfieldrecs = applicfieldrecs + " ";
|
||||
}
|
||||
}
|
||||
if (applicfieldrecs != origApplicFields)
|
||||
if ((applicfieldrecs ?? "") != (origApplicFields ?? ""))
|
||||
return true;
|
||||
|
||||
//nothing has changed
|
||||
|
@@ -264,9 +264,11 @@ namespace ROEditor
|
||||
File.Delete(FstNew); // remove ROFST.NEW
|
||||
if (OrphanedRecords.Length > 0)
|
||||
{
|
||||
StreamWriter sw = new StreamWriter(VlnSettings.TemporaryFolder + @"\Orphaned RO Records.txt");
|
||||
sw.Write(OrphanedRecords.ToString());
|
||||
sw.Close();
|
||||
using (StreamWriter sw = new StreamWriter(Path.Combine(FstDir, @"Orphaned RO Records.txt"), false))
|
||||
{
|
||||
sw.Write(OrphanedRecords.ToString());
|
||||
sw.Close();
|
||||
}
|
||||
MessageBox.Show("The file Orphaned RO Records.txt has been created", "Warning - Orphan RO Record");
|
||||
}
|
||||
|
||||
|
@@ -834,7 +834,7 @@ namespace RODBInterface
|
||||
ValueType |= FldType;
|
||||
if (PCApplicability)
|
||||
text = GetPCReturnValues(theDb, pcChildern, elm, PCApplicability, inusename, text); // C2021-026 Get P/C Children return values
|
||||
strbld.Append(text);
|
||||
strbld.Append(text.Replace("{", "&123;").Replace("}", "&125;"));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -19791,9 +19791,11 @@ GO
|
||||
*****************************************************************************/
|
||||
/*
|
||||
==========================================================================================================
|
||||
Author: Jake Ropar
|
||||
Create Date: 06/23/2022
|
||||
Description: Inserts New Rofst Child Record / Default Values
|
||||
Modified: 02/19/2025
|
||||
Modification
|
||||
Description: Added support for ROs with brackets in Unit Values
|
||||
==========================================================================================================
|
||||
*/
|
||||
Create Procedure [dbo].[vesp_RofstChildInsert]
|
||||
@@ -19806,19 +19808,26 @@ GO
|
||||
@title VarChar(Max),
|
||||
@roid VarChar(50),
|
||||
@appid VarChar(Max) = null,
|
||||
@value VarChar(Max) = null
|
||||
@value VarChar(Max) = null,
|
||||
@missingDefaultValue VarChar(Max) = null
|
||||
)
|
||||
With Execute as Owner
|
||||
As
|
||||
Begin
|
||||
|
||||
Declare @AccPageID VarChar(Max) = null;
|
||||
Declare @BaseAccPageID VarChar(Max) = null;
|
||||
Declare @DefaultValues VarChar(Max);
|
||||
|
||||
Declare @RoidExt VarChar(Max);
|
||||
Declare @AccPageExt VarChar(Max);
|
||||
|
||||
-- Create Rofst Child/Group Record
|
||||
-- Default missing value if Null (Null values not allowed for the [value] field in the RofstDefaultValue table
|
||||
if (DataLength(IsNull(@missingDefaultValue, '')) <= 0)
|
||||
Set @missingDefaultValue = '[TBD]';
|
||||
|
||||
-- Create Rofst Child/Group Record --> [Roid = (12) Digits]
|
||||
Insert Into RofstChild (RofstID, ID, ParentID, dbiID, [type], title, roid, appid, [value])
|
||||
Values (@RofstID, @ID, @ParentID, @dbiID, @type, @title, @roid, @appid, @value);
|
||||
Values (@RofstID, @ID, @ParentID, @dbiID, @type, @title, @roid, @appid, REPLACE(REPLACE(@value, '&123;', '{'), '&125;', '}'));
|
||||
|
||||
|
||||
-- Check for appid, if exists, then insert the default value for each return type if multi-value
|
||||
@@ -19826,37 +19835,58 @@ GO
|
||||
Begin
|
||||
|
||||
-- Get Accessory Page ID
|
||||
Select @AccPageID = Concat(d.dbiAP, '-', @appid)
|
||||
Select @BaseAccPageID = dbo.vefn_RofstDataCleanUnitInfoTags(Concat(d.dbiAP, '-', @appid), 1)
|
||||
From RofstDatabase d with (NoLock)
|
||||
Where d.RofstID = @RofstID And d.dbiID = @dbiID;
|
||||
|
||||
-- Insert Rofst Default Value (Parent RoChild) [roid = 12]
|
||||
Insert Into RofstDefaultValue (RofstID, roid, [value], AccPageID)
|
||||
Values (@RofstID, @roid, Replace(@title, '\u160?', ' '), @AccPageID);
|
||||
Select @DefaultValues = dbo.vefn_RofstDataReplaceVars(@value);
|
||||
|
||||
-- Insert Rofst Default Value(s) (Children RoChild) [roid = 16] (Do Not Insert Duplicates)
|
||||
Select @DefaultValues = Replace(dbo.vefn_RofstDataReplaceVars(@value), '{', '');
|
||||
If (PatIndex('%=%', @DefaultValues) > 0)
|
||||
Begin
|
||||
|
||||
-- Insert Rofst Default Values (Multi-Values) --> [Roid = (16) Digits]
|
||||
Select @DefaultValues = Replace(@DefaultValues, '{', '');
|
||||
|
||||
With ChildrenValues as
|
||||
(
|
||||
Select (x.ListPosition + 40) as 'OffsetIndex',
|
||||
Case When (PatIndex('%=%', x.ListValue) > 0) Then Right(x.ListValue, Len(x.ListValue)-PatIndex('%=%', x.ListValue)) Else x.ListValue End as 'DefaultValue'
|
||||
From [dbo].[vefn_ParseStringListToTable](@DefaultValues, '}') x
|
||||
Where Len(x.ListValue) > 0
|
||||
)
|
||||
Insert Into RofstDefaultValue (RofstID, roid, [value], AccPageID)
|
||||
Select @RofstID as 'RofstID',
|
||||
Concat(@roid, Cast(Format(Min(OffsetIndex), 'D4') as VarChar(4))) as 'roid',
|
||||
DefaultValue as 'value',
|
||||
null as 'AccPageID'
|
||||
From ChildrenValues
|
||||
Group By DefaultValue
|
||||
Order By Min(OffsetIndex) Asc
|
||||
With ChildrenValues as
|
||||
(
|
||||
Select x.ListPosition as 'OffsetIndex',
|
||||
Case When (PatIndex('%=%', x.ListValue) > 0) Then Right(x.ListValue, Len(x.ListValue)-PatIndex('%=%', x.ListValue)) Else x.ListValue End as 'DefaultValue'
|
||||
From [dbo].[vefn_ParseStringListToTable](@DefaultValues, '}') x
|
||||
Where Len(x.ListValue) > 0
|
||||
)
|
||||
Insert Into RofstDefaultValue (RofstID, roid, [value], AccPageID)
|
||||
Select @RofstID as 'RofstID',
|
||||
Concat(@roid, re.RoidExt) as 'roid',
|
||||
Case When (DataLength(cv.DefaultValue) > 0) Then
|
||||
REPLACE(REPLACE(REPLACE(dbo.vefn_RofstDataCleanUnitInfoTags(cv.DefaultValue, 0), '&123;', '{'), '&125;}', '}'), '&125;', '}')
|
||||
Else @missingDefaultValue End as 'value',
|
||||
Concat(@BaseAccPageID, '.', re.AccPageExt) as 'AccPageID'
|
||||
From ChildrenValues cv
|
||||
inner join vwRofstData_RofstExtensions re on re.Offset = cv.OffsetIndex
|
||||
Order By cv.OffsetIndex Asc
|
||||
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
|
||||
-- Insert Rofst Default Value (Single Value) --> [Roid = (16) Digits]
|
||||
Insert Into RofstDefaultValue (RofstID, roid, [value], AccPageID)
|
||||
Select @RofstID as 'RofstID',
|
||||
Concat(@roid, re.RoidExt) as 'roid',
|
||||
Case When (DataLength(@DefaultValues) > 0) Then
|
||||
REPLACE(REPLACE(REPLACE(dbo.vefn_RofstDataCleanUnitInfoTags(@DefaultValues, 0), '&123;', '{'), '&125;}', '}'), '&125;', '}')
|
||||
Else @missingDefaultValue End as 'value',
|
||||
Concat(@BaseAccPageID, '.', re.AccPageExt) as 'AccPageID'
|
||||
From vwRofstData_RofstExtensions re
|
||||
Where re.Offset = 1;
|
||||
|
||||
End
|
||||
|
||||
End -- (Len(@appid) > 0)
|
||||
|
||||
|
||||
Return;
|
||||
|
||||
End
|
||||
Go
|
||||
|
||||
@@ -20448,98 +20478,6 @@ GO
|
||||
ELSE PRINT 'Procedure Creation: [vesp_RofstDataGetExtensions] Error on Creation'
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[vesp_RofstChildInsert] ***********************/
|
||||
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstChildInsert' AND type in (N'P'))
|
||||
DROP PROCEDURE [dbo].[vesp_RofstChildInsert]
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
/*
|
||||
==========================================================================================================
|
||||
Author: Jake Ropar
|
||||
Create Date: 03/24/2022
|
||||
Description:
|
||||
==========================================================================================================
|
||||
*/
|
||||
Create Procedure [dbo].[vesp_RofstChildInsert]
|
||||
(
|
||||
@RofstID Int,
|
||||
@ID Int,
|
||||
@ParentID Int,
|
||||
@dbiID Int,
|
||||
@type Int,
|
||||
@title VarChar(Max),
|
||||
@roid VarChar(50),
|
||||
@appid VarChar(Max) = null,
|
||||
@value VarChar(Max) = null
|
||||
)
|
||||
With Execute as Owner
|
||||
As
|
||||
Begin
|
||||
|
||||
Declare @BaseAccPageID VarChar(Max) = null;
|
||||
Declare @DefaultValues VarChar(Max);
|
||||
|
||||
|
||||
-- Create Rofst Child/Group Record --> [Roid = (12) Digits]
|
||||
Insert Into RofstChild (RofstID, ID, ParentID, dbiID, [type], title, roid, appid, [value])
|
||||
Values (@RofstID, @ID, @ParentID, @dbiID, @type, @title, @roid, @appid, @value);
|
||||
|
||||
|
||||
-- Check for appid, if exists, then insert the default value for each return type if multi-value
|
||||
If (Len(@appid) > 0)
|
||||
Begin
|
||||
|
||||
-- Get Accessory Page ID
|
||||
Select @BaseAccPageID = dbo.vefn_RofstDataCleanUnitInfoTags(Concat(d.dbiAP, '-', @appid), 1)
|
||||
From RofstDatabase d with (NoLock)
|
||||
Where d.RofstID = @RofstID And d.dbiID = @dbiID;
|
||||
|
||||
-- Insert Rofst Default Value(s) (Children RoChild) --> [Roid = (16) Digits]
|
||||
Select @DefaultValues = Replace(dbo.vefn_RofstDataReplaceVars(@value), '{', '');
|
||||
|
||||
With ChildrenValues as
|
||||
(
|
||||
Select x.ListPosition as 'OffsetIndex',
|
||||
Case When (PatIndex('%=%', x.ListValue) > 0) Then Right(x.ListValue, Len(x.ListValue)-PatIndex('%=%', x.ListValue)) Else x.ListValue End as 'DefaultValue'
|
||||
From [dbo].[vefn_ParseStringListToTable](@DefaultValues, '}') x
|
||||
Where Len(x.ListValue) > 0
|
||||
)
|
||||
Insert Into RofstDefaultValue (RofstID, roid, [value], AccPageID)
|
||||
Select @RofstID as 'RofstID',
|
||||
Concat(@roid, re.RoidExt) as 'roid',
|
||||
Case When (Len(RTrim(LTrim(cv.DefaultValue))) > 0 ) Then dbo.vefn_RofstDataCleanUnitInfoTags(cv.DefaultValue, 0) Else '[TBD]' End as 'value',
|
||||
Concat(@BaseAccPageID, '.', re.AccPageExt) as 'AccPageID'
|
||||
From ChildrenValues cv
|
||||
inner join vwRofstData_RofstExtensions re on re.Offset = cv.OffsetIndex
|
||||
Order By cv.OffsetIndex Asc
|
||||
|
||||
|
||||
End -- (Len(@appid) > 0)
|
||||
|
||||
|
||||
Return;
|
||||
|
||||
End
|
||||
Go
|
||||
|
||||
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstChildInsert] Succeeded'
|
||||
ELSE PRINT 'Procedure Creation: [vesp_RofstChildInsert] Error on Creation'
|
||||
GO
|
||||
|
||||
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[vesp_RofstDataSearch] ***********************/
|
||||
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstDataSearch' AND type in (N'P'))
|
||||
DROP PROCEDURE [dbo].[vesp_RofstDataSearch]
|
||||
@@ -21239,121 +21177,6 @@ GO
|
||||
==========================================================================================================
|
||||
*/
|
||||
|
||||
|
||||
IF EXISTS (Select * From dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[vesp_RofstChildInsert]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP Procedure [dbo].[vesp_RofstChildInsert];
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
/*
|
||||
==========================================================================================================
|
||||
Author: Jake Ropar
|
||||
Create Date: 03/24/2022
|
||||
Description: Inserts the RO Child object and associated return values
|
||||
==========================================================================================================
|
||||
*/
|
||||
Create Procedure [dbo].[vesp_RofstChildInsert]
|
||||
(
|
||||
@RofstID Int,
|
||||
@ID Int,
|
||||
@ParentID Int,
|
||||
@dbiID Int,
|
||||
@type Int,
|
||||
@title VarChar(Max),
|
||||
@roid VarChar(50),
|
||||
@appid VarChar(Max) = null,
|
||||
@value VarChar(Max) = null
|
||||
)
|
||||
With Execute as Owner
|
||||
As
|
||||
Begin
|
||||
|
||||
Declare @BaseAccPageID VarChar(Max) = null;
|
||||
Declare @DefaultValues VarChar(Max);
|
||||
|
||||
Declare @RoidExt VarChar(Max);
|
||||
Declare @AccPageExt VarChar(Max);
|
||||
|
||||
|
||||
-- Create Rofst Child/Group Record --> [Roid = (12) Digits]
|
||||
Insert Into RofstChild (RofstID, ID, ParentID, dbiID, [type], title, roid, appid, [value])
|
||||
Values (@RofstID, @ID, @ParentID, @dbiID, @type, @title, @roid, @appid, @value);
|
||||
|
||||
|
||||
-- Check for appid, if exists, then insert the default value for each return type if multi-value
|
||||
If (Len(@appid) > 0)
|
||||
Begin
|
||||
|
||||
-- Get Accessory Page ID
|
||||
Select @BaseAccPageID = dbo.vefn_RofstDataCleanUnitInfoTags(Concat(d.dbiAP, '-', @appid), 1)
|
||||
From RofstDatabase d with (NoLock)
|
||||
Where d.RofstID = @RofstID And d.dbiID = @dbiID;
|
||||
|
||||
Select @DefaultValues = dbo.vefn_RofstDataReplaceVars(@value);
|
||||
|
||||
If (PatIndex('%=%', @DefaultValues) > 0)
|
||||
Begin
|
||||
|
||||
-- Insert Rofst Default Values (Multi-Values) --> [Roid = (16) Digits]
|
||||
Select @DefaultValues = Replace(@DefaultValues, '{', '');
|
||||
|
||||
With ChildrenValues as
|
||||
(
|
||||
Select x.ListPosition as 'OffsetIndex',
|
||||
Case When (PatIndex('%=%', x.ListValue) > 0) Then Right(x.ListValue, Len(x.ListValue)-PatIndex('%=%', x.ListValue)) Else x.ListValue End as 'DefaultValue'
|
||||
From [dbo].[vefn_ParseStringListToTable](@DefaultValues, '}') x
|
||||
Where Len(x.ListValue) > 0
|
||||
)
|
||||
Insert Into RofstDefaultValue (RofstID, roid, [value], AccPageID)
|
||||
Select @RofstID as 'RofstID',
|
||||
Concat(@roid, re.RoidExt) as 'roid',
|
||||
Case When (Len(RTrim(LTrim(cv.DefaultValue))) > 0 ) Then dbo.vefn_RofstDataCleanUnitInfoTags(cv.DefaultValue, 0) Else '[TBD]' End as 'value',
|
||||
Concat(@BaseAccPageID, '.', re.AccPageExt) as 'AccPageID'
|
||||
From ChildrenValues cv
|
||||
inner join vwRofstData_RofstExtensions re on re.Offset = cv.OffsetIndex
|
||||
Order By cv.OffsetIndex Asc
|
||||
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
|
||||
-- Insert Rofst Default Value (Single Value) --> [Roid = (16) Digits]
|
||||
Insert Into RofstDefaultValue (RofstID, roid, [value], AccPageID)
|
||||
Select @RofstID as 'RofstID',
|
||||
Concat(@roid, re.RoidExt) as 'roid',
|
||||
Case When (Len(RTrim(LTrim(@DefaultValues))) > 0 ) Then dbo.vefn_RofstDataCleanUnitInfoTags(@DefaultValues, 0) Else '[TBD]' End as 'value',
|
||||
Concat(@BaseAccPageID, '.', re.AccPageExt) as 'AccPageID'
|
||||
From vwRofstData_RofstExtensions re
|
||||
Where re.Offset = 1;
|
||||
|
||||
End
|
||||
|
||||
End -- (Len(@appid) > 0)
|
||||
|
||||
|
||||
Return;
|
||||
|
||||
End
|
||||
Go
|
||||
|
||||
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstChildInsert] Succeeded'
|
||||
ELSE PRINT 'Procedure Creation: [vesp_RofstChildInsert] Error on Creation'
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
If Exists(SELECT * FROM sys.objects Where name = 'vefn_RofstDataReplaceVars' AND type in (N'FN'))
|
||||
DROP FUNCTION [dbo].[vefn_RofstDataReplaceVars]
|
||||
GO
|
||||
@@ -21632,124 +21455,6 @@ GO
|
||||
ELSE PRINT 'Function Creation: [vefn_RofstDataCleanUnitInfoTags] Error on Creation'
|
||||
GO
|
||||
|
||||
|
||||
|
||||
If Exists(SELECT * FROM sys.objects Where name = 'vesp_RofstChildInsert' AND type in (N'P'))
|
||||
DROP PROCEDURE [dbo].[vesp_RofstChildInsert]
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
/*****************************************************************************
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
Copyright 2020 - Volian Enterprises, Inc. All rights reserved.
|
||||
*****************************************************************************/
|
||||
/*
|
||||
==========================================================================================================
|
||||
Author: Jake Ropar
|
||||
Create Date: 03/24/2022
|
||||
Description: Inserts the RO Child object and associated return values
|
||||
==========================================================================================================
|
||||
*/
|
||||
Create Procedure [dbo].[vesp_RofstChildInsert]
|
||||
(
|
||||
@RofstID Int,
|
||||
@ID Int,
|
||||
@ParentID Int,
|
||||
@dbiID Int,
|
||||
@type Int,
|
||||
@title VarChar(Max),
|
||||
@roid VarChar(50),
|
||||
@appid VarChar(Max) = null,
|
||||
@value VarChar(Max) = null,
|
||||
@missingDefaultValue VarChar(Max) = null
|
||||
)
|
||||
With Execute as Owner
|
||||
As
|
||||
Begin
|
||||
|
||||
Declare @BaseAccPageID VarChar(Max) = null;
|
||||
Declare @DefaultValues VarChar(Max);
|
||||
|
||||
Declare @RoidExt VarChar(Max);
|
||||
Declare @AccPageExt VarChar(Max);
|
||||
|
||||
-- Default missing value if Null (Null values not allowed for the [value] field in the RofstDefaultValue table
|
||||
if (DataLength(IsNull(@missingDefaultValue, '')) <= 0)
|
||||
Set @missingDefaultValue = '[TBD]';
|
||||
|
||||
-- Create Rofst Child/Group Record --> [Roid = (12) Digits]
|
||||
Insert Into RofstChild (RofstID, ID, ParentID, dbiID, [type], title, roid, appid, [value])
|
||||
Values (@RofstID, @ID, @ParentID, @dbiID, @type, @title, @roid, @appid, @value);
|
||||
|
||||
|
||||
-- Check for appid, if exists, then insert the default value for each return type if multi-value
|
||||
If (Len(@appid) > 0)
|
||||
Begin
|
||||
|
||||
-- Get Accessory Page ID
|
||||
Select @BaseAccPageID = dbo.vefn_RofstDataCleanUnitInfoTags(Concat(d.dbiAP, '-', @appid), 1)
|
||||
From RofstDatabase d with (NoLock)
|
||||
Where d.RofstID = @RofstID And d.dbiID = @dbiID;
|
||||
|
||||
Select @DefaultValues = dbo.vefn_RofstDataReplaceVars(@value);
|
||||
|
||||
If (PatIndex('%=%', @DefaultValues) > 0)
|
||||
Begin
|
||||
|
||||
-- Insert Rofst Default Values (Multi-Values) --> [Roid = (16) Digits]
|
||||
Select @DefaultValues = Replace(@DefaultValues, '{', '');
|
||||
|
||||
With ChildrenValues as
|
||||
(
|
||||
Select x.ListPosition as 'OffsetIndex',
|
||||
Case When (PatIndex('%=%', x.ListValue) > 0) Then Right(x.ListValue, Len(x.ListValue)-PatIndex('%=%', x.ListValue)) Else x.ListValue End as 'DefaultValue'
|
||||
From [dbo].[vefn_ParseStringListToTable](@DefaultValues, '}') x
|
||||
Where Len(x.ListValue) > 0
|
||||
)
|
||||
Insert Into RofstDefaultValue (RofstID, roid, [value], AccPageID)
|
||||
Select @RofstID as 'RofstID',
|
||||
Concat(@roid, re.RoidExt) as 'roid',
|
||||
Case When (DataLength(cv.DefaultValue) > 0) Then dbo.vefn_RofstDataCleanUnitInfoTags(cv.DefaultValue, 0) Else @missingDefaultValue End as 'value',
|
||||
Concat(@BaseAccPageID, '.', re.AccPageExt) as 'AccPageID'
|
||||
From ChildrenValues cv
|
||||
inner join vwRofstData_RofstExtensions re on re.Offset = cv.OffsetIndex
|
||||
Order By cv.OffsetIndex Asc
|
||||
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
|
||||
-- Insert Rofst Default Value (Single Value) --> [Roid = (16) Digits]
|
||||
Insert Into RofstDefaultValue (RofstID, roid, [value], AccPageID)
|
||||
Select @RofstID as 'RofstID',
|
||||
Concat(@roid, re.RoidExt) as 'roid',
|
||||
Case When (DataLength(@DefaultValues) > 0) Then dbo.vefn_RofstDataCleanUnitInfoTags(@DefaultValues, 0) Else @missingDefaultValue End as 'value',
|
||||
Concat(@BaseAccPageID, '.', re.AccPageExt) as 'AccPageID'
|
||||
From vwRofstData_RofstExtensions re
|
||||
Where re.Offset = 1;
|
||||
|
||||
End
|
||||
|
||||
End -- (Len(@appid) > 0)
|
||||
|
||||
|
||||
Return;
|
||||
|
||||
End
|
||||
Go
|
||||
|
||||
|
||||
|
||||
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstChildInsert] Succeeded'
|
||||
ELSE PRINT 'Procedure Creation: [vesp_RofstChildInsert] Error on Creation'
|
||||
GO
|
||||
|
||||
|
||||
|
||||
/*
|
||||
==========================================================================================================
|
||||
End: B2022-124: [JPR] Blank RO Values (All Spaces) printing as ?
|
||||
@@ -24132,8 +23837,8 @@ BEGIN TRY -- Try Block
|
||||
DECLARE @RevDate varchar(255)
|
||||
DECLARE @RevDescription varchar(255)
|
||||
|
||||
set @RevDate = '10/28/2024 11:24'
|
||||
set @RevDescription = 'Add the ability for PROMS to remember the procedure tabs that were open when you closed PROMS'
|
||||
set @RevDate = '2/19/2025 11:24'
|
||||
set @RevDescription = 'Added support for legacy ROs with brackets in Unit Values'
|
||||
|
||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||
|
@@ -19,6 +19,7 @@ using System.Drawing;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Linq;
|
||||
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
@@ -143,6 +144,8 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
#endregion
|
||||
#region SortingChildren
|
||||
private static bool IsInManualOrderNullFix = false;
|
||||
|
||||
[NonSerialized]
|
||||
public Csla.SortedBindingList<FolderInfo> _SortedChildFolders;
|
||||
public Csla.SortedBindingList<FolderInfo> SortedChildFolders
|
||||
@@ -151,6 +154,29 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
if (ChildFolders != null)
|
||||
{
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
// if any ChildFolders with a missing Manual Order
|
||||
// set them to the end of the list
|
||||
// use IsInManualOrderNullFix - so, if setting ChildFolders Currently,
|
||||
// do not try to set them (thus creating an infinite loop)
|
||||
if (!IsInManualOrderNullFix && ChildFolders.Any(x => x.ManualOrder == null))
|
||||
{
|
||||
IsInManualOrderNullFix = true;
|
||||
foreach (FolderInfo fi in ChildFolders.Where(x => x.ManualOrder == null))
|
||||
{
|
||||
using (FolderInfo parfolderinfo = FolderInfo.Get(fi.ParentID))
|
||||
{
|
||||
using (Folder fldr = fi.Get())
|
||||
{
|
||||
fldr.ManualOrder = parfolderinfo.NewManualOrder(9999);
|
||||
fldr.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
RefreshChildFolders();
|
||||
IsInManualOrderNullFix = false;
|
||||
}
|
||||
|
||||
if (_SortedChildFolders == null)
|
||||
{
|
||||
_SortedChildFolders = new SortedBindingList<FolderInfo>(ChildFolders);
|
||||
@@ -166,6 +192,10 @@ namespace VEPROMS.CSLA.Library
|
||||
return _SortedChildFolders;
|
||||
}
|
||||
}
|
||||
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//Note: this should be called from the parent item
|
||||
//As you want to put this into the sorted order of the parent item
|
||||
public double? NewManualOrder(int index)
|
||||
{
|
||||
double? retval = 1;
|
||||
@@ -174,13 +204,27 @@ namespace VEPROMS.CSLA.Library
|
||||
else if (index == 0)
|
||||
{
|
||||
if (retval >= SortedChildFolders[index].ManualOrder) // If one is too big, then divide first value in half
|
||||
retval = SortedChildFolders[index].ManualOrder / 2;
|
||||
retval = SortedChildFolders[index].ManualOrder / 2.0;
|
||||
}
|
||||
else if (SortedChildFolders.Count > index)
|
||||
{
|
||||
retval += SortedChildFolders[index - 1].ManualOrder; // Just go to the next whole number
|
||||
if (retval >= SortedChildFolders[index].ManualOrder)
|
||||
retval = (SortedChildFolders[index - 1].ManualOrder + SortedChildFolders[index].ManualOrder) / 2;
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//filter to just items with the same parent
|
||||
//want new order to be halfway between the previous item
|
||||
//and the next ManualOrder
|
||||
var tmp = SortedChildFolders.Where(x => x.ParentID == FolderID);
|
||||
var lbound = SortedChildFolders[index - 1].ManualOrder;
|
||||
var ubound = tmp.OrderBy(y => y.ManualOrder).FirstOrDefault(x => x.ManualOrder > lbound)?.ManualOrder;
|
||||
if (ubound != null)
|
||||
{
|
||||
retval = ((ubound - lbound) / 2.0) + lbound;
|
||||
}
|
||||
else
|
||||
{
|
||||
//in this case, item before is highest for that parent
|
||||
//so just make this 1 more
|
||||
retval = lbound + 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -805,7 +805,21 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// B2025-020 Null Reference fix. Added check for valid index into the TransitionTypeList
|
||||
if (!forceConvertToText)
|
||||
{
|
||||
if (traninfo.TranType >= itemInfo.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList.Count)
|
||||
{
|
||||
forceConvertToText = true;
|
||||
TranFixCount++;
|
||||
itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition type is not available");
|
||||
using (Content content = Content.Get(itemInfo.MyContent.ContentID))
|
||||
{
|
||||
content.FixTransitionText(traninfo, true);
|
||||
content.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!forceConvertToText)
|
||||
{
|
||||
if (itemInfo.MyProcedure.ItemID != traninfo.MyItemToID.MyProcedure.ItemID) //different proc
|
||||
|
@@ -769,6 +769,15 @@ namespace VEPROMS.CSLA.Library
|
||||
tmp.MyParent = myParent;
|
||||
tmp.Name = name;
|
||||
tmp.ShortName = shortName;
|
||||
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//if no manual order is set, add it at the end
|
||||
if (myParent != null)
|
||||
{
|
||||
using (FolderInfo parfolderinfo = FolderInfo.Get(myParent.FolderID))
|
||||
tmp.ManualOrder = parfolderinfo.NewManualOrder(9999);
|
||||
}
|
||||
|
||||
return tmp;
|
||||
}
|
||||
public static Folder New(Folder myParent, Connection myConnection, string name, string title, string shortName, Format myFormat, double? manualOrder, string config, DateTime dts, string usrID)
|
||||
@@ -784,6 +793,15 @@ namespace VEPROMS.CSLA.Library
|
||||
tmp.Config = config;
|
||||
tmp.DTS = dts;
|
||||
tmp.UsrID = usrID;
|
||||
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//if no manual order is set, add it at the end
|
||||
if (myParent != null && manualOrder == null)
|
||||
{
|
||||
using (FolderInfo parfolderinfo = FolderInfo.Get(myParent.FolderID))
|
||||
tmp.ManualOrder = parfolderinfo.NewManualOrder(9999);
|
||||
}
|
||||
|
||||
return tmp;
|
||||
}
|
||||
public static Folder MakeFolder(Folder myParent, Connection myConnection, string name, string title, string shortName, Format myFormat, double? manualOrder, string config, DateTime dts, string usrID)
|
||||
@@ -813,6 +831,15 @@ namespace VEPROMS.CSLA.Library
|
||||
tmp.MyFormat = myFormat;
|
||||
tmp.ManualOrder = manualOrder;
|
||||
tmp.Config = config;
|
||||
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//if no manual order is set, add it at the end
|
||||
if (myParent != null && manualOrder == null)
|
||||
{
|
||||
using (FolderInfo parfolderinfo = FolderInfo.Get(myParent.FolderID))
|
||||
tmp.ManualOrder = parfolderinfo.NewManualOrder(9999);
|
||||
}
|
||||
|
||||
return tmp;
|
||||
}
|
||||
public static Folder MakeFolder(Folder myParent, Connection myConnection, string name, string title, string shortName, Format myFormat, double? manualOrder, string config)
|
||||
|
@@ -983,19 +983,22 @@ namespace Volian.Controls.Library
|
||||
SectionInfo si2 = (tn as VETreeNode).VEObject as SectionInfo;
|
||||
if (si2.MyDocVersion.MultiUnitCount > 1)
|
||||
{
|
||||
MenuItem mps = new MenuItem("Print Section");
|
||||
int k = 0;
|
||||
foreach (string s in si2.MyDocVersion.UnitNames)
|
||||
if (!si2.IsSubsection)
|
||||
{
|
||||
k++;
|
||||
MenuItem mp = mps.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
|
||||
mp.Tag = k;
|
||||
MenuItem mps = new MenuItem("Print Section");
|
||||
int k = 0;
|
||||
foreach (string s in si2.MyDocVersion.UnitNames)
|
||||
{
|
||||
k++;
|
||||
MenuItem mp = mps.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
|
||||
mp.Tag = k;
|
||||
}
|
||||
cm.MenuItems.Add(mps);
|
||||
}
|
||||
cm.MenuItems.Add(mps);
|
||||
}
|
||||
else
|
||||
{
|
||||
cm.MenuItems.Add("Print Section", new EventHandler(mi_Click));
|
||||
if(!si2.IsSubsection) cm.MenuItems.Add("Print Section", new EventHandler(mi_Click));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2812,23 +2815,27 @@ namespace Volian.Controls.Library
|
||||
int f2 = -1;
|
||||
string uniquename = _LastFolderInfo.MyParent.UniqueChildName("New Folder");
|
||||
int myindex = SelectedNode.Index + ((newtype == MenuSelections.FolderAfter) ? 1 : 0);
|
||||
FolderInfo parfolderinfo = FolderInfo.Get(parentfolder.FolderID);
|
||||
double? myorder = parfolderinfo.NewManualOrder(myindex);
|
||||
using (Folder folder = Folder.MakeFolder(parentfolder.MyParent, parentfolder.MyConnection, uniquename, string.Empty, "Short Name", null, myorder, string.Empty, DateTime.Now, VlnSettings.UserID))
|
||||
{
|
||||
ShowBrokenRules(folder.BrokenRulesCollection);
|
||||
SetLastValues(FolderInfo.Get(folder.FolderID));
|
||||
if (OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(uniquename, folder.FolderConfig)) == DialogResult.OK)
|
||||
//B2025-018 Issues with folder order in tree view
|
||||
//since before/after folder is at same level as current folder
|
||||
//so need to use the parents order to determine where to place it
|
||||
using (FolderInfo parfolderinfo = FolderInfo.Get(parentfolder.MyParent.FolderID))
|
||||
{ double? myorder = parfolderinfo.NewManualOrder(myindex);
|
||||
using (Folder folder = Folder.MakeFolder(parentfolder.MyParent, parentfolder.MyConnection, uniquename, string.Empty, "Short Name", null, myorder, string.Empty, DateTime.Now, VlnSettings.UserID))
|
||||
{
|
||||
folder.Save();
|
||||
tn = new VETreeNode((IVEDrillDownReadOnly)_LastFolderInfo);
|
||||
if (newtype == MenuSelections.FolderBefore) SelectedNode.Parent.Nodes.Insert(SelectedNode.Index, tn);
|
||||
if (newtype == MenuSelections.FolderAfter) SelectedNode.Parent.Nodes.Insert(SelectedNode.Index + 1, tn);
|
||||
ShowBrokenRules(folder.BrokenRulesCollection);
|
||||
SetLastValues(FolderInfo.Get(folder.FolderID));
|
||||
if (OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(uniquename, folder.FolderConfig)) == DialogResult.OK)
|
||||
{
|
||||
folder.Save();
|
||||
tn = new VETreeNode((IVEDrillDownReadOnly)_LastFolderInfo);
|
||||
if (newtype == MenuSelections.FolderBefore) SelectedNode.Parent.Nodes.Insert(SelectedNode.Index, tn);
|
||||
if (newtype == MenuSelections.FolderAfter) SelectedNode.Parent.Nodes.Insert(SelectedNode.Index + 1, tn);
|
||||
}
|
||||
else
|
||||
f2 = folder.FolderID;
|
||||
}
|
||||
else
|
||||
f2 = folder.FolderID;
|
||||
if (f2 != -1) Folder.Delete(f2);
|
||||
}
|
||||
if (f2 != -1) Folder.Delete(f2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -647,8 +647,10 @@ namespace Volian.Print.Library
|
||||
}
|
||||
if (MyItemInfo.IsHigh)
|
||||
{
|
||||
// C2025-014 change the zoom setting on the bookmark of a step from FITBH to FITV so that instead of zooming in
|
||||
// on the step it will zoom to the page level ( like it does when you select a bookmark on a section.
|
||||
MyPageHelper.PageBookmarks.Add(MyItemInfo, (MyItemInfo.MyTab == null) ? "" : MyItemInfo.MyTab.CleanText + " " + MyItemInfo.DisplayText,
|
||||
new PdfDestination(PdfDestination.FITBH, yLocation + YVeryTop - YTopMost + SixLinesPerInch));
|
||||
new PdfDestination(PdfDestination.FITV, yLocation + YVeryTop - YTopMost + SixLinesPerInch));
|
||||
}
|
||||
}
|
||||
if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.WolfcreekCKLFormat)
|
||||
|
Reference in New Issue
Block a user