Compare commits

...
103 changed files with 14193 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
/link/
/link
# DocumentAutomation generated files and local source data
DocumentAutomation/**/bin/
DocumentAutomation/**/obj/
DocumentAutomation/.vs/
DocumentAutomation/samples/**/*.docx
DocumentAutomation/samples/**/*.pdf
DocumentAutomation/samples/**/*.json
DocumentAutomation/**/*.csproj.user
+9
View File
@@ -0,0 +1,9 @@
<Project>
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<LangVersion>latest</LangVersion>
</PropertyGroup>
</Project>
+206
View File
@@ -0,0 +1,206 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentAutomation.Shared", "src\DocumentAutomation.Shared\DocumentAutomation.Shared.csproj", "{3D48D7EE-4C18-47A8-9F8F-E296491C0463}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocxWorkbench.App", "src\DocxWorkbench.App\DocxWorkbench.App.csproj", "{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocxWorkbench.Core", "src\DocxWorkbench.Core\DocxWorkbench.Core.csproj", "{5D7A031E-06AE-4725-89D8-C4EAD75700B1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocxWorkbench.OpenXml", "src\DocxWorkbench.OpenXml\DocxWorkbench.OpenXml.csproj", "{6560936F-10A6-406E-8957-24E577A3F7EE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocxWorkbench.WordInterop", "src\DocxWorkbench.WordInterop\DocxWorkbench.WordInterop.csproj", "{3349BB3A-001A-480D-9867-CF7199BDA04B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardsWorkbench.App", "src\StandardsWorkbench.App\StandardsWorkbench.App.csproj", "{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardsWorkbench.Core", "src\StandardsWorkbench.Core\StandardsWorkbench.Core.csproj", "{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardsWorkbench.Pdf", "src\StandardsWorkbench.Pdf\StandardsWorkbench.Pdf.csproj", "{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardsWorkbench.Ollama", "src\StandardsWorkbench.Ollama\StandardsWorkbench.Ollama.csproj", "{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{0AB3BF05-4346-4AA6-1389-037BE0695223}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocumentAutomation.IntegrationTests", "tests\DocumentAutomation.IntegrationTests\DocumentAutomation.IntegrationTests.csproj", "{6D7ED423-F943-4DF0-8D18-F69C127F3D67}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocxWorkbench.Tests", "tests\DocxWorkbench.Tests\DocxWorkbench.Tests.csproj", "{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandardsWorkbench.Tests", "tests\StandardsWorkbench.Tests\StandardsWorkbench.Tests.csproj", "{6E533AAB-42E6-4C60-AE06-A89F2B283187}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Debug|x64.ActiveCfg = Debug|Any CPU
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Debug|x64.Build.0 = Debug|Any CPU
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Debug|x86.ActiveCfg = Debug|Any CPU
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Debug|x86.Build.0 = Debug|Any CPU
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Release|Any CPU.Build.0 = Release|Any CPU
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Release|x64.ActiveCfg = Release|Any CPU
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Release|x64.Build.0 = Release|Any CPU
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Release|x86.ActiveCfg = Release|Any CPU
{3D48D7EE-4C18-47A8-9F8F-E296491C0463}.Release|x86.Build.0 = Release|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Debug|x64.ActiveCfg = Debug|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Debug|x64.Build.0 = Debug|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Debug|x86.ActiveCfg = Debug|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Debug|x86.Build.0 = Debug|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Release|Any CPU.Build.0 = Release|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Release|x64.ActiveCfg = Release|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Release|x64.Build.0 = Release|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Release|x86.ActiveCfg = Release|Any CPU
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5}.Release|x86.Build.0 = Release|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Debug|x64.ActiveCfg = Debug|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Debug|x64.Build.0 = Debug|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Debug|x86.ActiveCfg = Debug|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Debug|x86.Build.0 = Debug|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Release|Any CPU.Build.0 = Release|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Release|x64.ActiveCfg = Release|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Release|x64.Build.0 = Release|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Release|x86.ActiveCfg = Release|Any CPU
{5D7A031E-06AE-4725-89D8-C4EAD75700B1}.Release|x86.Build.0 = Release|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Debug|x64.ActiveCfg = Debug|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Debug|x64.Build.0 = Debug|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Debug|x86.ActiveCfg = Debug|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Debug|x86.Build.0 = Debug|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Release|Any CPU.Build.0 = Release|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Release|x64.ActiveCfg = Release|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Release|x64.Build.0 = Release|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Release|x86.ActiveCfg = Release|Any CPU
{6560936F-10A6-406E-8957-24E577A3F7EE}.Release|x86.Build.0 = Release|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Debug|x64.ActiveCfg = Debug|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Debug|x64.Build.0 = Debug|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Debug|x86.ActiveCfg = Debug|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Debug|x86.Build.0 = Debug|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Release|Any CPU.Build.0 = Release|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Release|x64.ActiveCfg = Release|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Release|x64.Build.0 = Release|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Release|x86.ActiveCfg = Release|Any CPU
{3349BB3A-001A-480D-9867-CF7199BDA04B}.Release|x86.Build.0 = Release|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Debug|x64.ActiveCfg = Debug|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Debug|x64.Build.0 = Debug|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Debug|x86.ActiveCfg = Debug|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Debug|x86.Build.0 = Debug|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Release|Any CPU.Build.0 = Release|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Release|x64.ActiveCfg = Release|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Release|x64.Build.0 = Release|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Release|x86.ActiveCfg = Release|Any CPU
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5}.Release|x86.Build.0 = Release|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Debug|x64.ActiveCfg = Debug|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Debug|x64.Build.0 = Debug|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Debug|x86.ActiveCfg = Debug|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Debug|x86.Build.0 = Debug|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Release|Any CPU.Build.0 = Release|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Release|x64.ActiveCfg = Release|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Release|x64.Build.0 = Release|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Release|x86.ActiveCfg = Release|Any CPU
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D}.Release|x86.Build.0 = Release|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Debug|x64.ActiveCfg = Debug|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Debug|x64.Build.0 = Debug|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Debug|x86.ActiveCfg = Debug|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Debug|x86.Build.0 = Debug|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Release|Any CPU.Build.0 = Release|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Release|x64.ActiveCfg = Release|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Release|x64.Build.0 = Release|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Release|x86.ActiveCfg = Release|Any CPU
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1}.Release|x86.Build.0 = Release|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Debug|x64.ActiveCfg = Debug|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Debug|x64.Build.0 = Debug|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Debug|x86.ActiveCfg = Debug|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Debug|x86.Build.0 = Debug|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Release|Any CPU.Build.0 = Release|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Release|x64.ActiveCfg = Release|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Release|x64.Build.0 = Release|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Release|x86.ActiveCfg = Release|Any CPU
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9}.Release|x86.Build.0 = Release|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Debug|x64.ActiveCfg = Debug|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Debug|x64.Build.0 = Debug|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Debug|x86.ActiveCfg = Debug|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Debug|x86.Build.0 = Debug|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Release|Any CPU.Build.0 = Release|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Release|x64.ActiveCfg = Release|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Release|x64.Build.0 = Release|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Release|x86.ActiveCfg = Release|Any CPU
{6D7ED423-F943-4DF0-8D18-F69C127F3D67}.Release|x86.Build.0 = Release|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Debug|x64.ActiveCfg = Debug|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Debug|x64.Build.0 = Debug|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Debug|x86.ActiveCfg = Debug|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Debug|x86.Build.0 = Debug|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Release|Any CPU.Build.0 = Release|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Release|x64.ActiveCfg = Release|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Release|x64.Build.0 = Release|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Release|x86.ActiveCfg = Release|Any CPU
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE}.Release|x86.Build.0 = Release|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Debug|x64.ActiveCfg = Debug|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Debug|x64.Build.0 = Debug|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Debug|x86.ActiveCfg = Debug|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Debug|x86.Build.0 = Debug|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Release|Any CPU.Build.0 = Release|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Release|x64.ActiveCfg = Release|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Release|x64.Build.0 = Release|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Release|x86.ActiveCfg = Release|Any CPU
{6E533AAB-42E6-4C60-AE06-A89F2B283187}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{3D48D7EE-4C18-47A8-9F8F-E296491C0463} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{BB7057EA-13F7-4F9E-BC1F-6E4FE0C8C9D5} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{5D7A031E-06AE-4725-89D8-C4EAD75700B1} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{6560936F-10A6-406E-8957-24E577A3F7EE} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{3349BB3A-001A-480D-9867-CF7199BDA04B} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{4A79AA2B-7E40-456A-9BBF-D6F8A444EDC5} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{71C7E7B1-1E3E-470B-A942-EFCD58CC692D} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{463BCC3A-3836-4DAC-A2A1-B786A9B263F1} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{7EA1410E-03BF-46B3-9C6D-20983C4FA2C9} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{6D7ED423-F943-4DF0-8D18-F69C127F3D67} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
{8539CA78-AB1A-499E-9C9C-C0FBBFC7AFAE} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
{6E533AAB-42E6-4C60-AE06-A89F2B283187} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
EndGlobalSection
EndGlobal
+15
View File
@@ -0,0 +1,15 @@
# DocumentAutomation
Первый локальный прототип состоит из независимых `DOCX Workbench` и `Standards Workbench` на .NET 8 Windows Forms.
DOCX Workbench анализирует DOCX через Open XML, формирует документ через локальный Microsoft Word COM, сохраняет шаблонные секции/колонтитулы, обновляет поля и экспортирует PDF. Standards Workbench импортирует PDF, сохраняет checksum, извлекает страницы и кандидатные пункты, обращается к Ollama только за предложением candidate-rule и экспортирует переносимый профиль.
## Ограничения MVP
- OCR только обозначен интерфейсом; страницы без текстового слоя получают статус `OCR_REQUIRED`.
- Автоматическое утверждение нормативных правил запрещено.
- Word COM требует установленного Microsoft Word и запускается только интерактивно, не как service.
- Реальный `156-титул-ПД.docx` и нормативные PDF не добавлялись в Git.
- PDF preview использует локальный Word ExportAsFixedFormat.
Подробности: `docs/architecture.md`, `docs/docx-template-contract.md`, `docs/word-com-lifecycle.md`, `docs/standards-rule-model.md`.
+9
View File
@@ -0,0 +1,9 @@
# Architecture
`DocxWorkbench.App` and `StandardsWorkbench.App` are separate WinForms applications. They share only DTOs in `DocumentAutomation.Shared`.
DOCX flow: GUI -> `DocxWorkbench.Core` contracts -> `DocxWorkbench.OpenXml` read-only inspection or `DocxWorkbench.WordInterop` sequential Word COM queue -> DOCX/PDF and technical JSON log.
Standards flow: GUI -> `StandardsWorkbench.Pdf` page/clause extraction and `StandardsWorkbench.Ollama` candidate-only suggestions -> manually approved portable profile -> `StandardsWorkbench.Core.RulesEngine`.
COM is isolated from Core and UI. Standards rules are not hardcoded into document generation.
+9
View File
@@ -0,0 +1,9 @@
# Development
```powershell
dotnet restore .\DocumentAutomation\DocumentAutomation.sln
dotnet build .\DocumentAutomation\DocumentAutomation.sln --configuration Release
dotnet test .\DocumentAutomation\DocumentAutomation.sln --configuration Release
```
Run `DocxWorkbench.App` or `StandardsWorkbench.App` from Visual Studio/VS Code. Microsoft Word is required only for DOCX generation and PDF export. Ollama is configured at `http://192.168.200.112:11434`; the model must be selected from `/api/tags`.
@@ -0,0 +1,7 @@
# DOCX template contract
The preferred insertion point is a Content Control with tag or title `DOC_BODY`, then a bookmark named `DOC_BODY`, then the exact marker `{{DOC_BODY}}`. If none is present, generation fails explicitly; the body is never silently appended.
The template is copied to a temporary working file. Body headers/footers are not imported. Template sections and headers/footers are retained, fields are updated, and Word repaginates before saving.
Before Word starts, the template is checked for the insertion point. If none is found, the build is rejected without starting Word. The GUI routes `.docx` through Open XML and `.txt` through `TextDocumentInspector`; template and body analysis results remain independent.
@@ -0,0 +1,5 @@
# Standards rule model
PDF metadata includes SHA-256, page count, text-layer status and import time. Pages without text are marked `OCR_REQUIRED`; no text is invented. Clause extraction preserves clause number, text, page and confidence.
Ollama receives only a small clause context and may return a candidate JSON rule. Candidates remain `New` until human approval. Only `Approved`, `Implemented` or `Tested` rules are evaluated. Profiles contain manifest, approved rules, references and a signature hash.
@@ -0,0 +1,14 @@
# Learned document templates
DOCX Workbench supports two deterministic workflows:
1. `TemplateLearningService` normalizes a `.doc` or copies a `.docx` into a temporary working directory, inspects it, adds a safe `{{DOC_BODY}}` insertion marker to the working copy, and writes a portable `.dtemplate` ZIP package.
2. `TemplateDocumentGenerator` opens the package, replaces explicitly supplied scalar tokens, imports a `.doc`, `.docx`, or `.txt` body through the existing main-story importer, and creates DOCX, PDF, generation, and validation outputs.
The package contains `manifest.json`, `template.docx`, source metadata, page archetypes, regions, slots, field bindings, mapping suggestions, and a validation profile. It contains no original source binary unless it is the normalized template copy.
All Word automation is late-bound and serialized through the existing STA queue. Binary `.doc` sources are opened read-only, macros are disabled through Word automation security, and the source SHA-256 is checked before and after normalization. The source body’s headers, footers, section properties, and page setup are excluded by `DocxBodyImporter`.
The current UI exposes three modes: template learning, document generation, and the existing quick `DOC_BODY` path. Page archetypes and slot proposals are deterministic suggestions and require later user confirmation; Ollama is not required for the workflow.
Known limitation: the first slice stores the learned structural model and default slots, but does not yet provide a pixel-level page editor or automatic extraction of every scalar field from an arbitrary engineering drawing. Those operations remain explicit user mapping work.
@@ -0,0 +1,5 @@
# Word COM lifecycle
Word is resolved late-bound through `Word.Application`; the Word PIA and `office.dll` are not required at application load time. Each service owns one serial `StaWordQueue`, and every Word job runs on its dedicated STA thread with `Visible=false` and alerts disabled. The service opens a working copy, performs one operation, updates fields, repaginates, saves, closes the Document, quits the Application, and releases owned COM proxies in `finally`.
The prototype does not run as a Windows Service, does not kill unrelated `WINWORD.EXE` processes, and does not execute macros. Integration tests compare process IDs before and after each job and verify that no newly-created Word process remains.
View File
+3
View File
@@ -0,0 +1,3 @@
# Samples
Реальные проектные DOCX/PDF и нормативные документы сюда не добавляются. Тесты создают синтетические документы во временном каталоге. Для локальной проверки укажите входные файлы через GUI.
@@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
@@ -0,0 +1,171 @@
using System.Text.Json.Serialization;
namespace DocumentAutomation.Shared;
public sealed record InspectionWarning
{
public required string Code { get; init; }
public required string Message { get; init; }
public string? Part { get; init; }
public string? Location { get; init; }
public string? MatchedValue { get; init; }
public string? DetectionRule { get; init; }
}
public sealed record DocumentFieldInfo
{
public required string Type { get; init; }
public required string Part { get; init; }
public int? Section { get; init; }
public string? Instruction { get; init; }
}
public sealed record DocumentImageSummary
{
public int RasterImages { get; init; }
public int DrawingObjects { get; init; }
public int VmlShapes { get; init; }
public int ExternalImages { get; init; }
}
public sealed record DocumentStyleInfo
{
public required string StyleId { get; init; }
public string? Name { get; init; }
public string? Type { get; init; }
public bool IsDefault { get; init; }
public string? BasedOn { get; init; }
public string? LinkedStyle { get; init; }
public int UsageCount { get; init; }
}
public sealed record SectionPartAssignment
{
public required int Section { get; init; }
public IReadOnlyList<string> Headers { get; init; } = [];
public IReadOnlyList<string> Footers { get; init; } = [];
public bool LinkToPrevious { get; init; }
}
public sealed record InsertionPointInfo
{
public required string Type { get; init; }
public string? Location { get; init; }
}
public enum SectionBreakPolicy { Remove, ConvertToParagraph, ConvertToPageBreak }
public enum RevisionImportPolicy { PreserveAndWarn, AcceptAll, RejectAll, BlockImport }
public enum CommentImportPolicy { PreserveAndWarn, Exclude, BlockImport }
public enum StyleConflictPolicy { KeepSourceFormatting, UseDestinationStyles, MapKnownStyles }
public sealed record WordOperationProgress
{
public required string Stage { get; init; }
public string? Message { get; init; }
public int? Percent { get; init; }
}
public sealed record BodyImportPlan
{
public required int ParagraphCount { get; init; }
public required int TableCount { get; init; }
public required int InlineShapeCount { get; init; }
public required int FloatingShapeCount { get; init; }
public required int InternalSectionBreakCount { get; init; }
public required int PageBreakCount { get; init; }
public required IReadOnlyList<string> IncludedStories { get; init; }
public required IReadOnlyList<string> ExcludedStories { get; init; }
public required IReadOnlyList<string> Warnings { get; init; }
}
public sealed record DocxBodyImportRequest
{
public required string SourcePath { get; init; }
public required object DestinationRangeHandle { get; init; }
public SectionBreakPolicy SectionBreakPolicy { get; init; } = SectionBreakPolicy.ConvertToPageBreak;
public RevisionImportPolicy RevisionPolicy { get; init; } = RevisionImportPolicy.PreserveAndWarn;
public CommentImportPolicy CommentPolicy { get; init; } = CommentImportPolicy.Exclude;
public StyleConflictPolicy StyleConflictPolicy { get; init; } = StyleConflictPolicy.KeepSourceFormatting;
}
public sealed record BodyImportResult
{
public required BodyImportPlan Plan { get; init; }
public required string InsertionMode { get; init; }
public required IReadOnlyList<string> Warnings { get; init; }
}
public sealed record DocumentInspectionResult
{
public required string FilePath { get; init; }
public long FileSize { get; init; }
public DateTime LastWriteTimeUtc { get; init; }
public int Sections { get; init; }
public int Paragraphs { get; init; }
public int Tables { get; init; }
public int Images { get; init; }
public DocumentImageSummary ImageSummary { get; init; } = new();
public int Headers { get; init; }
public int Footers { get; init; }
public bool HasPageFields { get; init; }
public bool HasNumPagesFields { get; init; }
public bool HasSectionPagesFields { get; init; }
public IReadOnlyList<DocumentFieldInfo> Fields { get; init; } = [];
public int Bookmarks { get; init; }
public int ContentControls { get; init; }
public int Comments { get; init; }
public bool HasTrackedChanges { get; init; }
public bool HasProtectedParts { get; init; }
public IReadOnlyList<DocumentStyleInfo> StyleDetails { get; init; } = [];
public IReadOnlyList<SectionPartAssignment> SectionAssignments { get; init; } = [];
public InsertionPointInfo InsertionPoint { get; init; } = new() { Type = "None" };
public BodyImportPlan? BodyImportPlan { get; init; }
public IReadOnlyList<InspectionWarning> Warnings { get; init; } = [];
public IReadOnlyList<string> Styles => StyleDetails.Select(x => x.StyleId).ToArray();
}
public sealed record WordDocumentBuildRequest
{
public required string TemplatePath { get; init; }
public required string BodyPath { get; init; }
public required string OutputDocxPath { get; init; }
public string? RulesProfilePath { get; init; }
public bool PreserveBodyFormatting { get; init; } = true;
public bool PreservePageBreaks { get; init; } = true;
}
public sealed record WordDocumentResult
{
public required string OutputDocxPath { get; init; }
public string? OutputPdfPath { get; init; }
public required string LogPath { get; init; }
public required TimeSpan Duration { get; init; }
public required string InsertionPoint { get; init; }
public BodyImportResult? BodyImport { get; init; }
}
public sealed record WordPreviewResult
{
public required string PdfPath { get; init; }
public required TimeSpan Duration { get; init; }
}
public enum RuleEvaluationStatus { Pass, Fail, NotApplicable, NeedsReview, Error }
public sealed record RuleEvaluationResult
{
public required string RuleId { get; init; }
public required RuleEvaluationStatus Status { get; init; }
public required string Message { get; init; }
public string? ClauseId { get; init; }
public int? SourcePage { get; init; }
public string? DocumentLocation { get; init; }
public bool CanAutoFix { get; init; }
}
public sealed record OllamaSettings
{
public string BaseUrl { get; init; } = "http://192.168.200.112:11434";
public string Model { get; init; } = "";
public int TimeoutSeconds { get; init; } = 120;
}
@@ -0,0 +1,153 @@
namespace DocumentAutomation.Shared;
public enum TemplateSlotKind { PlainText, RichText, MainBody, Table, RepeatingTableRows, Image, Signature, Date, DocumentField }
public enum TemplateRegionKind { Fixed, Variable, Repeating, Ignored }
public sealed record TemplateSlotOccurrence
{
public required string Location { get; init; }
public int? Page { get; init; }
public string? Story { get; init; }
public string? XPath { get; init; }
}
public sealed record TemplateSlot
{
public required string Id { get; init; }
public required string Name { get; init; }
public required TemplateSlotKind Kind { get; init; }
public required string ContentControlTag { get; init; }
public bool IsRequired { get; init; }
public bool IsRepeating { get; init; }
public string? PageArchetypeId { get; init; }
public string? RepeatGroup { get; init; }
public required IReadOnlyList<TemplateSlotOccurrence> Occurrences { get; init; }
}
public sealed record FixedRegion
{
public required string Id { get; init; }
public required string Name { get; init; }
public required TemplateRegionKind Kind { get; init; }
public required IReadOnlyList<int> Pages { get; init; }
public required string Fingerprint { get; init; }
public string? Story { get; init; }
public string? Location { get; init; }
public double Confidence { get; init; }
}
public sealed record RepeatingRegion
{
public required string Id { get; init; }
public required string Name { get; init; }
public required IReadOnlyList<int> Pages { get; init; }
public required string Fingerprint { get; init; }
public required TemplateRegionKind Kind { get; init; }
public string? Location { get; init; }
}
public sealed record PageArchetype
{
public required string Id { get; init; }
public required string Name { get; init; }
public bool IsFirstPage { get; init; }
public bool IsRepeating { get; init; }
public required IReadOnlyList<int> ExamplePages { get; init; }
public required IReadOnlyList<string> FixedRegionIds { get; init; }
public required IReadOnlyList<string> SlotIds { get; init; }
}
public sealed record TemplateFieldBinding
{
public required string SourceField { get; init; }
public required string TargetSlot { get; init; }
public required string Scope { get; init; }
public string? SourceStyle { get; init; }
public string? TargetStyle { get; init; }
}
public sealed record SourceDocumentStructure
{
public required string SourcePath { get; init; }
public required string Sha256 { get; init; }
public required string NormalizedPath { get; init; }
public required string NormalizedSha256 { get; init; }
public required int PageCount { get; init; }
public required int SectionCount { get; init; }
public required IReadOnlyList<string> Stories { get; init; }
public required IReadOnlyList<string> RepeatedFingerprints { get; init; }
public required DocumentInspectionResult Inspection { get; init; }
}
public sealed record TemplateLearningSuggestion
{
public required string SuggestionType { get; init; }
public required string SourceLocation { get; init; }
public string? TargetSlot { get; init; }
public string? ProposedName { get; init; }
public double Confidence { get; init; }
public required string Reason { get; init; }
public bool RequiresConfirmation { get; init; } = true;
}
public sealed record LearnedTemplate
{
public required string TemplateId { get; init; }
public required string Name { get; init; }
public required string SourceFileName { get; init; }
public required string SourceSha256 { get; init; }
public required string NormalizedSha256 { get; init; }
public required string CreatedAt { get; init; }
public string MinimumEngineVersion { get; init; } = "1.0";
public required SourceDocumentStructure Source { get; init; }
public required IReadOnlyList<PageArchetype> PageArchetypes { get; init; }
public required IReadOnlyList<FixedRegion> FixedRegions { get; init; }
public required IReadOnlyList<RepeatingRegion> RepeatingRegions { get; init; }
public required IReadOnlyList<TemplateSlot> Slots { get; init; }
public required IReadOnlyList<TemplateFieldBinding> FieldBindings { get; init; }
public required IReadOnlyList<TemplateLearningSuggestion> Suggestions { get; init; }
}
public sealed record DocumentNormalizationRequest
{
public required string SourcePath { get; init; }
public required string WorkingDirectory { get; init; }
public bool OpenReadOnly { get; init; } = true;
public bool DisableMacros { get; init; } = true;
}
public sealed record DocumentNormalizationResult
{
public required string SourcePath { get; init; }
public required string NormalizedPath { get; init; }
public required string SourceSha256 { get; init; }
public required string NormalizedSha256 { get; init; }
public required bool WasConverted { get; init; }
public required TimeSpan Duration { get; init; }
public int? PageCount { get; init; }
}
public sealed record TemplateLearningRequest
{
public required string SourcePath { get; init; }
public required string TemplateName { get; init; }
public required string OutputPackagePath { get; init; }
public bool CreateDefaultSlots { get; init; } = true;
}
public sealed record TemplateGenerationRequest
{
public required string TemplatePackagePath { get; init; }
public required string ContentSourcePath { get; init; }
public required string OutputDocxPath { get; init; }
public IReadOnlyDictionary<string, string> ScalarValues { get; init; } = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
public sealed record TemplateGenerationResult
{
public required string OutputDocxPath { get; init; }
public required string OutputPdfPath { get; init; }
public required string GenerationLogPath { get; init; }
public required string ValidationLogPath { get; init; }
public required IReadOnlyList<RuleEvaluationResult> Validation { get; init; }
}
@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\DocumentAutomation.Shared\DocumentAutomation.Shared.csproj" />
<ProjectReference Include="..\DocxWorkbench.Core\DocxWorkbench.Core.csproj" />
<ProjectReference Include="..\DocxWorkbench.OpenXml\DocxWorkbench.OpenXml.csproj" />
<ProjectReference Include="..\DocxWorkbench.WordInterop\DocxWorkbench.WordInterop.csproj" />
</ItemGroup>
</Project>
@@ -0,0 +1,71 @@
using System.Diagnostics;
using System.Text.Json;
using DocumentAutomation.Shared;
using DocxWorkbench.Core;
using DocxWorkbench.OpenXml;
using DocxWorkbench.WordInterop;
namespace DocxWorkbench.App;
public sealed class MainForm : Form
{
private readonly ComboBox _mode = new() { DropDownStyle = ComboBoxStyle.DropDownList, Width = 230 };
private readonly TextBox _template = new() { Width = 560 };
private readonly TextBox _body = new() { Width = 560 };
private readonly TextBox _package = new() { Width = 560 };
private readonly TextBox _templateName = new() { Width = 560, Text = "Learned document template" };
private readonly TextBox _output = new() { Width = 560 };
private readonly RichTextBox _structure = new() { Dock = DockStyle.Fill, ReadOnly = true };
private readonly RichTextBox _preview = new() { Dock = DockStyle.Fill, ReadOnly = true };
private readonly TextBox _log = new() { Multiline = true, ScrollBars = ScrollBars.Vertical, Dock = DockStyle.Fill, ReadOnly = true };
private readonly TextBox _technicalError = new() { Multiline = true, ScrollBars = ScrollBars.Vertical, Dock = DockStyle.Fill, ReadOnly = true };
private readonly Label _status = new() { AutoSize = true, Text = "Ready" };
private readonly Button _analyze; private readonly Button _learn; private readonly Button _generate; private readonly Button _build; private readonly Button _validate; private readonly Button _openDocx; private readonly Button _openPdf;
private readonly WorkbenchStateController _state = new();
private readonly IDocumentInspector _docx = new OpenXmlDocumentInspector(); private readonly IDocumentInspector _txt = new TextDocumentInspector(); private readonly IWordDocumentService _word = new WordDocumentService();
private DocumentInspectionResult? _templateResult; private DocumentInspectionResult? _bodyResult; private string? _builtDocx; private string? _builtPdf;
public MainForm()
{
Text = "DOCX Workbench"; Width = 1200; Height = 780; StartPosition = FormStartPosition.CenterScreen;
_mode.Items.AddRange(["Template learning", "Document generation", "Quick DOC_BODY"]); _mode.SelectedIndex = 2; _mode.SelectedIndexChanged += (_, _) => RefreshButtons();
var grid = new TableLayoutPanel { Dock = DockStyle.Top, Height = 245, ColumnCount = 3, RowCount = 7, Padding = new Padding(8) }; grid.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 155)); grid.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100)); grid.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 110));
AddControlRow(grid, 0, "Mode", _mode, null); AddControlRow(grid, 1, "Template DOC/DOCX", _template, BrowseTemplate); AddControlRow(grid, 2, "Template name", _templateName, null); AddControlRow(grid, 3, "Content DOC/DOCX/TXT", _body, BrowseBody); AddControlRow(grid, 4, "Package .dtemplate", _package, BrowsePackage); AddControlRow(grid, 5, "Output DOCX", _output, BrowseOutput);
var buttons = new FlowLayoutPanel { Dock = DockStyle.Fill }; _analyze = Button("Analyze", async (_, _) => await AnalyzeAsync()); _learn = Button("Learn template", async (_, _) => await LearnAsync()); _generate = Button("Generate", async (_, _) => await GenerateAsync()); _build = Button("Quick build", async (_, _) => await QuickBuildAsync()); _validate = Button("Validate", async (_, _) => await ValidateAsync()); _openDocx = Button("Open DOCX", (_, _) => Open(_builtDocx)); _openPdf = Button("Open PDF", (_, _) => Open(_builtPdf)); buttons.Controls.AddRange([_analyze, _learn, _generate, _build, _validate, _openDocx, _openPdf]); grid.Controls.Add(buttons, 1, 6); grid.SetColumnSpan(buttons, 2);
var tabs = new TabControl { Dock = DockStyle.Fill }; AddTab(tabs, "Structure", _structure); AddTab(tabs, "Preview", _preview); AddTab(tabs, "Log", _log); AddTab(tabs, "Technical error", _technicalError); Controls.Add(tabs); Controls.Add(grid); _status.Dock = DockStyle.Bottom; Controls.Add(_status); foreach (var box in new[] { _template, _body, _package, _output }) box.TextChanged += (_, _) => InputsChanged(); FormClosed += (_, _) => (_word as IDisposable)?.Dispose(); RefreshButtons();
}
private static void AddTab(TabControl tabs, string title, Control content) { var tab = new TabPage(title); tab.Controls.Add(content); tabs.TabPages.Add(tab); }
private static void AddControlRow(TableLayoutPanel panel, int row, string title, Control control, EventHandler? browse) { panel.Controls.Add(new Label { Text = title, AutoSize = true, Anchor = AnchorStyles.Left }, 0, row); panel.Controls.Add(control, 1, row); if (browse is not null) { var button = new Button { Text = "Browse...", Width = 95 }; button.Click += browse; panel.Controls.Add(button, 2, row); } }
private static Button Button(string text, EventHandler handler) { var button = new Button { Text = text, AutoSize = true }; button.Click += handler; return button; }
private void BrowseTemplate(object? sender, EventArgs e) { using var dialog = new OpenFileDialog { Filter = "Word document|*.doc;*.docx" }; if (dialog.ShowDialog() == DialogResult.OK) _template.Text = dialog.FileName; }
private void BrowseBody(object? sender, EventArgs e) { using var dialog = new OpenFileDialog { Filter = "Word or text|*.doc;*.docx;*.txt" }; if (dialog.ShowDialog() == DialogResult.OK) _body.Text = dialog.FileName; }
private void BrowsePackage(object? sender, EventArgs e) { using var dialog = new OpenFileDialog { Filter = "Learned template|*.dtemplate" }; if (dialog.ShowDialog() == DialogResult.OK) _package.Text = dialog.FileName; }
private void BrowseOutput(object? sender, EventArgs e) { using var dialog = new SaveFileDialog { Filter = "DOCX|*.docx", DefaultExt = "docx" }; if (dialog.ShowDialog() == DialogResult.OK) _output.Text = dialog.FileName; }
private async Task LearnAsync()
{
try { _status.Text = "Learning template..."; using var normalizer = new WordDocumentNormalizer(); var service = new TemplateLearningService(normalizer, new TemplatePackageStore(), _docx); var learned = await service.LearnAsync(new TemplateLearningRequest { SourcePath = _template.Text, TemplateName = _templateName.Text, OutputPackagePath = _package.Text }, null, CancellationToken.None); _structure.Text = JsonSerializer.Serialize(learned, new JsonSerializerOptions { WriteIndented = true }); AppendLog($"Template package created: {_package.Text}"); _status.Text = "Template learned"; } catch (Exception ex) { ShowError(ex, "Template learning failed"); }
}
private async Task GenerateAsync()
{
try { _status.Text = "Generating..."; using var normalizer = new WordDocumentNormalizer(); using var generator = new TemplateDocumentGenerator(new TemplatePackageStore(), normalizer, _docx); var result = await generator.GenerateAsync(new TemplateGenerationRequest { TemplatePackagePath = _package.Text, ContentSourcePath = _body.Text, OutputDocxPath = _output.Text }, null, CancellationToken.None); _builtDocx = result.OutputDocxPath; _builtPdf = result.OutputPdfPath; _preview.Text = JsonSerializer.Serialize(result.Validation, new JsonSerializerOptions { WriteIndented = true }); AppendLog(JsonSerializer.Serialize(result, new JsonSerializerOptions { WriteIndented = true })); _status.Text = "Generation succeeded"; } catch (Exception ex) { ShowError(ex, "Generation failed"); }
}
private async Task AnalyzeAsync()
{
_status.Text = "Analyzing..."; var template = await InspectPathAsync(_template.Text); var body = await InspectPathAsync(_body.Text); _templateResult = template.Result; _bodyResult = body.Result; if (_templateResult is not null) ShowStructure(_templateResult); if (_bodyResult is not null) _preview.Text = _body.Text.EndsWith(".txt", StringComparison.OrdinalIgnoreCase) ? File.ReadAllText(_body.Text) : JsonSerializer.Serialize(_bodyResult, new JsonSerializerOptions { WriteIndented = true }); LogInspection("Template", template); LogInspection("Body", body); _state.InputsSelected(template.Result is not null && body.Result is not null); _state.AnalysisCompleted(template.Result is not null, body.Result is not null, template.Result?.InsertionPoint.Type != "None"); _status.Text = _state.State == WorkbenchState.ReadyToBuild ? "Ready" : "Analysis completed with warnings"; RefreshButtons();
}
private Task<(DocumentInspectionResult? Result, Exception? Error, string Inspector)> InspectPathAsync(string path) => Task.Run(() => { try { if (path.EndsWith(".docx", StringComparison.OrdinalIgnoreCase)) return (_docx.Inspect(path), (Exception?)null, "OpenXmlDocumentInspector"); if (path.EndsWith(".txt", StringComparison.OrdinalIgnoreCase)) return (_txt.Inspect(path), (Exception?)null, "TextDocumentInspector"); throw new UnsupportedDocumentFormatException($"Unsupported format {Path.GetExtension(path)}. Use DOC/DOCX/TXT or normalize DOC first."); } catch (Exception ex) { return ((DocumentInspectionResult?)null, ex, "format-router"); } });
private async Task QuickBuildAsync() { if (!_state.CanBuild) { await AnalyzeAsync(); if (!_state.CanBuild) return; } _state.BeginBuild(); RefreshButtons(); try { var result = await _word.BuildDocumentAsync(new WordDocumentBuildRequest { TemplatePath = _template.Text, BodyPath = _body.Text, OutputDocxPath = _output.Text }, null, CancellationToken.None); var pdf = await _word.ExportPdfAsync(result.OutputDocxPath, Path.ChangeExtension(result.OutputDocxPath, ".pdf"), CancellationToken.None); _builtDocx = result.OutputDocxPath; _builtPdf = pdf.PdfPath; _state.BuildSucceeded(); AppendLog(JsonSerializer.Serialize(new { result, pdf }, new JsonSerializerOptions { WriteIndented = true })); _status.Text = "Quick build succeeded"; } catch (Exception ex) { _state.BuildFailed(); ShowError(ex, "Build failed"); } finally { RefreshButtons(); } }
private async Task ValidateAsync() { if (!_state.CanValidate || _builtDocx is null || !File.Exists(_builtDocx)) return; try { var result = await Task.Run(() => _docx.Inspect(_builtDocx)); AppendLog(JsonSerializer.Serialize(new { label = "Output", result }, new JsonSerializerOptions { WriteIndented = true })); _status.Text = "Validation succeeded"; } catch (Exception ex) { ShowError(ex, "Validation failed"); } }
private void ShowStructure(DocumentInspectionResult result) => _structure.Text = JsonSerializer.Serialize(new { result.FilePath, result.Sections, result.Paragraphs, result.Tables, result.Headers, result.Footers, result.Fields, result.ImageSummary, result.SectionAssignments, result.StyleDetails, result.Warnings }, new JsonSerializerOptions { WriteIndented = true });
private void LogInspection(string label, (DocumentInspectionResult? Result, Exception? Error, string Inspector) value) { AppendLog(JsonSerializer.Serialize(new { label, inspector = value.Inspector, result = value.Result, error = value.Error?.Message }, new JsonSerializerOptions { WriteIndented = true })); if (value.Error is not null) _technicalError.Text = value.Error.Message; }
private void InputsChanged() { _builtDocx = null; _builtPdf = null; RefreshButtons(); }
private void RefreshButtons() { var mode = _mode.SelectedIndex; var templateSupported = _template.Text.EndsWith(".doc", StringComparison.OrdinalIgnoreCase) || _template.Text.EndsWith(".docx", StringComparison.OrdinalIgnoreCase); _analyze.Enabled = mode != 1 && File.Exists(_template.Text) && File.Exists(_body.Text); _learn.Enabled = mode == 0 && templateSupported && File.Exists(_template.Text) && !string.IsNullOrWhiteSpace(_package.Text); _generate.Enabled = mode == 1 && File.Exists(_package.Text) && File.Exists(_body.Text) && !string.IsNullOrWhiteSpace(_output.Text); _build.Enabled = mode == 2 && _state.CanBuild; _validate.Enabled = _state.CanValidate && _builtDocx is not null && File.Exists(_builtDocx); _openDocx.Enabled = _builtDocx is not null && File.Exists(_builtDocx); _openPdf.Enabled = _builtPdf is not null && File.Exists(_builtPdf); }
private void ShowError(Exception ex, string title) { _technicalError.Text = ex.ToString(); AppendLog(title + ": " + ex.Message); _status.Text = title; MessageBox.Show(ex.Message, title, MessageBoxButtons.OK, MessageBoxIcon.Error); }
private void AppendLog(string text) => _log.AppendText(text + Environment.NewLine);
private static void Open(string? path) { if (!string.IsNullOrWhiteSpace(path) && File.Exists(path)) Process.Start(new ProcessStartInfo(path) { UseShellExecute = true }); }
}
@@ -0,0 +1,16 @@
namespace DocxWorkbench.App;
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new MainForm());
}
}
@@ -0,0 +1,73 @@
using DocumentAutomation.Shared;
namespace DocxWorkbench.Core;
public interface IDocumentInspector
{
DocumentInspectionResult Inspect(string docxPath);
}
public sealed class UnsupportedDocumentFormatException(string message) : InvalidOperationException(message);
public enum WorkbenchState { Empty, InputsSelected, Analyzed, ReadyToBuild, Building, BuildSucceeded, BuildFailed, Validating, ValidationSucceeded, ValidationFailed }
public sealed class WorkbenchStateController
{
public WorkbenchState State { get; private set; } = WorkbenchState.Empty;
public bool CanBuild => State == WorkbenchState.ReadyToBuild;
public bool CanValidate => State == WorkbenchState.BuildSucceeded;
public bool CanOpenDocx { get; private set; }
public bool CanOpenPdf { get; private set; }
public void InputsSelected(bool selected) { State = selected ? WorkbenchState.InputsSelected : WorkbenchState.Empty; if (!selected) ClearArtifacts(); }
public void AnalysisCompleted(bool templateOk, bool bodyOk, bool insertionPointFound) { State = templateOk && bodyOk && insertionPointFound ? WorkbenchState.ReadyToBuild : WorkbenchState.Analyzed; ClearArtifacts(); }
public void BeginBuild() { if (!CanBuild) throw new InvalidOperationException("Build is unavailable in the current state."); State = WorkbenchState.Building; ClearArtifacts(); }
public void BuildSucceeded() { State = WorkbenchState.BuildSucceeded; CanOpenDocx = true; CanOpenPdf = true; }
public void BuildFailed() { State = WorkbenchState.BuildFailed; ClearArtifacts(); }
public void BeginValidation() { if (!CanValidate) throw new InvalidOperationException("Validation is available only after a successful build."); State = WorkbenchState.Validating; }
public void ValidationCompleted(bool success) => State = success ? WorkbenchState.ValidationSucceeded : WorkbenchState.ValidationFailed;
private void ClearArtifacts() { CanOpenDocx = false; CanOpenPdf = false; }
}
public interface IWordDocumentService
{
Task<WordDocumentResult> BuildDocumentAsync(WordDocumentBuildRequest request, IProgress<string>? progress, CancellationToken cancellationToken);
Task<WordPreviewResult> ExportPdfAsync(string docxPath, string outputPdfPath, CancellationToken cancellationToken);
}
public interface IDocxBodyImporter
{
Task<BodyImportResult> ImportAsync(DocxBodyImportRequest request, IProgress<WordOperationProgress>? progress, CancellationToken cancellationToken);
}
public interface IWordDocumentNormalizer
{
Task<DocumentNormalizationResult> NormalizeAsync(DocumentNormalizationRequest request, IProgress<WordOperationProgress>? progress, CancellationToken cancellationToken);
}
public interface ITemplateLearningService
{
Task<LearnedTemplate> LearnAsync(TemplateLearningRequest request, IProgress<WordOperationProgress>? progress, CancellationToken cancellationToken);
}
public interface ITemplatePackageStore
{
void Save(string packagePath, LearnedTemplate template, string normalizedDocxPath);
(LearnedTemplate Template, string TemplateDocxPath, string WorkingDirectory) Open(string packagePath);
}
public interface ITemplateDocumentGenerator
{
Task<TemplateGenerationResult> GenerateAsync(TemplateGenerationRequest request, IProgress<WordOperationProgress>? progress, CancellationToken cancellationToken);
}
public static class DocumentInputValidation
{
public static void Validate(WordDocumentBuildRequest request)
{
if (!File.Exists(request.TemplatePath)) throw new FileNotFoundException("Шаблон DOCX не найден.", request.TemplatePath);
if (!File.Exists(request.BodyPath)) throw new FileNotFoundException("Файл тела документа не найден.", request.BodyPath);
if (!request.TemplatePath.EndsWith(".docx", StringComparison.OrdinalIgnoreCase)) throw new ArgumentException("Шаблон должен быть DOCX.");
if (Path.GetFullPath(request.TemplatePath).Equals(Path.GetFullPath(request.OutputDocxPath), StringComparison.OrdinalIgnoreCase)) throw new InvalidOperationException("Нельзя перезаписывать исходный шаблон.");
Directory.CreateDirectory(Path.GetDirectoryName(Path.GetFullPath(request.OutputDocxPath))!);
}
}
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\DocumentAutomation.Shared\DocumentAutomation.Shared.csproj" />
</ItemGroup>
</Project>
@@ -0,0 +1,77 @@
using System.Text.RegularExpressions;
using DocumentAutomation.Shared;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using DocxWorkbench.Core;
namespace DocxWorkbench.OpenXml;
public sealed class OpenXmlDocumentInspector : IDocumentInspector
{
private static readonly string[] KnownFields = ["PAGE", "NUMPAGES", "SECTIONPAGES", "FILENAME"];
public DocumentInspectionResult Inspect(string docxPath)
{
if (!File.Exists(docxPath)) throw new FileNotFoundException("DOCX was not found.", docxPath);
if (!docxPath.EndsWith(".docx", StringComparison.OrdinalIgnoreCase)) throw new UnsupportedDocumentFormatException($"Open XML inspector accepts DOCX only, received {Path.GetExtension(docxPath)}.");
var info = new FileInfo(docxPath); using var package = WordprocessingDocument.Open(docxPath, false); var main = package.MainDocumentPart ?? throw new InvalidDataException("The DOCX has no main document part."); var roots = GetRoots(main); var fields = roots.SelectMany(x => FindFields(x.Root, x.Part, x.Section)).ToArray(); var images = CountImages(main, roots);
return new DocumentInspectionResult
{
FilePath = docxPath, FileSize = info.Length, LastWriteTimeUtc = info.LastWriteTimeUtc, Sections = Math.Max(1, main.Document.Descendants<SectionProperties>().Count()), Paragraphs = main.Document.Descendants<Paragraph>().Count(), Tables = main.Document.Descendants<Table>().Count(), Images = images.RasterImages, ImageSummary = images,
Headers = main.HeaderParts.Count(), Footers = main.FooterParts.Count(), HasPageFields = fields.Any(x => x.Type == "PAGE"), HasNumPagesFields = fields.Any(x => x.Type == "NUMPAGES"), HasSectionPagesFields = fields.Any(x => x.Type == "SECTIONPAGES"), Fields = fields,
Bookmarks = main.Document.Descendants<BookmarkStart>().Count(), ContentControls = main.Document.Descendants<SdtElement>().Count(), Comments = main.GetPartsOfType<WordprocessingCommentsPart>().Count(), HasTrackedChanges = main.Document.Descendants<Inserted>().Any() || main.Document.Descendants<Deleted>().Any(), HasProtectedParts = main.Document.Descendants<DocumentProtection>().Any(),
StyleDetails = GetStyles(main), SectionAssignments = GetSectionAssignments(main), InsertionPoint = FindInsertionPoint(main.Document), BodyImportPlan = CreateBodyImportPlan(main), Warnings = FindWarnings(roots)
};
}
private static IReadOnlyList<(OpenXmlPartRootElement Root, string Part, int? Section)> GetRoots(MainDocumentPart main)
{
var roots = new List<(OpenXmlPartRootElement, string, int?)> { (main.Document, "MainDocumentPart", null) }; roots.AddRange(main.HeaderParts.Select((p, i) => ((OpenXmlPartRootElement)p.Header, $"HeaderPart[{i + 1}]", (int?)null))); roots.AddRange(main.FooterParts.Select((p, i) => ((OpenXmlPartRootElement)p.Footer, $"FooterPart[{i + 1}]", (int?)null))); if (main.DocumentSettingsPart?.Settings is not null) roots.Add((main.DocumentSettingsPart.Settings, "SettingsPart", null)); if (main.FootnotesPart?.Footnotes is not null) roots.Add((main.FootnotesPart.Footnotes, "FootnotesPart", null)); if (main.EndnotesPart?.Endnotes is not null) roots.Add((main.EndnotesPart.Endnotes, "EndnotesPart", null)); foreach (var comments in main.GetPartsOfType<WordprocessingCommentsPart>()) if (comments.Comments is not null) roots.Add((comments.Comments, "CommentsPart", null)); return roots;
}
private static IEnumerable<DocumentFieldInfo> FindFields(OpenXmlElement root, string part, int? section)
{
foreach (var simple in root.Descendants<SimpleField>()) { var type = NormalizeField(simple.Instruction?.Value); if (type is not null) yield return new DocumentFieldInfo { Type = type, Part = part, Section = section, Instruction = simple.Instruction?.Value }; }
var active = new List<string>(); foreach (var element in root.Descendants()) { if (element is FieldChar begin && begin.FieldCharType?.Value == FieldCharValues.Begin) active.Add(""); else if (element is FieldCode code && active.Count > 0) active[^1] += " " + code.Text; else if (element is FieldChar end && end.FieldCharType?.Value == FieldCharValues.End && active.Count > 0) { var raw = active[^1]; active.RemoveAt(active.Count - 1); var type = NormalizeField(raw); if (type is not null) yield return new DocumentFieldInfo { Type = type, Part = part, Section = section, Instruction = raw.Trim() }; } }
}
private static string? NormalizeField(string? value) { if (string.IsNullOrWhiteSpace(value)) return null; var normalized = Regex.Replace(value, @"\s+", " ").Trim(); var name = Regex.Match(normalized, @"(?i)^(PAGE|NUMPAGES|SECTIONPAGES|FILENAME)\b").Value.ToUpperInvariant(); return KnownFields.Contains(name) ? name : null; }
private static DocumentImageSummary CountImages(MainDocumentPart main, IReadOnlyList<(OpenXmlPartRootElement Root, string Part, int? Section)> roots)
{
var imageParts = new HashSet<OpenXmlPart>(); var drawings = roots.Sum(x => x.Root.Descendants<Drawing>().Count()); var shapes = roots.Sum(x => x.Root.Descendants<DocumentFormat.OpenXml.Vml.Shape>().Count()); var external = 0;
foreach (var image in main.GetPartsOfType<ImagePart>()) imageParts.Add(image); foreach (var header in main.HeaderParts) { foreach (var image in header.GetPartsOfType<ImagePart>()) imageParts.Add(image); external += header.ExternalRelationships.Count(x => x.Uri?.ToString().Contains("image", StringComparison.OrdinalIgnoreCase) == true); } foreach (var footer in main.FooterParts) { foreach (var image in footer.GetPartsOfType<ImagePart>()) imageParts.Add(image); external += footer.ExternalRelationships.Count(x => x.Uri?.ToString().Contains("image", StringComparison.OrdinalIgnoreCase) == true); }
external += main.ExternalRelationships.Count(x => x.Uri?.ToString().Contains("image", StringComparison.OrdinalIgnoreCase) == true); return new DocumentImageSummary { RasterImages = imageParts.Count, DrawingObjects = drawings, VmlShapes = shapes, ExternalImages = external };
}
private static IReadOnlyList<DocumentStyleInfo> GetStyles(MainDocumentPart main)
{
var usage = main.Document.Descendants<ParagraphStyleId>().GroupBy(x => x.Val?.Value ?? "").ToDictionary(x => x.Key, x => x.Count()); return main.StyleDefinitionsPart?.Styles?.Elements<Style>().Select(style => new DocumentStyleInfo { StyleId = style.StyleId?.Value ?? "", Name = style.StyleName?.Val?.Value, Type = style.Type is null ? null : style.Type.Value.ToString(), IsDefault = style.Default?.Value == true, BasedOn = style.BasedOn?.Val?.Value, UsageCount = usage.GetValueOrDefault(style.StyleId?.Value ?? "") }).Where(x => x.StyleId.Length > 0).ToArray() ?? [];
}
private static IReadOnlyList<SectionPartAssignment> GetSectionAssignments(MainDocumentPart main)
{
var result = new List<SectionPartAssignment>(); var sections = main.Document.Body?.Elements<SectionProperties>().ToArray() ?? []; for (var i = 0; i < sections.Length; i++) { var section = sections[i]; var headers = section.Elements<HeaderReference>().Select(x => $"{x.Type?.Value}:{PartName(main, x.Id?.Value)}").ToArray(); var footers = section.Elements<FooterReference>().Select(x => $"{x.Type?.Value}:{PartName(main, x.Id?.Value)}").ToArray(); result.Add(new SectionPartAssignment { Section = i + 1, Headers = headers, Footers = footers, LinkToPrevious = i > 0 && headers.Length == 0 && footers.Length == 0 }); } return result;
}
private static string PartName(MainDocumentPart main, string? id) { if (id is null) return "missing"; try { return main.GetPartById(id).Uri.ToString(); } catch { return "unresolved:" + id; } }
private static InsertionPointInfo FindInsertionPoint(Document root) { if (root.Descendants<SdtElement>().Any(x => string.Equals(x.SdtProperties?.GetFirstChild<Tag>()?.Val?.Value, "DOC_BODY", StringComparison.OrdinalIgnoreCase))) return new InsertionPointInfo { Type = "ContentControl", Location = "MainDocumentPart" }; if (root.Descendants<BookmarkStart>().Any(x => string.Equals(x.Name?.Value, "DOC_BODY", StringComparison.OrdinalIgnoreCase))) return new InsertionPointInfo { Type = "Bookmark", Location = "MainDocumentPart" }; if (root.InnerText.Contains("{{DOC_BODY}}", StringComparison.Ordinal)) return new InsertionPointInfo { Type = "TextMarker", Location = "MainDocumentPart" }; return new InsertionPointInfo { Type = "None" }; }
private static IReadOnlyList<InspectionWarning> FindWarnings(IReadOnlyList<(OpenXmlPartRootElement Root, string Part, int? Section)> roots) { var result = new List<InspectionWarning>(); foreach (var root in roots) foreach (Match match in Regex.Matches(root.Root.InnerText, @"(?i)\b(2019|legacy|старый)\b")) result.Add(new InspectionWarning { Code = "PossibleLegacyProjectData", Message = "A value matched the legacy-project heuristic.", Part = root.Part, Location = "text", MatchedValue = match.Value, DetectionRule = "word-boundary: 2019|legacy|старый" }); return result; }
private static BodyImportPlan CreateBodyImportPlan(MainDocumentPart main)
{
var body = main.Document.Body; if (body is null) return new BodyImportPlan { ParagraphCount = 0, TableCount = 0, InlineShapeCount = 0, FloatingShapeCount = 0, InternalSectionBreakCount = 0, PageBreakCount = 0, IncludedStories = ["wdMainTextStory"], ExcludedStories = ["wdPrimaryHeaderStory", "wdFirstPageHeaderStory", "wdEvenPagesHeaderStory", "wdPrimaryFooterStory", "wdFirstPageFooterStory", "wdEvenPagesFooterStory"], Warnings = [] };
var drawings = body.Descendants<Drawing>(); return new BodyImportPlan { ParagraphCount = body.Descendants<Paragraph>().Count(), TableCount = body.Descendants<Table>().Count(), InlineShapeCount = drawings.Count(x => x.Ancestors<DocumentFormat.OpenXml.Drawing.Wordprocessing.Inline>().Any()), FloatingShapeCount = drawings.Count(x => x.Ancestors<DocumentFormat.OpenXml.Drawing.Wordprocessing.Anchor>().Any()), InternalSectionBreakCount = Math.Max(0, body.Descendants<SectionProperties>().Count() - 1), PageBreakCount = body.Descendants<Break>().Count(x => x.Type?.Value == BreakValues.Page), IncludedStories = ["wdMainTextStory"], ExcludedStories = ["wdPrimaryHeaderStory", "wdFirstPageHeaderStory", "wdEvenPagesHeaderStory", "wdPrimaryFooterStory", "wdFirstPageFooterStory", "wdEvenPagesFooterStory"], Warnings = ["Source headers, footers, page setup and final section properties are excluded."] };
}
}
public sealed class TextDocumentInspector : IDocumentInspector
{
public DocumentInspectionResult Inspect(string path) { if (!File.Exists(path)) throw new FileNotFoundException("TXT was not found.", path); if (!path.EndsWith(".txt", StringComparison.OrdinalIgnoreCase)) throw new UnsupportedDocumentFormatException($"TXT inspector accepts TXT only, received {Path.GetExtension(path)}."); var info = new FileInfo(path); return new DocumentInspectionResult { FilePath = path, FileSize = info.Length, LastWriteTimeUtc = info.LastWriteTimeUtc, Sections = 1, Paragraphs = File.ReadAllLines(path).Length, InsertionPoint = new InsertionPointInfo { Type = "None" } }; }
}
public sealed class DocumentInspector : IDocumentInspector
{
private readonly OpenXmlDocumentInspector _inner = new();
public DocumentInspectionResult Inspect(string docxPath) => _inner.Inspect(docxPath);
}
@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\DocumentAutomation.Shared\DocumentAutomation.Shared.csproj" />
<ProjectReference Include="..\DocxWorkbench.Core\DocxWorkbench.Core.csproj" />
<PackageReference Include="DocumentFormat.OpenXml" Version="3.3.0" />
</ItemGroup>
</Project>
@@ -0,0 +1,73 @@
using System.IO.Compression;
using System.Security.Cryptography;
using System.Text.Json;
using DocumentAutomation.Shared;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using DocxWorkbench.Core;
namespace DocxWorkbench.OpenXml;
public sealed class TemplatePackageStore : ITemplatePackageStore
{
private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true, PropertyNamingPolicy = JsonNamingPolicy.CamelCase };
public void Save(string packagePath, LearnedTemplate template, string normalizedDocxPath)
{
Directory.CreateDirectory(Path.GetDirectoryName(Path.GetFullPath(packagePath))!);
if (File.Exists(packagePath)) File.Delete(packagePath);
using var archive = ZipFile.Open(packagePath, ZipArchiveMode.Create);
WriteJson(archive, "manifest.json", new { schemaVersion = "1.0", templateId = template.TemplateId, name = template.Name, sourceFileName = template.SourceFileName, sourceSha256 = template.SourceSha256, normalizedSha256 = template.NormalizedSha256, createdAt = template.CreatedAt, minimumEngineVersion = template.MinimumEngineVersion });
WriteJson(archive, "source-metadata.json", template.Source);
WriteJson(archive, "page-archetypes.json", template.PageArchetypes);
WriteJson(archive, "fixed-regions.json", template.FixedRegions.Concat(template.RepeatingRegions.Select(x => new FixedRegion { Id = x.Id, Name = x.Name, Kind = x.Kind, Pages = x.Pages, Fingerprint = x.Fingerprint, Location = x.Location })).ToArray());
WriteJson(archive, "slots.json", template.Slots);
WriteJson(archive, "field-bindings.json", template.FieldBindings);
WriteJson(archive, "mapping-rules.json", template.Suggestions);
WriteJson(archive, "validation-profile.json", new { schemaVersion = "1.0", requiredSlots = template.Slots.Where(x => x.IsRequired).Select(x => x.ContentControlTag).ToArray(), allowTrackedChanges = false, allowExternalLinks = false });
var entry = archive.CreateEntry("template.docx", CompressionLevel.Optimal); using var input = File.OpenRead(normalizedDocxPath); using var output = entry.Open(); input.CopyTo(output);
}
public (LearnedTemplate Template, string TemplateDocxPath, string WorkingDirectory) Open(string packagePath)
{
if (!File.Exists(packagePath)) throw new FileNotFoundException("Template package was not found.", packagePath);
var work = Path.Combine(Path.GetTempPath(), "DocumentAutomation", "template-" + Guid.NewGuid().ToString("N")); Directory.CreateDirectory(work); ZipFile.ExtractToDirectory(packagePath, work);
var manifest = ReadJson<Manifest>(Path.Combine(work, "manifest.json")); if (manifest.SchemaVersion != "1.0") throw new InvalidDataException($"Unsupported template schema: {manifest.SchemaVersion}");
var template = new LearnedTemplate { TemplateId = manifest.TemplateId, Name = manifest.Name, SourceFileName = manifest.SourceFileName, SourceSha256 = manifest.SourceSha256, NormalizedSha256 = manifest.NormalizedSha256, CreatedAt = manifest.CreatedAt, MinimumEngineVersion = manifest.MinimumEngineVersion, Source = ReadJson<SourceDocumentStructure>(Path.Combine(work, "source-metadata.json")), PageArchetypes = ReadJson<List<PageArchetype>>(Path.Combine(work, "page-archetypes.json")), FixedRegions = ReadJson<List<FixedRegion>>(Path.Combine(work, "fixed-regions.json")).Where(x => x.Kind != TemplateRegionKind.Repeating).ToArray(), RepeatingRegions = ReadJson<List<FixedRegion>>(Path.Combine(work, "fixed-regions.json")).Where(x => x.Kind == TemplateRegionKind.Repeating).Select(x => new RepeatingRegion { Id = x.Id, Name = x.Name, Pages = x.Pages, Fingerprint = x.Fingerprint, Kind = x.Kind, Location = x.Location }).ToArray(), Slots = ReadJson<List<TemplateSlot>>(Path.Combine(work, "slots.json")), FieldBindings = ReadJson<List<TemplateFieldBinding>>(Path.Combine(work, "field-bindings.json")), Suggestions = ReadJson<List<TemplateLearningSuggestion>>(Path.Combine(work, "mapping-rules.json")) };
var docx = Path.Combine(work, "template.docx"); if (!File.Exists(docx)) throw new InvalidDataException("Template package does not contain template.docx."); return (template, docx, work);
}
private static void WriteJson<T>(ZipArchive archive, string name, T value) { var entry = archive.CreateEntry(name, CompressionLevel.Optimal); using var writer = new StreamWriter(entry.Open()); writer.Write(JsonSerializer.Serialize(value, JsonOptions)); }
private static T ReadJson<T>(string path) => JsonSerializer.Deserialize<T>(File.ReadAllText(path), JsonOptions) ?? throw new InvalidDataException($"Invalid template package entry: {Path.GetFileName(path)}");
private sealed record Manifest(string SchemaVersion, string TemplateId, string Name, string SourceFileName, string SourceSha256, string NormalizedSha256, string CreatedAt, string MinimumEngineVersion);
}
public sealed class TemplateLearningService : ITemplateLearningService
{
private readonly IWordDocumentNormalizer _normalizer;
private readonly ITemplatePackageStore _packages;
private readonly IDocumentInspector _inspector;
public TemplateLearningService(IWordDocumentNormalizer normalizer, ITemplatePackageStore packages, IDocumentInspector? inspector = null) { _normalizer = normalizer; _packages = packages; _inspector = inspector ?? new OpenXmlDocumentInspector(); }
public async Task<LearnedTemplate> LearnAsync(TemplateLearningRequest request, IProgress<WordOperationProgress>? progress, CancellationToken cancellationToken)
{
if (!File.Exists(request.SourcePath)) throw new FileNotFoundException("Template source was not found.", request.SourcePath);
var normalized = await _normalizer.NormalizeAsync(new DocumentNormalizationRequest { SourcePath = request.SourcePath, WorkingDirectory = Path.Combine(Path.GetTempPath(), "DocumentAutomation", "learning-" + Guid.NewGuid().ToString("N")) }, progress, cancellationToken);
try
{
progress?.Report(new WordOperationProgress { Stage = "AnalyzeTemplate", Message = "Inspecting normalized template" });
EnsureBodyMarker(normalized.NormalizedPath); var normalizedHash = Convert.ToHexString(SHA256.HashData(File.ReadAllBytes(normalized.NormalizedPath))); var inspection = _inspector.Inspect(normalized.NormalizedPath) with { FilePath = "template.docx" }; var pages = Math.Max(1, normalized.PageCount ?? inspection.Sections); var archetypes = CreateArchetypes(pages, inspection); var repeated = FindRepeatedRegions(inspection); var slots = request.CreateDefaultSlots ? DefaultSlots() : [];
var source = new SourceDocumentStructure { SourcePath = Path.GetFileName(request.SourcePath), Sha256 = normalized.SourceSha256, NormalizedPath = "template.docx", NormalizedSha256 = normalizedHash, PageCount = pages, SectionCount = inspection.Sections, Stories = ["wdMainTextStory", "wdPrimaryHeaderStory", "wdFirstPageHeaderStory", "wdEvenPagesHeaderStory", "wdPrimaryFooterStory", "wdFootnotesStory", "wdEndnotesStory", "wdCommentsStory", "wdTextFrameStory"], RepeatedFingerprints = repeated.Select(x => x.Fingerprint).ToArray(), Inspection = inspection };
var learned = new LearnedTemplate { TemplateId = Guid.NewGuid().ToString("D"), Name = request.TemplateName, SourceFileName = Path.GetFileName(request.SourcePath), SourceSha256 = normalized.SourceSha256, NormalizedSha256 = normalizedHash, CreatedAt = DateTimeOffset.Now.ToString("O"), Source = source, PageArchetypes = archetypes, FixedRegions = [], RepeatingRegions = repeated, Slots = slots, FieldBindings = [], Suggestions = BuildSuggestions(inspection, slots) };
_packages.Save(request.OutputPackagePath, learned, normalized.NormalizedPath); return learned;
}
finally { TryDeleteDirectory(normalized.NormalizedPath, normalized.SourcePath); }
}
private static void EnsureBodyMarker(string path) { using var doc = WordprocessingDocument.Open(path, true); var main = doc.MainDocumentPart ?? throw new InvalidDataException("Main document part is missing."); var body = main.Document.Body ?? throw new InvalidDataException("Document body is missing."); if (main.Document.InnerText.Contains("{{DOC_BODY}}", StringComparison.Ordinal)) return; body.AppendChild(new Paragraph(new Run(new Text("{{DOC_BODY}}")))); main.Document.Save(); }
private static IReadOnlyList<PageArchetype> CreateArchetypes(int pages, DocumentInspectionResult inspection) { var result = new List<PageArchetype> { new() { Id = "FirstPage", Name = "FirstPage", IsFirstPage = true, IsRepeating = false, ExamplePages = [1], FixedRegionIds = [], SlotIds = [] } }; if (pages > 1) result.Add(new PageArchetype { Id = "RepeatingPage", Name = "RepeatingPage", IsRepeating = true, ExamplePages = Enumerable.Range(2, pages - 1).ToArray(), FixedRegionIds = [], SlotIds = [] }); return result; }
private static IReadOnlyList<RepeatingRegion> FindRepeatedRegions(DocumentInspectionResult inspection) => inspection.SectionAssignments.GroupBy(x => string.Join("|", x.Headers.Concat(x.Footers))).Where(x => x.Count() > 1 && x.Key.Length > 0).Select((x, i) => new RepeatingRegion { Id = "region-" + (i + 1), Name = "Repeated header/footer", Pages = x.Select(y => y.Section).ToArray(), Fingerprint = Convert.ToHexString(SHA256.HashData(System.Text.Encoding.UTF8.GetBytes(x.Key))), Kind = TemplateRegionKind.Repeating, Location = "section assignments" }).ToArray();
private static IReadOnlyList<TemplateSlot> DefaultSlots() => new[] { "PROJECT.CODE", "PROJECT.NAME", "PROJECT.OBJECT", "DOCUMENT.CODE", "DOCUMENT.TITLE", "DOCUMENT.STAGE", "DOCUMENT.SHEET", "DOCUMENT.SHEET_COUNT", "REGISTER.CONTENTS", "REGISTER.MAIN_DRAWING_SETS", "REGISTER.DRAWINGS", "REGISTER.REFERENCE_DOCUMENTS", "DOCUMENT.GENERAL_NOTES", "DOCUMENT.MAIN_BODY" }.Select(x => new TemplateSlot { Id = x, Name = x, Kind = x == "DOCUMENT.MAIN_BODY" ? TemplateSlotKind.MainBody : TemplateSlotKind.PlainText, ContentControlTag = x, IsRequired = x is "DOCUMENT.CODE" or "DOCUMENT.TITLE" or "DOCUMENT.MAIN_BODY", Occurrences = [] }).ToArray();
private static IReadOnlyList<TemplateLearningSuggestion> BuildSuggestions(DocumentInspectionResult inspection, IReadOnlyList<TemplateSlot> slots) => [new TemplateLearningSuggestion { SuggestionType = "PageArchetype", SourceLocation = "document", ProposedName = inspection.Sections > 1 ? "FirstPage + RepeatingPage" : "SinglePage", Confidence = 0.5, Reason = "Initial deterministic proposal based on document sections." }];
private static void TryDeleteDirectory(string normalized, string source) { var directory = Path.GetDirectoryName(normalized); if (directory is not null && !Path.GetFullPath(source).Equals(Path.GetFullPath(normalized), StringComparison.OrdinalIgnoreCase)) try { if (Directory.Exists(directory)) Directory.Delete(directory, true); } catch { } }
}
@@ -0,0 +1,80 @@
using System.Runtime.InteropServices;
using System.IO.Compression;
using System.Text;
using System.Xml.Linq;
using DocumentAutomation.Shared;
using DocxWorkbench.Core;
namespace DocxWorkbench.WordInterop;
public sealed class DocxBodyImporter : IDocxBodyImporter, IDisposable
{
private readonly StaWordQueue _queue;
private readonly bool _ownsQueue;
public DocxBodyImporter() : this(new StaWordQueue(), true) { }
internal DocxBodyImporter(StaWordQueue queue) : this(queue, false) { }
private DocxBodyImporter(StaWordQueue queue, bool ownsQueue) { _queue = queue; _ownsQueue = ownsQueue; }
public Task<BodyImportResult> ImportAsync(DocxBodyImportRequest request, IProgress<WordOperationProgress>? progress, CancellationToken cancellationToken)
=> _queue.Enqueue(() => ImportStandalone(request, progress, cancellationToken), cancellationToken);
private BodyImportResult ImportStandalone(DocxBodyImportRequest request, IProgress<WordOperationProgress>? progress, CancellationToken token)
{
dynamic? application = null; var proxies = new List<object?>(); try { var type = Type.GetTypeFromProgID("Word.Application", false) ?? throw new WordNotInstalledException("Microsoft Word is not installed or is not registered in COM."); application = Activator.CreateInstance(type) ?? throw new WordAutomationException("Could not create Word.Application."); application.Visible = false; application.DisplayAlerts = 0; return ImportOnSta(application, null, request.DestinationRangeHandle, request, progress, token, proxies); } finally { try { if (application is not null) application.Quit(0); } catch { } Release(application); ReleaseAll(proxies); }
}
internal BodyImportResult ImportOnSta(dynamic application, dynamic destinationDocument, dynamic destinationRange, DocxBodyImportRequest request, IProgress<WordOperationProgress>? progress, CancellationToken token, List<object?> proxies)
{
if (!File.Exists(request.SourcePath)) throw new FileNotFoundException("Source DOCX was not found.", request.SourcePath); if (!request.SourcePath.EndsWith(".docx", StringComparison.OrdinalIgnoreCase)) throw new UnsupportedDocumentFormatException("DocxBodyImporter accepts DOCX only.");
var plan = BuildPlanFromOpenXml(request.SourcePath);
var temp = Path.Combine(Path.GetTempPath(), "DocumentAutomation", "body-" + Guid.NewGuid().ToString("N")); Directory.CreateDirectory(temp); var sourceCopy = Path.Combine(temp, "source.docx"); File.Copy(request.SourcePath, sourceCopy, true); NormalizeSourceSections(sourceCopy, request.SectionBreakPolicy); dynamic? sourceDocument = null; dynamic? sourceDocuments = null; dynamic? sourceRange = null; dynamic? importRange = null; var localProxies = new List<object?>();
try
{
token.ThrowIfCancellationRequested(); progress?.Report(new WordOperationProgress { Stage = "OpenSource", Message = "Opening source DOCX read-only" }); sourceDocuments = Own(application.Documents, localProxies); sourceDocument = Own(sourceDocuments.Open(sourceCopy, true, false, false), localProxies); dynamic stories = Own(sourceDocument.StoryRanges, localProxies); sourceRange = Own(stories[1], localProxies); var start = (int)sourceRange.Start; var end = (int)sourceRange.End; if (end > start) end -= 1; importRange = Own(sourceDocument.Range(start, end), localProxies);
var warnings = new List<string>(); var sourceRevisions = TryCount(importRange.Revisions); var sourceComments = TryCount(importRange.Comments); if (sourceRevisions > 0) { if (request.RevisionPolicy == RevisionImportPolicy.BlockImport) throw new WordAutomationException("Source DOCX contains tracked changes and RevisionPolicy is BlockImport."); if (request.RevisionPolicy == RevisionImportPolicy.AcceptAll) importRange.Revisions.AcceptAll(); if (request.RevisionPolicy == RevisionImportPolicy.RejectAll) importRange.Revisions.RejectAll(); if (request.RevisionPolicy == RevisionImportPolicy.PreserveAndWarn) warnings.Add($"Tracked changes preserved: {sourceRevisions}."); } if (sourceComments > 0) { if (request.CommentPolicy == CommentImportPolicy.BlockImport) throw new WordAutomationException("Source DOCX contains comments and CommentPolicy is BlockImport."); if (request.CommentPolicy == CommentImportPolicy.PreserveAndWarn) warnings.Add($"Comments preserved: {sourceComments}."); }
progress?.Report(new WordOperationProgress { Stage = "FormattedText", Message = "Copying only the main text story" }); destinationRange.FormattedText = importRange.FormattedText; if (request.CommentPolicy == CommentImportPolicy.Exclude) RemoveImportedComments(destinationRange); if (request.RevisionPolicy == RevisionImportPolicy.PreserveAndWarn) warnings.Add("Revision policy: PreserveAndWarn.");
plan = plan with { Warnings = warnings }; return new BodyImportResult { Plan = plan, InsertionMode = "FormattedText", Warnings = warnings };
}
finally { try { if (sourceDocument is not null) sourceDocument.Close(0); } catch { } ReleaseAll(localProxies); TryDelete(temp); }
}
private static BodyImportPlan BuildPlanFromOpenXml(string path)
{
using var archive = ZipFile.OpenRead(path);
var entry = archive.GetEntry("word/document.xml") ?? throw new InvalidDataException("Source DOCX document.xml is missing.");
using var reader = new StreamReader(entry.Open());
var document = XDocument.Parse(reader.ReadToEnd(), LoadOptions.PreserveWhitespace);
var w = XNamespace.Get("http://schemas.openxmlformats.org/wordprocessingml/2006/main");
var wp = XNamespace.Get("http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
var body = document.Root?.Element(w + "body") ?? throw new InvalidDataException("Source DOCX body is missing.");
var sectionMarks = body.Descendants(w + "sectPr").ToList();
var internalSections = Math.Max(0, sectionMarks.Count - 1);
var pageBreaks = body.Descendants(w + "br").Count(x => string.Equals((string?)x.Attribute(w + "type"), "page", StringComparison.OrdinalIgnoreCase));
return new BodyImportPlan
{
ParagraphCount = body.Descendants(w + "p").Count(),
TableCount = body.Descendants(w + "tbl").Count(),
InlineShapeCount = body.Descendants(wp + "inline").Count(),
FloatingShapeCount = body.Descendants(wp + "anchor").Count(),
InternalSectionBreakCount = internalSections,
PageBreakCount = pageBreaks,
IncludedStories = ["wdMainTextStory"],
ExcludedStories = ["wdPrimaryHeaderStory", "wdFirstPageHeaderStory", "wdEvenPagesHeaderStory", "wdPrimaryFooterStory", "wdFirstPageFooterStory", "wdEvenPagesFooterStory"],
Warnings = []
};
}
private static void NormalizeSourceSections(string path, SectionBreakPolicy policy)
{
if (policy == SectionBreakPolicy.ConvertToParagraph) policy = SectionBreakPolicy.Remove;
using var archive = ZipFile.Open(path, ZipArchiveMode.Update); var entry = archive.GetEntry("word/document.xml") ?? throw new InvalidDataException("Source DOCX document.xml is missing."); string xml; using (var reader = new StreamReader(entry.Open())) xml = reader.ReadToEnd(); var w = XNamespace.Get("http://schemas.openxmlformats.org/wordprocessingml/2006/main"); var document = XDocument.Parse(xml, LoadOptions.PreserveWhitespace); var body = document.Root?.Element(w + "body") ?? throw new InvalidDataException("Source DOCX body is missing."); var sections = body.Descendants(w + "sectPr").ToList(); for (var i = 0; i < sections.Count; i++) { var section = sections[i]; var parent = section.Parent; var paragraph = parent?.Name == w + "pPr" ? parent.Parent : null; section.Remove(); if (i < sections.Count - 1 && policy == SectionBreakPolicy.ConvertToPageBreak && paragraph is not null) paragraph.Add(new XElement(w + "r", new XElement(w + "br", new XAttribute(w + "type", "page")))); } entry.Delete(); var replacement = archive.CreateEntry("word/document.xml", CompressionLevel.Optimal); using var stream = replacement.Open(); using var writer = new StreamWriter(stream, new UTF8Encoding(false)); document.Save(writer, SaveOptions.DisableFormatting);
}
private static void RemoveImportedComments(dynamic range) { try { dynamic comments = range.Comments; for (var i = comments.Count; i >= 1; i--) comments[i].Delete(); } catch { } }
private static int TryCount(dynamic collection) { try { return (int)collection.Count; } catch { return 0; } }
private static T? Own<T>(T? value, List<object?> proxies) where T : class { if (value is not null) proxies.Add(value); return value; }
private static void Release(object? value) { try { if (value is not null && Marshal.IsComObject(value)) Marshal.FinalReleaseComObject(value); } catch { } }
private static void ReleaseAll(IEnumerable<object?> values) { foreach (var value in values.Reverse()) Release(value); }
private static void TryDelete(string path) { try { if (Directory.Exists(path)) Directory.Delete(path, true); } catch { } }
public void Dispose() { if (_ownsQueue) _queue.Dispose(); }
}
@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\DocumentAutomation.Shared\DocumentAutomation.Shared.csproj" />
<ProjectReference Include="..\DocxWorkbench.Core\DocxWorkbench.Core.csproj" />
</ItemGroup>
</Project>
@@ -0,0 +1,3 @@
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("DocxWorkbench.Tests")]
@@ -0,0 +1,60 @@
using System.Collections.Concurrent;
namespace DocxWorkbench.WordInterop;
internal sealed class StaWordQueue : IDisposable
{
private readonly BlockingCollection<Action> _jobs = new();
private readonly Thread _thread;
private readonly ManualResetEventSlim _stopped = new(false);
private readonly object _lifetimeGate = new();
private bool _accepting = true;
public StaWordQueue()
{
_thread = new Thread(Run) { IsBackground = true, Name = "DocumentAutomation.Word.STA" };
_thread.SetApartmentState(ApartmentState.STA);
_thread.Start();
}
public Task<T> Enqueue<T>(Func<T> operation, CancellationToken cancellationToken)
{
if (operation is null) throw new ArgumentNullException(nameof(operation));
if (cancellationToken.IsCancellationRequested) return Task.FromCanceled<T>(cancellationToken);
var completion = new TaskCompletionSource<T>(TaskCreationOptions.RunContinuationsAsynchronously);
lock (_lifetimeGate)
{
if (!_accepting) throw new ObjectDisposedException(nameof(StaWordQueue));
try { _jobs.Add(() => Execute(operation, completion, cancellationToken), cancellationToken); }
catch (InvalidOperationException) { throw new ObjectDisposedException(nameof(StaWordQueue)); }
catch (OperationCanceledException) { completion.TrySetCanceled(cancellationToken); }
}
return completion.Task;
}
private static void Execute<T>(Func<T> operation, TaskCompletionSource<T> completion, CancellationToken cancellationToken)
{
try { cancellationToken.ThrowIfCancellationRequested(); completion.TrySetResult(operation()); }
catch (OperationCanceledException ex) { completion.TrySetCanceled(ex.CancellationToken); }
catch (Exception ex) { completion.TrySetException(ex); }
}
private void Run()
{
try { foreach (var job in _jobs.GetConsumingEnumerable()) job(); }
finally { _stopped.Set(); }
}
public void Dispose()
{
lock (_lifetimeGate)
{
if (!_accepting) return;
_accepting = false;
_jobs.CompleteAdding();
}
if (Thread.CurrentThread != _thread) _stopped.Wait(TimeSpan.FromSeconds(30));
// Do not dispose the collection or stop event while the STA worker may
// still be draining it. The worker owns the final enumeration lifetime.
}
}
@@ -0,0 +1,49 @@
using System.IO.Compression;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using System.Xml.Linq;
using DocumentAutomation.Shared;
using DocxWorkbench.Core;
namespace DocxWorkbench.WordInterop;
public sealed class TemplateDocumentGenerator : ITemplateDocumentGenerator, IDisposable
{
private readonly ITemplatePackageStore _packages;
private readonly IWordDocumentNormalizer _normalizer;
private readonly WordDocumentService _word = new();
private readonly IDocumentInspector _inspector;
public TemplateDocumentGenerator(ITemplatePackageStore packages, IWordDocumentNormalizer normalizer, IDocumentInspector inspector) { _packages = packages; _normalizer = normalizer; _inspector = inspector; }
public async Task<TemplateGenerationResult> GenerateAsync(TemplateGenerationRequest request, IProgress<WordOperationProgress>? progress, CancellationToken cancellationToken)
{
var opened = _packages.Open(request.TemplatePackagePath); DocumentNormalizationResult? normalizedBody = null; var outputPdf = Path.ChangeExtension(request.OutputDocxPath, ".pdf");
try
{
var bodyPath = request.ContentSourcePath;
if (Path.GetExtension(bodyPath).Equals(".doc", StringComparison.OrdinalIgnoreCase)) { normalizedBody = await _normalizer.NormalizeAsync(new DocumentNormalizationRequest { SourcePath = bodyPath, WorkingDirectory = Path.Combine(opened.WorkingDirectory, "body") }, progress, cancellationToken); bodyPath = normalizedBody.NormalizedPath; }
var workingTemplate = Path.Combine(opened.WorkingDirectory, "working-template.docx"); File.Copy(opened.TemplateDocxPath, workingTemplate, true); ReplaceScalarTokens(workingTemplate, request.ScalarValues); progress?.Report(new WordOperationProgress { Stage = "Generate", Message = "Building document from learned template" });
var result = await _word.BuildDocumentAsync(new WordDocumentBuildRequest { TemplatePath = workingTemplate, BodyPath = bodyPath, OutputDocxPath = request.OutputDocxPath }, progress is null ? null : new Progress<string>(x => progress.Report(new WordOperationProgress { Stage = "Generate", Message = x })), cancellationToken); await _word.ExportPdfAsync(result.OutputDocxPath, outputPdf, cancellationToken);
var validation = Validate(result.OutputDocxPath, opened.Template.TemplateId); var validationPath = Path.ChangeExtension(request.OutputDocxPath, ".validation.json"); File.WriteAllText(validationPath, JsonSerializer.Serialize(validation, new JsonSerializerOptions { WriteIndented = true })); return new TemplateGenerationResult { OutputDocxPath = result.OutputDocxPath, OutputPdfPath = outputPdf, GenerationLogPath = result.LogPath, ValidationLogPath = validationPath, Validation = validation };
}
finally { TryDeleteDirectory(opened.WorkingDirectory); }
}
private IReadOnlyList<RuleEvaluationResult> Validate(string output, string templateId)
{
var inspection = _inspector.Inspect(output); var result = new List<RuleEvaluationResult> { new() { RuleId = "DOCX_EXISTS", Status = File.Exists(output) ? RuleEvaluationStatus.Pass : RuleEvaluationStatus.Fail, Message = "Output DOCX exists.", DocumentLocation = output }, new() { RuleId = "NO_BODY_MARKER", Status = inspection.InsertionPoint.Type == "None" ? RuleEvaluationStatus.Pass : RuleEvaluationStatus.NeedsReview, Message = inspection.InsertionPoint.Type == "None" ? "No unresolved insertion marker remains." : "An insertion marker remains in the output.", DocumentLocation = "word/document.xml" }, new() { RuleId = "NO_TRACKED_CHANGES", Status = inspection.HasTrackedChanges ? RuleEvaluationStatus.Fail : RuleEvaluationStatus.Pass, Message = inspection.HasTrackedChanges ? "Tracked changes remain." : "No tracked changes detected." }, new() { RuleId = "TEMPLATE_ID", Status = RuleEvaluationStatus.Pass, Message = $"Generated from template {templateId}." } }; return result;
}
private static void ReplaceScalarTokens(string path, IReadOnlyDictionary<string, string> values)
{
if (values.Count == 0) return; using var archive = ZipFile.Open(path, ZipArchiveMode.Update); var w = XNamespace.Get("http://schemas.openxmlformats.org/wordprocessingml/2006/main");
foreach (var entry in archive.Entries.Where(x => x.FullName.StartsWith("word/", StringComparison.OrdinalIgnoreCase) && x.FullName.EndsWith(".xml", StringComparison.OrdinalIgnoreCase)).ToArray())
{
XDocument document; using (var reader = new StreamReader(entry.Open())) document = XDocument.Parse(reader.ReadToEnd(), LoadOptions.PreserveWhitespace); var changed = false; foreach (var text in document.Descendants(w + "t")) { var value = text.Value; foreach (var pair in values) { var token = "{{" + pair.Key + "}}"; if (!value.Contains(token, StringComparison.OrdinalIgnoreCase)) continue; value = value.Replace(token, pair.Value, StringComparison.OrdinalIgnoreCase); changed = true; } text.Value = value; } if (!changed) continue; entry.Delete(); var replacement = archive.CreateEntry(entry.FullName, CompressionLevel.Optimal); using var stream = replacement.Open(); using var writer = new StreamWriter(stream, new UTF8Encoding(false)); document.Save(writer, SaveOptions.DisableFormatting);
}
}
private static void TryDeleteDirectory(string path) { try { if (Directory.Exists(path)) Directory.Delete(path, true); } catch { } }
public void Dispose() { _word.Dispose(); if (_normalizer is IDisposable disposable) disposable.Dispose(); }
}
@@ -0,0 +1,42 @@
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using DocumentAutomation.Shared;
using DocxWorkbench.Core;
namespace DocxWorkbench.WordInterop;
public sealed class WordDocumentNormalizer : IWordDocumentNormalizer, IDisposable
{
private readonly StaWordQueue _queue;
public WordDocumentNormalizer() : this(new StaWordQueue(), true) { }
internal WordDocumentNormalizer(StaWordQueue queue) : this(queue, false) { }
private readonly bool _ownsQueue;
private WordDocumentNormalizer(StaWordQueue queue, bool ownsQueue) { _queue = queue; _ownsQueue = ownsQueue; }
public Task<DocumentNormalizationResult> NormalizeAsync(DocumentNormalizationRequest request, IProgress<WordOperationProgress>? progress, CancellationToken cancellationToken)
=> _queue.Enqueue(() => NormalizeOnSta(request, progress, cancellationToken), cancellationToken);
private static DocumentNormalizationResult NormalizeOnSta(DocumentNormalizationRequest request, IProgress<WordOperationProgress>? progress, CancellationToken token)
{
if (!File.Exists(request.SourcePath)) throw new FileNotFoundException("Document source was not found.", request.SourcePath);
var extension = Path.GetExtension(request.SourcePath);
if (!extension.Equals(".doc", StringComparison.OrdinalIgnoreCase) && !extension.Equals(".docx", StringComparison.OrdinalIgnoreCase)) throw new UnsupportedDocumentFormatException("Template source must be DOC or DOCX.");
var started = Stopwatch.StartNew(); var sourceHash = Hash(request.SourcePath); var work = Path.GetFullPath(request.WorkingDirectory); Directory.CreateDirectory(work); var normalized = Path.Combine(work, "normalized.docx"); token.ThrowIfCancellationRequested();
if (extension.Equals(".docx", StringComparison.OrdinalIgnoreCase)) { File.Copy(request.SourcePath, normalized, true); return new DocumentNormalizationResult { SourcePath = request.SourcePath, NormalizedPath = normalized, SourceSha256 = sourceHash, NormalizedSha256 = Hash(normalized), WasConverted = false, Duration = started.Elapsed }; }
dynamic? application = null; dynamic? documents = null; dynamic? document = null; var proxies = new List<object?>();
try
{
progress?.Report(new WordOperationProgress { Stage = "NormalizeDoc", Message = "Opening binary DOC read-only" }); var wordType = Type.GetTypeFromProgID("Word.Application", false) ?? throw new WordNotInstalledException("Microsoft Word is not installed or is not registered in COM."); application = Own(Activator.CreateInstance(wordType), proxies) ?? throw new WordAutomationException("Could not create Word.Application."); application.Visible = false; application.DisplayAlerts = 0; if (request.DisableMacros) { try { application.AutomationSecurity = 3; } catch { } } documents = Own(application.Documents, proxies); document = Own(documents.Open(request.SourcePath, false, true, false), proxies) ?? throw new WordAutomationException("Word could not open the DOC source read-only."); token.ThrowIfCancellationRequested(); progress?.Report(new WordOperationProgress { Stage = "NormalizeDoc", Message = "Saving temporary DOCX" }); document.SaveAs2(normalized, 12); int? pageCount = null; try { document.Repaginate(); pageCount = (int)document.ComputeStatistics(2); } catch { } document.Close(0); document = null; return new DocumentNormalizationResult { SourcePath = request.SourcePath, NormalizedPath = normalized, SourceSha256 = sourceHash, NormalizedSha256 = Hash(normalized), WasConverted = true, Duration = started.Elapsed, PageCount = pageCount };
}
catch (WordNotInstalledException) { throw; }
catch (WordAutomationException) { throw; }
catch (Exception ex) { throw new WordAutomationException("DOC normalization failed.", ex); }
finally { try { if (document is not null) document.Close(0); } catch { } try { if (application is not null) application.Quit(0); } catch { } ReleaseAll(proxies); }
}
private static string Hash(string path) => Convert.ToHexString(SHA256.HashData(File.ReadAllBytes(path)));
private static T? Own<T>(T? value, List<object?> proxies) where T : class { if (value is not null) proxies.Add(value); return value; }
private static void ReleaseAll(IEnumerable<object?> proxies) { foreach (var value in proxies.Reverse()) try { if (value is not null && Marshal.IsComObject(value)) Marshal.FinalReleaseComObject(value); } catch { } }
public void Dispose() { if (_ownsQueue) _queue.Dispose(); }
}
@@ -0,0 +1,132 @@
using System.Diagnostics;
using System.IO.Compression;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text.Json;
using System.Text;
using System.Text.RegularExpressions;
using System.Xml.Linq;
using DocumentAutomation.Shared;
using DocxWorkbench.Core;
namespace DocxWorkbench.WordInterop;
public sealed class WordNotInstalledException(string message) : InvalidOperationException(message);
public sealed class WordAutomationException(string message, Exception? inner = null) : InvalidOperationException(message, inner);
public sealed class WordDocumentService : IWordDocumentService, IDisposable
{
private readonly StaWordQueue _queue = new();
private readonly DocxBodyImporter _bodyImporter;
public WordDocumentService() => _bodyImporter = new DocxBodyImporter(_queue);
public Task<WordDocumentResult> BuildDocumentAsync(WordDocumentBuildRequest request, IProgress<string>? progress, CancellationToken cancellationToken)
=> _queue.Enqueue(() => BuildOnSta(request, progress, cancellationToken), cancellationToken);
public Task<WordPreviewResult> ExportPdfAsync(string docxPath, string outputPdfPath, CancellationToken cancellationToken)
=> _queue.Enqueue(() => ExportPdfOnSta(docxPath, outputPdfPath, cancellationToken), cancellationToken);
private WordDocumentResult BuildOnSta(WordDocumentBuildRequest request, IProgress<string>? progress, CancellationToken token)
{
DocumentInputValidation.Validate(request);
if (!request.BodyPath.EndsWith(".docx", StringComparison.OrdinalIgnoreCase) && !request.BodyPath.EndsWith(".txt", StringComparison.OrdinalIgnoreCase)) throw new UnsupportedDocumentFormatException($"Unsupported body format: {Path.GetExtension(request.BodyPath)}. Use DOCX or TXT.");
var insertion = TemplateInsertionPointReader.Find(request.TemplatePath);
if (insertion.Type == "None") throw new WordAutomationException("No DOC_BODY insertion point was found. Add a DOC_BODY content control, DOC_BODY bookmark, or {{DOC_BODY}} marker.");
var started = Stopwatch.StartNew(); var temp = Path.Combine(Path.GetTempPath(), "DocumentAutomation", Guid.NewGuid().ToString("N")); Directory.CreateDirectory(temp); var workingTemplate = Path.Combine(temp, "template.docx"); var stagedOutput = Path.Combine(temp, "result.docx"); File.Copy(request.TemplatePath, workingTemplate, true);
dynamic? application = null; dynamic? documents = null; dynamic? document = null; dynamic? range = null; var proxies = new List<object?>(); int? wordPid = null; BodyImportResult? bodyImport = null;
try
{
token.ThrowIfCancellationRequested(); progress?.Report("Checking Word.Application COM registration"); var wordType = Type.GetTypeFromProgID("Word.Application", false) ?? throw new WordNotInstalledException("Microsoft Word is not installed or is not registered in COM."); application = Own(Activator.CreateInstance(wordType), proxies) ?? throw new WordAutomationException("Could not create Word.Application."); application.Visible = false; application.DisplayAlerts = 0; TrySetAutomationSecurity(application); wordPid = TryGetPid(application); progress?.Report($"Word COM started (PID {wordPid?.ToString() ?? "unknown"})");
documents = Own(application.Documents, proxies); document = Own(documents.Open(workingTemplate, false, false, false), proxies) ?? throw new WordAutomationException("Word could not open the working template copy.");
range = Own(FindInsertionRange(document, insertion.Type, proxies), proxies) ?? throw new WordAutomationException("The insertion point disappeared while opening the template.");
token.ThrowIfCancellationRequested(); progress?.Report($"Inserting {Path.GetExtension(request.BodyPath).ToUpperInvariant()} body"); if (request.BodyPath.EndsWith(".txt", StringComparison.OrdinalIgnoreCase)) range.Text = File.ReadAllText(request.BodyPath).Replace("\r\n", "\r").Replace('\n', '\r'); else bodyImport = _bodyImporter.ImportOnSta(application, document, range, new DocxBodyImportRequest { SourcePath = request.BodyPath, DestinationRangeHandle = range }, progress is null ? null : new Progress<WordOperationProgress>(x => progress.Report(x.Message ?? x.Stage)), token, proxies);
token.ThrowIfCancellationRequested(); progress?.Report("Updating fields and pagination"); document.Repaginate(); document.Fields.Update(); UpdateHeadersFooters(document, proxies); document.SaveAs2(stagedOutput, 12); document.Close(0); document = null; RemoveUnreferencedHeaderFooterParts(stagedOutput); CommitOutput(stagedOutput, request.OutputDocxPath);
var logPath = Path.ChangeExtension(request.OutputDocxPath, ".generation.json"); File.WriteAllText(logPath, JsonSerializer.Serialize(new { operationId = Guid.NewGuid(), operationType = "BuildDocument", startedAtUtc = DateTime.UtcNow.Subtract(started.Elapsed), completedAtUtc = DateTime.UtcNow, template = request.TemplatePath, templateSha256 = Hash(request.TemplatePath), templateVersion = "1.0", body = request.BodyPath, sourceSha256 = Hash(request.BodyPath), output = request.OutputDocxPath, resultSha256 = Hash(request.OutputDocxPath), insertionPoint = insertion.Type, wordPid, staThread = Thread.CurrentThread.ManagedThreadId, staApartment = Thread.CurrentThread.GetApartmentState().ToString(), durationMs = started.ElapsedMilliseconds, status = "Succeeded", errorCode = (string?)null }, new JsonSerializerOptions { WriteIndented = true }));
return new WordDocumentResult { OutputDocxPath = request.OutputDocxPath, LogPath = logPath, Duration = started.Elapsed, InsertionPoint = insertion.Type, BodyImport = bodyImport };
}
catch (WordNotInstalledException) { throw; }
catch (WordAutomationException) { throw; }
catch (Exception ex) when (ex is not OperationCanceledException) { throw new WordAutomationException("Word automation failed. See technical details in the operation log.", ex); }
finally
{
try { if (document is not null) document.Close(0); } catch { }
try { if (application is not null) application.Quit(0); } catch { }
ReleaseAll(proxies); TryDeleteDirectory(temp);
}
}
private static WordPreviewResult ExportPdfOnSta(string docxPath, string outputPdfPath, CancellationToken token)
{
if (!File.Exists(docxPath)) throw new FileNotFoundException("DOCX was not found.", docxPath); Directory.CreateDirectory(Path.GetDirectoryName(Path.GetFullPath(outputPdfPath))!); var sw = Stopwatch.StartNew(); dynamic? application = null; dynamic? documents = null; dynamic? document = null; var proxies = new List<object?>();
try { token.ThrowIfCancellationRequested(); var wordType = Type.GetTypeFromProgID("Word.Application", false) ?? throw new WordNotInstalledException("Microsoft Word is not installed or is not registered in COM."); application = Own(Activator.CreateInstance(wordType), proxies) ?? throw new WordAutomationException("Could not create Word.Application."); application.Visible = false; application.DisplayAlerts = 0; TrySetAutomationSecurity(application); documents = Own(application.Documents, proxies); document = Own(documents.Open(docxPath, true, false, false), proxies) ?? throw new WordAutomationException("Word could not open the DOCX."); document.ExportAsFixedFormat(outputPdfPath, 17); return new WordPreviewResult { PdfPath = outputPdfPath, Duration = sw.Elapsed }; }
catch (WordNotInstalledException) { throw; }
catch (WordAutomationException) { throw; }
catch (Exception ex) when (ex is not OperationCanceledException) { throw new WordAutomationException("PDF export through Word failed.", ex); }
finally { try { if (document is not null) document.Close(0); } catch { } try { if (application is not null) application.Quit(0); } catch { } ReleaseAll(proxies); }
}
private static dynamic? FindInsertionRange(dynamic document, string type, List<object?> proxies)
{
if (type == "ContentControl") { dynamic controls = Own(document.ContentControls, proxies); for (var i = 1; i <= controls.Count; i++) { dynamic control = Own(controls[i], proxies); if (string.Equals((string?)control.Tag, "DOC_BODY", StringComparison.OrdinalIgnoreCase) || string.Equals((string?)control.Title, "DOC_BODY", StringComparison.OrdinalIgnoreCase)) return control.Range; } }
if (type == "Bookmark") return document.Bookmarks["DOC_BODY"].Range;
dynamic search = Own(document.Content, proxies); search.Find.ClearFormatting(); search.Find.Text = "{{DOC_BODY}}"; if (search.Find.Execute()) { search.Text = ""; return search; } return null;
}
private static void UpdateHeadersFooters(dynamic document, List<object?> proxies)
{
dynamic sections = Own(document.Sections, proxies); for (var i = 1; i <= sections.Count; i++) { dynamic section = Own(sections[i], proxies); UpdateCollection(section.Headers, proxies); UpdateCollection(section.Footers, proxies); }
void UpdateCollection(dynamic collection, List<object?> proxies) { dynamic owned = WordDocumentService.Own(collection, proxies); for (var i = 1; i <= owned.Count; i++) { dynamic item = WordDocumentService.Own(owned[i], proxies); dynamic range = WordDocumentService.Own(item.Range, proxies); range.Fields.Update(); } }
}
private static void TrySetAutomationSecurity(dynamic application) { try { application.AutomationSecurity = 3; application.ScreenUpdating = false; } catch { } }
private static int? TryGetPid(dynamic application) { try { return Process.GetProcessById((int)application.Hwnd).Id; } catch { return null; } }
private static T? Own<T>(T? value, List<object?> proxies) where T : class { if (value is not null) proxies.Add(value); return value; }
private static void ReleaseAll(IEnumerable<object?> proxies) { foreach (var proxy in proxies.Reverse()) try { if (proxy is not null && Marshal.IsComObject(proxy)) Marshal.FinalReleaseComObject(proxy); } catch { } }
private static string Hash(string path) => Convert.ToHexString(SHA256.HashData(File.ReadAllBytes(path)));
private static void CommitOutput(string staged, string output) { var full = Path.GetFullPath(output); if (File.Exists(full)) File.Copy(full, full + ".bak-" + DateTime.UtcNow.ToString("yyyyMMddHHmmss"), true); File.Copy(staged, full, true); }
private static void RemoveUnreferencedHeaderFooterParts(string path)
{
using var archive = ZipFile.Open(path, ZipArchiveMode.Update);
var documentEntry = archive.GetEntry("word/document.xml");
var relsEntry = archive.GetEntry("word/_rels/document.xml.rels");
if (documentEntry is null || relsEntry is null) return;
XDocument document;
XDocument relationships;
using (var reader = new StreamReader(documentEntry.Open())) document = XDocument.Parse(reader.ReadToEnd(), LoadOptions.PreserveWhitespace);
using (var reader = new StreamReader(relsEntry.Open())) relationships = XDocument.Parse(reader.ReadToEnd(), LoadOptions.PreserveWhitespace);
var w = XNamespace.Get("http://schemas.openxmlformats.org/wordprocessingml/2006/main");
var rel = XNamespace.Get("http://schemas.openxmlformats.org/package/2006/relationships");
var used = document.Descendants(w + "headerReference").Concat(document.Descendants(w + "footerReference")).Select(x => (string?)x.Attribute(XNamespace.Get("http://schemas.openxmlformats.org/officeDocument/2006/relationships") + "id")).Where(x => x is not null).ToHashSet(StringComparer.Ordinal);
var removedTargets = new List<string>();
foreach (var relationship in relationships.Root?.Elements(rel + "Relationship").ToList() ?? [])
{
var type = (string?)relationship.Attribute("Type") ?? string.Empty;
var id = (string?)relationship.Attribute("Id");
if (id is null || (!type.EndsWith("/header", StringComparison.OrdinalIgnoreCase) && !type.EndsWith("/footer", StringComparison.OrdinalIgnoreCase)) || used.Contains(id)) continue;
var target = (string?)relationship.Attribute("Target");
if (!string.IsNullOrWhiteSpace(target)) removedTargets.Add(ResolveWordPart(target));
relationship.Remove();
}
foreach (var target in removedTargets.Distinct(StringComparer.OrdinalIgnoreCase)) archive.GetEntry(target)?.Delete();
relsEntry.Delete();
var replacement = archive.CreateEntry("word/_rels/document.xml.rels", CompressionLevel.Optimal);
using var stream = replacement.Open();
using var writer = new StreamWriter(stream, new UTF8Encoding(false));
relationships.Save(writer, SaveOptions.DisableFormatting);
}
private static string ResolveWordPart(string target) => target.StartsWith("/", StringComparison.Ordinal) ? target.TrimStart('/') : "word/" + target.Replace("\\", "/").TrimStart("./".ToCharArray());
private static void TryDeleteDirectory(string path) { try { if (Directory.Exists(path)) Directory.Delete(path, true); } catch { } }
public void Dispose() => _queue.Dispose();
}
internal static class TemplateInsertionPointReader
{
public static InsertionPointInfo Find(string docxPath)
{
using var archive = ZipFile.OpenRead(docxPath); var entry = archive.GetEntry("word/document.xml") ?? throw new InvalidDataException("DOCX document.xml is missing."); using var reader = new StreamReader(entry.Open()); var xml = reader.ReadToEnd();
if (Regex.IsMatch(xml, @"w:tag[^>]+w:val=""DOC_BODY""", RegexOptions.IgnoreCase)) return new InsertionPointInfo { Type = "ContentControl", Location = "word/document.xml" };
if (Regex.IsMatch(xml, @"w:bookmarkStart[^>]+w:name=""DOC_BODY""", RegexOptions.IgnoreCase)) return new InsertionPointInfo { Type = "Bookmark", Location = "word/document.xml" };
if (xml.Contains("{{DOC_BODY}}", StringComparison.Ordinal)) return new InsertionPointInfo { Type = "TextMarker", Location = "word/document.xml" };
return new InsertionPointInfo { Type = "None" };
}
}
@@ -0,0 +1,22 @@
using System.Text.Json;
using StandardsWorkbench.Core;
using StandardsWorkbench.Ollama;
using StandardsWorkbench.Pdf;
namespace StandardsWorkbench.App;
public sealed class MainForm : Form
{
private readonly TextBox _pdf = new() { Width = 560 }; private readonly TextBox _code = new() { Width = 240, Text = "ГОСТ Р 21.101-2026" }; private readonly TextBox _title = new() { Width = 560, Text = "Нормативный документ" }; private readonly TextBox _log = new() { Multiline = true, Dock = DockStyle.Fill, ScrollBars = ScrollBars.Vertical }; private readonly ListBox _candidates = new() { Dock = DockStyle.Fill }; private readonly Label _status = new() { AutoSize = true, Text = "Готово" }; private readonly IStandardPdfService _service = new PdfStandardService(); private StandardMetadata? _metadata; private List<CandidateRule> _rules = [];
public MainForm()
{
Text = "Standards Workbench"; Width = 900; Height = 620; var top = new TableLayoutPanel { Dock = DockStyle.Top, Height = 150, ColumnCount = 3, RowCount = 4, Padding = new Padding(8) }; top.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 120)); top.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100)); top.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 110)); Add(top, 0, "Стандарт PDF", _pdf, Browse); Add(top, 1, "Код", _code, null); Add(top, 2, "Название", _title, null); var buttons = new FlowLayoutPanel { Dock = DockStyle.Fill }; buttons.Controls.Add(Button("Анализировать PDF", async (_, _) => await ImportAsync())); buttons.Controls.Add(Button("Утвердить выбранное", (_, _) => SetSelectedStatus("Approved"))); buttons.Controls.Add(Button("Отклонить выбранное", (_, _) => SetSelectedStatus("Rejected"))); buttons.Controls.Add(Button("Экспортировать профиль", (_, _) => ExportProfile())); top.Controls.Add(buttons, 1, 3); top.SetColumnSpan(buttons, 2); var tabs = new TabControl { Dock = DockStyle.Fill }; foreach (var t in new[] { "Документ", "Страницы", "Пункты", "Кандидаты правил", "Профили", "Сравнение", "Журнал" }) { var p = new TabPage(t); if (t == "Журнал") p.Controls.Add(_log); if (t == "Кандидаты правил") p.Controls.Add(_candidates); tabs.TabPages.Add(p); } Controls.Add(tabs); Controls.Add(top); Controls.Add(_status); _status.Dock = DockStyle.Bottom;
}
private static void Add(TableLayoutPanel p, int row, string label, TextBox box, EventHandler? browse) { p.Controls.Add(new Label { Text = label, AutoSize = true }, 0, row); p.Controls.Add(box, 1, row); if (browse is not null) { var b = new Button { Text = "Обзор..." }; b.Click += browse; p.Controls.Add(b, 2, row); } }
private static Button Button(string text, EventHandler e) { var b = new Button { Text = text, AutoSize = true }; b.Click += e; return b; }
private void Browse(object? s, EventArgs e) { using var d = new OpenFileDialog { Filter = "PDF|*.pdf" }; if (d.ShowDialog() == DialogResult.OK) _pdf.Text = d.FileName; }
private async Task ImportAsync() { try { _status.Text = "Анализ PDF..."; var result = await _service.ImportAsync(_pdf.Text, _code.Text, _title.Text, CancellationToken.None); _metadata = result.Metadata; _rules = result.Clauses.Select(c => new CandidateRule { CandidateId = Guid.NewGuid().ToString("N"), StandardId = c.StandardId, ClauseId = c.ClauseId, SourcePage = c.StartPage, SourceText = c.Text, Title = c.Heading.Length > 0 ? c.Heading : $"Кандидат по пункту {c.ClauseId}", RequiresHumanApproval = true }).ToList(); RefreshCandidates(); _log.AppendText(JsonSerializer.Serialize(new { result.Metadata, result.Pages, result.Clauses }, new JsonSerializerOptions { WriteIndented = true }) + Environment.NewLine); _status.Text = $"Готово: {result.Pages.Count} страниц, {result.Clauses.Count} пунктов"; } catch (Exception ex) { _log.AppendText(ex + Environment.NewLine); _status.Text = "Ошибка"; MessageBox.Show(ex.Message); } }
private void RefreshCandidates() { _candidates.Items.Clear(); foreach (var rule in _rules) _candidates.Items.Add($"[{rule.Status}] {rule.ClauseId} стр.{rule.SourcePage}: {rule.Title}"); }
private void SetSelectedStatus(string status) { if (_candidates.SelectedIndex < 0 || _candidates.SelectedIndex >= _rules.Count) return; _rules[_candidates.SelectedIndex] = _rules[_candidates.SelectedIndex] with { Status = status }; RefreshCandidates(); }
private void ExportProfile() { if (_metadata is null) { MessageBox.Show("Сначала импортируйте PDF."); return; } using var dialog = new FolderBrowserDialog(); if (dialog.ShowDialog() != DialogResult.OK) return; var profile = new ApprovedRulesProfile { StandardId = _metadata.StandardId, Code = _metadata.Code, Revision = _metadata.Revision, SourceFileSha256 = _metadata.SourceFileSha256, Rules = _rules.Where(r => r.Status == "Approved").ToArray() }; var path = Path.Combine(dialog.SelectedPath, $"{_metadata.StandardId}-docx-profile"); ProfileStore.Export(path, profile); _status.Text = $"Профиль экспортирован: {path}"; }
}
@@ -0,0 +1,16 @@
namespace StandardsWorkbench.App;
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new MainForm());
}
}
@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\DocumentAutomation.Shared\DocumentAutomation.Shared.csproj" />
<ProjectReference Include="..\StandardsWorkbench.Core\StandardsWorkbench.Core.csproj" />
<ProjectReference Include="..\StandardsWorkbench.Pdf\StandardsWorkbench.Pdf.csproj" />
<ProjectReference Include="..\StandardsWorkbench.Ollama\StandardsWorkbench.Ollama.csproj" />
</ItemGroup>
</Project>
@@ -0,0 +1,77 @@
using System.Security.Cryptography;
using System.Text.Json;
using DocumentAutomation.Shared;
namespace StandardsWorkbench.Core;
public sealed record StandardMetadata
{
public required string StandardId { get; init; }
public required string Code { get; init; }
public required string Title { get; init; }
public string Revision { get; init; } = "";
public DateOnly? EffectiveFrom { get; init; }
public required string SourceFileSha256 { get; init; }
public int PageCount { get; init; }
public bool TextLayerDetected { get; init; }
public DateTime ImportedAt { get; init; } = DateTime.UtcNow;
public string Status { get; init; } = "Imported";
}
public sealed record PdfPageText(int PageNumber, string Text, bool TextLayerDetected, string Status, IReadOnlyList<string> Blocks);
public sealed record StandardClause(string StandardId, string ClauseId, string Heading, string Text, int StartPage, int EndPage, double ExtractionConfidence);
public sealed record CandidateRule
{
public required string CandidateId { get; init; }
public required string StandardId { get; init; }
public required string ClauseId { get; init; }
public int SourcePage { get; init; }
public required string SourceText { get; init; }
public required string Title { get; init; }
public string[] Scope { get; init; } = ["DOCX"];
public string RuleKind { get; init; } = "ExpertReview";
public string Target { get; init; } = "Document";
public Dictionary<string, string> Parameters { get; init; } = [];
public string Severity { get; init; } = "Warning";
public string AutomationLevel { get; init; } = "Manual";
public double Confidence { get; init; }
public bool RequiresHumanApproval { get; init; } = true;
public string Status { get; init; } = "New";
}
public sealed record ApprovedRulesProfile
{
public required string StandardId { get; init; }
public required string Code { get; init; }
public required string Revision { get; init; }
public required string SourceFileSha256 { get; init; }
public string ProfileVersion { get; init; } = "1.0";
public string MinimumRulesEngineVersion { get; init; } = "1.0";
public DateTime ExportedAt { get; init; } = DateTime.UtcNow;
public IReadOnlyList<CandidateRule> Rules { get; init; } = [];
}
public interface IPdfOcrService { Task<PdfPageText> RecognizePageAsync(string pdfPath, int pageNumber, CancellationToken cancellationToken); }
public interface IStandardPdfService { Task<(StandardMetadata Metadata, IReadOnlyList<PdfPageText> Pages, IReadOnlyList<StandardClause> Clauses)> ImportAsync(string pdfPath, string code, string title, CancellationToken cancellationToken); }
public interface IOllamaService { Task<IReadOnlyList<string>> GetModelsAsync(CancellationToken cancellationToken); Task<CandidateRule?> SuggestCandidateAsync(StandardClause clause, string model, CancellationToken cancellationToken); }
public static class ProfileStore
{
public static string Sha256(string path) { using var stream = File.OpenRead(path); return Convert.ToHexString(SHA256.HashData(stream)).ToLowerInvariant(); }
public static void Export(string directory, ApprovedRulesProfile profile)
{
Directory.CreateDirectory(directory); var options = new JsonSerializerOptions { WriteIndented = true }; File.WriteAllText(Path.Combine(directory, "manifest.json"), JsonSerializer.Serialize(profile, options)); File.WriteAllText(Path.Combine(directory, "approved-rules.json"), JsonSerializer.Serialize(profile.Rules, options)); File.WriteAllText(Path.Combine(directory, "references.json"), JsonSerializer.Serialize(profile.Rules.Select(r => new { r.ClauseId, r.SourcePage, r.StandardId }), options)); File.WriteAllText(Path.Combine(directory, "signature.sha256"), Sha256(Path.Combine(directory, "approved-rules.json")));
}
}
public sealed class RulesEngine
{
public IReadOnlyList<RuleEvaluationResult> Evaluate(DocumentInspectionResult document, ApprovedRulesProfile profile)
=> profile.Rules.Where(r => r.Status is "Approved" or "Implemented" or "Tested").Select(r => EvaluateOne(document, r)).ToArray();
private static RuleEvaluationResult EvaluateOne(DocumentInspectionResult d, CandidateRule rule)
{
var status = rule.RuleKind switch { "SectionCount" => d.Sections > 0 ? RuleEvaluationStatus.Pass : RuleEvaluationStatus.Fail, "ContentControlPresence" => d.ContentControls > 0 ? RuleEvaluationStatus.Pass : RuleEvaluationStatus.Fail, "BookmarkPresence" => d.Bookmarks > 0 ? RuleEvaluationStatus.Pass : RuleEvaluationStatus.Fail, "CommentsAbsent" => d.Comments == 0 ? RuleEvaluationStatus.Pass : RuleEvaluationStatus.Fail, "TrackedChangesAbsent" => !d.HasTrackedChanges ? RuleEvaluationStatus.Pass : RuleEvaluationStatus.Fail, _ => RuleEvaluationStatus.NeedsReview };
return new RuleEvaluationResult { RuleId = rule.CandidateId, Status = status, Message = status == RuleEvaluationStatus.Pass ? "Проверка пройдена." : status == RuleEvaluationStatus.Fail ? "Проверка не пройдена." : "Требуется экспертная проверка.", ClauseId = rule.ClauseId, SourcePage = rule.SourcePage, DocumentLocation = rule.Target, CanAutoFix = false };
}
}
@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup><ProjectReference Include="..\DocumentAutomation.Shared\DocumentAutomation.Shared.csproj" /></ItemGroup>
</Project>
@@ -0,0 +1,17 @@
using System.Net.Http.Json;
using System.Text.Json;
using StandardsWorkbench.Core;
namespace StandardsWorkbench.Ollama;
public sealed class OllamaClient : IOllamaService
{
private readonly HttpClient _http;
public OllamaClient(HttpClient? httpClient = null) { _http = httpClient ?? new HttpClient(); _http.BaseAddress = new Uri("http://192.168.200.112:11434"); _http.Timeout = TimeSpan.FromSeconds(120); }
public async Task<IReadOnlyList<string>> GetModelsAsync(CancellationToken cancellationToken)
{ using var response = await _http.GetAsync("/api/tags", cancellationToken); response.EnsureSuccessStatusCode(); using var json = await response.Content.ReadFromJsonAsync<JsonDocument>(cancellationToken: cancellationToken); return json?.RootElement.GetProperty("models").EnumerateArray().Select(x => x.GetProperty("name").GetString() ?? "").Where(x => x.Length > 0).ToArray() ?? []; }
public async Task<CandidateRule?> SuggestCandidateAsync(StandardClause clause, string model, CancellationToken cancellationToken)
{
if (string.IsNullOrWhiteSpace(model)) throw new ArgumentException("Модель Ollama не выбрана.", nameof(model)); var prompt = $"Return JSON only. Extract one candidate DOCX rule from clause {clause.ClauseId}. Never invent source references. Text: {clause.Text}"; using var response = await _http.PostAsJsonAsync("/api/generate", new { model, prompt, stream = false, format = "json" }, cancellationToken); response.EnsureSuccessStatusCode(); using var json = await response.Content.ReadFromJsonAsync<JsonDocument>(cancellationToken: cancellationToken); var raw = json?.RootElement.GetProperty("response").GetString(); if (string.IsNullOrWhiteSpace(raw)) return null; try { return JsonSerializer.Deserialize<CandidateRule>(raw); } catch (JsonException) { return null; }
}
}
@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup><ProjectReference Include="..\StandardsWorkbench.Core\StandardsWorkbench.Core.csproj" /></ItemGroup>
</Project>
@@ -0,0 +1,33 @@
using System.Text.RegularExpressions;
using StandardsWorkbench.Core;
using UglyToad.PdfPig;
namespace StandardsWorkbench.Pdf;
public sealed class PdfStandardService : IStandardPdfService
{
public Task<(StandardMetadata Metadata, IReadOnlyList<PdfPageText> Pages, IReadOnlyList<StandardClause> Clauses)> ImportAsync(string pdfPath, string code, string title, CancellationToken cancellationToken)
{
if (!File.Exists(pdfPath)) throw new FileNotFoundException("PDF ГОСТа не найден.", pdfPath);
return Task.Run(() =>
{
using var pdf = PdfDocument.Open(pdfPath); var pages = new List<PdfPageText>();
foreach (var page in pdf.GetPages()) { cancellationToken.ThrowIfCancellationRequested(); var text = page.Text ?? ""; pages.Add(new PdfPageText(page.Number, text, text.Trim().Length > 0, text.Trim().Length > 0 ? "Extracted" : "OCR_REQUIRED", text.Split(Environment.NewLine, StringSplitOptions.RemoveEmptyEntries))); }
var standardId = Regex.Replace(code.ToUpperInvariant(), "[^A-ZА-Я0-9]+", "-").Trim('-'); var clauses = ExtractClauses(standardId, pages); var meta = new StandardMetadata { StandardId = standardId, Code = code, Title = title, SourceFileSha256 = ProfileStore.Sha256(pdfPath), PageCount = pages.Count, TextLayerDetected = pages.Any(p => p.TextLayerDetected), ImportedAt = DateTime.UtcNow };
return (meta, (IReadOnlyList<PdfPageText>)pages, (IReadOnlyList<StandardClause>)clauses);
}, cancellationToken);
}
private static List<StandardClause> ExtractClauses(string id, IReadOnlyList<PdfPageText> pages)
{
var result = new List<StandardClause>(); string? currentId = null; var currentText = new List<string>(); var start = 1;
void Flush(int end) { if (currentId is not null) result.Add(new StandardClause(id, currentId, "", string.Join(Environment.NewLine, currentText), start, end, 0.85)); }
foreach (var page in pages) foreach (var line in page.Text.Split('\n', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)) { var match = Regex.Match(line, "^(\\d+(?:\\.\\d+){0,5})[.)]?\\s+(.+)$"); if (match.Success) { Flush(page.PageNumber - 1); currentId = match.Groups[1].Value; currentText = [line]; start = page.PageNumber; } else if (currentId is not null) currentText.Add(line); }
Flush(pages.Count); return result;
}
}
public sealed class NoOpOcrService : IPdfOcrService
{
public Task<PdfPageText> RecognizePageAsync(string pdfPath, int pageNumber, CancellationToken cancellationToken) => Task.FromResult(new PdfPageText(pageNumber, "", false, "OCR_REQUIRED", []));
}
@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\DocumentAutomation.Shared\DocumentAutomation.Shared.csproj" />
<ProjectReference Include="..\StandardsWorkbench.Core\StandardsWorkbench.Core.csproj" />
<PackageReference Include="PdfPig" Version="0.1.9" />
</ItemGroup>
</Project>
@@ -0,0 +1,25 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup><ProjectReference Include="..\..\src\DocxWorkbench.WordInterop\DocxWorkbench.WordInterop.csproj" /><ProjectReference Include="..\..\src\DocxWorkbench.OpenXml\DocxWorkbench.OpenXml.csproj" /><ProjectReference Include="..\..\src\StandardsWorkbench.Pdf\StandardsWorkbench.Pdf.csproj" /><PackageReference Include="DocumentFormat.OpenXml" Version="3.3.0" /></ItemGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="xunit" Version="2.5.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.3" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
</Project>
@@ -0,0 +1,72 @@
using System.Diagnostics;
using System.Text.Json;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using DocumentAutomation.Shared;
using DocxWorkbench.WordInterop;
using DocxWorkbench.OpenXml;
using Xunit.Sdk;
namespace DocumentAutomation.IntegrationTests;
public sealed class WordComIntegrationTests
{
[Fact]
public void IntegrationAssemblyIsAvailable() => Assert.True(typeof(WordComIntegrationTests).Assembly.GetName().Name is not null);
[Fact]
public void WordAvailability_DoesNotRequireOfficePia()
{
var names = typeof(WordDocumentService).Assembly.GetReferencedAssemblies().Select(x => x.Name).ToArray(); Assert.DoesNotContain(names, name => string.Equals(name, "office", StringComparison.OrdinalIgnoreCase) || string.Equals(name, "Microsoft.Office.Interop.Word", StringComparison.OrdinalIgnoreCase));
}
[Fact]
public async Task Build_WithoutInsertionPoint_DoesNotStartWord()
{
var template = CreateDocx(false); var body = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".txt"); File.WriteAllText(body, "text"); var before = ProcessIds(); try { using var service = new WordDocumentService(); await Assert.ThrowsAsync<WordAutomationException>(() => service.BuildDocumentAsync(new WordDocumentBuildRequest { TemplatePath = template, BodyPath = body, OutputDocxPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx") }, null, CancellationToken.None)); Assert.Empty(ProcessIds().Except(before)); } finally { File.Delete(template); File.Delete(body); }
}
[Fact] public async Task Build_RunsOnStaThread() { await RequireWord(); var result = await BuildTxt(); var log = JsonSerializer.Deserialize<JsonElement>(File.ReadAllText(result.LogPath)); Assert.Equal("STA", log.GetProperty("staApartment").GetString()); }
[Fact] public async Task Build_WithTxtBody_InsertsText() { await RequireWord(); var result = await BuildTxt(); Assert.Contains("TXT integration body", ReadMainText(result.OutputDocxPath)); }
[Fact] public async Task Build_WithDocxBody_InsertsDocument() { await RequireWord(); var template = CreateDocx(true); var body = CreateDocx(false, "DOCX integration body"); var output = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); try { using var service = new WordDocumentService(); await service.BuildDocumentAsync(new WordDocumentBuildRequest { TemplatePath = template, BodyPath = body, OutputDocxPath = output }, null, CancellationToken.None); Assert.Contains("DOCX integration body", ReadMainText(output)); } finally { File.Delete(template); File.Delete(body); File.Delete(output); } }
[Fact] public async Task Build_ExportsPdf() { await RequireWord(); var result = await BuildTxt(); using var service = new WordDocumentService(); var pdf = await service.ExportPdfAsync(result.OutputDocxPath, Path.ChangeExtension(result.OutputDocxPath, ".pdf"), CancellationToken.None); Assert.True(File.Exists(pdf.PdfPath)); File.Delete(result.OutputDocxPath); File.Delete(pdf.PdfPath); File.Delete(result.LogPath); }
[Fact] public async Task Build_DoesNotLeaveCreatedWinwordProcess() { await RequireWord(); var before = ProcessIds(); var result = await BuildTxt(); await Task.Delay(500); Assert.Empty(ProcessIds().Except(before)); File.Delete(result.OutputDocxPath); File.Delete(result.LogPath); }
[Fact] public async Task Build_Failure_ReleasesWord() { await RequireWord(); var before = ProcessIds(); var template = CreateDocx(true); var body = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".txt"); var outputDirectory = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); Directory.CreateDirectory(outputDirectory); File.WriteAllText(body, "failure body"); try { using var service = new WordDocumentService(); await Assert.ThrowsAnyAsync<Exception>(() => service.BuildDocumentAsync(new WordDocumentBuildRequest { TemplatePath = template, BodyPath = body, OutputDocxPath = outputDirectory }, null, CancellationToken.None)); await Task.Delay(500); Assert.Empty(ProcessIds().Except(before)); } finally { File.Delete(template); File.Delete(body); Directory.Delete(outputDirectory, true); } }
[Fact]
public async Task RuntimeGate_DesktopDocxBodyUsesTemplateCopy()
{
await RequireWord(); var template = @"C:\Users\codex\Desktop\156-титул-ПД.docx"; var body = @"C:\Users\codex\Desktop\НХС-33-УК3-ОЗХ-13011-000-НК-ОД.docx"; if (!File.Exists(template) || !File.Exists(body)) throw SkipException.ForSkip("The supplied Desktop DOCX fixtures are not available."); var copy = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); var output = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); File.Copy(template, copy); try { using (var document = WordprocessingDocument.Open(copy, true)) { var main = document.MainDocumentPart ?? throw new InvalidDataException("Main part missing."); main.Document.Body!.Append(new Paragraph(new Run(new Text("{{DOC_BODY}}")))); main.Document.Save(); } using var service = new WordDocumentService(); var result = await service.BuildDocumentAsync(new WordDocumentBuildRequest { TemplatePath = copy, BodyPath = body, OutputDocxPath = output }, null, CancellationToken.None); Assert.True(File.Exists(result.OutputDocxPath)); } finally { File.Delete(copy); File.Delete(output); File.Delete(Path.ChangeExtension(output, ".generation.json")); }
}
[Fact]
public async Task ImportDocxBody_ExcludesSourceHeaders()
{
await RequireWord(); var template = CreateDocx(true); var source = CreateComplexSource(); var output = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); var sourceHash = Convert.ToHexString(System.Security.Cryptography.SHA256.HashData(File.ReadAllBytes(source))); try { using var service = new WordDocumentService(); var result = await service.BuildDocumentAsync(new WordDocumentBuildRequest { TemplatePath = template, BodyPath = source, OutputDocxPath = output }, null, CancellationToken.None); using var document = WordprocessingDocument.Open(result.OutputDocxPath, false); var main = document.MainDocumentPart!; Assert.DoesNotContain(main.HeaderParts.SelectMany(x => x.Header?.Descendants<Text>() ?? []), x => x.Text == "SOURCE HEADER"); Assert.DoesNotContain(main.FooterParts.SelectMany(x => x.Footer?.Descendants<Text>() ?? []), x => x.Text == "SOURCE FOOTER"); Assert.Single(main.Document.Descendants<SectionProperties>()); Assert.NotNull(result.BodyImport); Assert.Contains("wdMainTextStory", result.BodyImport!.Plan.IncludedStories); Assert.Equal(sourceHash, Convert.ToHexString(System.Security.Cryptography.SHA256.HashData(File.ReadAllBytes(source)))); } finally { File.Delete(template); File.Delete(source); File.Delete(output); File.Delete(Path.ChangeExtension(output, ".generation.json")); }
}
[Fact]
public async Task ImportDocxBody_DoesNotChangeDestinationPageSetup()
{
await RequireWord(); var template = CreateDocx(true); var source = CreateComplexSource(); var output = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); try { using var service = new WordDocumentService(); var result = await service.BuildDocumentAsync(new WordDocumentBuildRequest { TemplatePath = template, BodyPath = source, OutputDocxPath = output }, null, CancellationToken.None); using var document = WordprocessingDocument.Open(result.OutputDocxPath, false); Assert.Single(document.MainDocumentPart!.Document.Descendants<SectionProperties>()); Assert.Contains("DOCX complex body", document.MainDocumentPart.Document.InnerText); } finally { File.Delete(template); File.Delete(source); File.Delete(output); File.Delete(Path.ChangeExtension(output, ".generation.json")); }
}
[Fact]
public async Task TemplateLearning_EndToEnd_RealDocToDtemplateToDocxAndPdf()
{
await RequireWord(); var source = @"C:\Users\codex\Desktop\НХС-33-УК3-ОЗХ-13011-000-НК-ОД.doc"; var content = @"C:\Users\codex\Desktop\НХС-33-УК3-ОЗХ-13011-000-НК-ОД.docx"; if (!File.Exists(source) || !File.Exists(content)) throw SkipException.ForSkip("The supplied real DOC/DOCX fixtures are not available.");
var package = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".dtemplate"); var output = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); var sourceHash = Convert.ToHexString(System.Security.Cryptography.SHA256.HashData(File.ReadAllBytes(source))); var before = ProcessIds();
try
{
using var normalizer = new WordDocumentNormalizer(); var learning = new TemplateLearningService(normalizer, new TemplatePackageStore(), new OpenXmlDocumentInspector()); var learned = await learning.LearnAsync(new TemplateLearningRequest { SourcePath = source, TemplateName = "Real sample", OutputPackagePath = package }, null, CancellationToken.None); Assert.NotEmpty(learned.Slots); Assert.True(File.Exists(package)); using var generator = new TemplateDocumentGenerator(new TemplatePackageStore(), new WordDocumentNormalizer(), new OpenXmlDocumentInspector()); var result = await generator.GenerateAsync(new TemplateGenerationRequest { TemplatePackagePath = package, ContentSourcePath = content, OutputDocxPath = output }, null, CancellationToken.None); Assert.True(File.Exists(result.OutputDocxPath)); Assert.True(File.Exists(result.OutputPdfPath)); Assert.Equal(sourceHash, Convert.ToHexString(System.Security.Cryptography.SHA256.HashData(File.ReadAllBytes(source)))); Assert.Empty(ProcessIds().Except(before));
}
finally { File.Delete(package); File.Delete(output); File.Delete(Path.ChangeExtension(output, ".pdf")); File.Delete(Path.ChangeExtension(output, ".generation.json")); File.Delete(Path.ChangeExtension(output, ".validation.json")); }
}
private static async Task RequireWord() { if (!OperatingSystem.IsWindows() || Type.GetTypeFromProgID("Word.Application", false) is null) throw SkipException.ForSkip("Microsoft Word COM is not installed or registered on this workstation."); await Task.CompletedTask; }
private static async Task<WordDocumentResult> BuildTxt() { var template = CreateDocx(true); var body = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".txt"); var output = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); File.WriteAllText(body, "TXT integration body"); try { using var service = new WordDocumentService(); return await service.BuildDocumentAsync(new WordDocumentBuildRequest { TemplatePath = template, BodyPath = body, OutputDocxPath = output }, null, CancellationToken.None); } finally { File.Delete(template); File.Delete(body); } }
private static HashSet<int> ProcessIds() => Process.GetProcessesByName("WINWORD").Select(x => x.Id).ToHashSet();
private static string ReadMainText(string path) { using var doc = WordprocessingDocument.Open(path, false); return doc.MainDocumentPart?.Document.InnerText ?? ""; }
private static string CreateComplexSource()
{
var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); using var doc = WordprocessingDocument.Create(path, DocumentFormat.OpenXml.WordprocessingDocumentType.Document); var main = doc.AddMainDocumentPart(); var header1 = main.AddNewPart<HeaderPart>(); header1.Header = new Header(new Paragraph(new Run(new Text("SOURCE HEADER")))); var footer1 = main.AddNewPart<FooterPart>(); footer1.Footer = new Footer(new Paragraph(new Run(new Text("SOURCE FOOTER")))); var body = new Body(); var first = new Paragraph(new ParagraphProperties(new SectionProperties(new HeaderReference { Type = HeaderFooterValues.Default, Id = main.GetIdOfPart(header1) }, new FooterReference { Type = HeaderFooterValues.Default, Id = main.GetIdOfPart(footer1) })), new Run(new Text("DOCX complex body"))); body.Append(first); body.Append(new Table(new TableRow(new TableCell(new Paragraph(new Run(new Text("source table"))))))); body.Append(new SectionProperties(new HeaderReference { Type = HeaderFooterValues.Default, Id = main.GetIdOfPart(header1) }, new FooterReference { Type = HeaderFooterValues.Default, Id = main.GetIdOfPart(footer1) })); main.Document = new Document(body); main.Document.Save(); return path;
}
private static string CreateDocx(bool marker, string text = "template body") { var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); using var doc = WordprocessingDocument.Create(path, DocumentFormat.OpenXml.WordprocessingDocumentType.Document); var main = doc.AddMainDocumentPart(); main.Document = new Document(new Body(new Paragraph(new Run(new Text(marker ? "{{DOC_BODY}}" : text))))); main.Document.Save(); return path; }
}
@@ -0,0 +1,54 @@
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;
using DocxWorkbench.Core;
using DocxWorkbench.OpenXml;
namespace DocxWorkbench.Tests;
public sealed class DocumentInspectorTests
{
[Fact]
public void Analyze_DocxTemplateAndTxtBody_Succeeds()
{
var docx = CreateDocx(marker: true); var txt = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".txt"); File.WriteAllText(txt, "line one\nline two"); try { var template = new OpenXmlDocumentInspector().Inspect(docx); var body = new TextDocumentInspector().Inspect(txt); Assert.Equal("TextMarker", template.InsertionPoint.Type); Assert.Equal(2, body.Paragraphs); } finally { File.Delete(docx); File.Delete(txt); }
}
[Fact]
public void Analyze_DocxTemplateAndDocxBody_Succeeds()
{
var template = CreateDocx(marker: true); var body = CreateDocx(marker: false); try { var inspector = new OpenXmlDocumentInspector(); Assert.Equal("TextMarker", inspector.Inspect(template).InsertionPoint.Type); Assert.Equal(1, inspector.Inspect(body).Sections); } finally { File.Delete(template); File.Delete(body); }
}
[Fact]
public void Inspect_DetectsMarkerInsertionPoint()
{
var path = CreateDocx(marker: true); try { Assert.Equal("TextMarker", new OpenXmlDocumentInspector().Inspect(path).InsertionPoint.Type); } finally { File.Delete(path); }
}
[Fact]
public void Inspect_FindsPageFieldsInFooter()
{
var path = CreateDocx(marker: true, fields: true); try { var result = new OpenXmlDocumentInspector().Inspect(path); Assert.Contains(result.Fields, field => field.Type == "PAGE" && field.Part.StartsWith("FooterPart", StringComparison.Ordinal)); Assert.Contains(result.Fields, field => field.Type == "NUMPAGES"); } finally { File.Delete(path); }
}
[Fact]
public void Inspect_CountsHeaderFooterGraphics()
{
var path = CreateDocx(marker: true, graphics: true); try { var result = new OpenXmlDocumentInspector().Inspect(path); Assert.True(result.ImageSummary.RasterImages >= 2); } finally { File.Delete(path); }
}
[Fact]
public void Inspect_UnsupportedFormatIsDomainError()
{
var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".bin"); File.WriteAllText(path, "not a document"); try { var exception = Assert.Throws<UnsupportedDocumentFormatException>(() => new OpenXmlDocumentInspector().Inspect(path)); Assert.Contains("Open XML inspector", exception.Message); } finally { File.Delete(path); }
}
private static string CreateDocx(bool marker, bool fields = false, bool graphics = false)
{
var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); using var document = WordprocessingDocument.Create(path, DocumentFormat.OpenXml.WordprocessingDocumentType.Document); var main = document.AddMainDocumentPart(); var body = new Body(new Paragraph(new Run(new Text(marker ? "{{DOC_BODY}}" : "body")))); main.Document = new Document(body);
var header = main.AddNewPart<HeaderPart>(); header.Header = new Header(new Paragraph(new Run(new Text("header")))); var footer = main.AddNewPart<FooterPart>();
if (fields) { var paragraph = new Paragraph(); paragraph.Append(new Run(new FieldChar { FieldCharType = FieldCharValues.Begin })); paragraph.Append(new Run(new FieldCode(" PAGE "))); paragraph.Append(new Run(new FieldChar { FieldCharType = FieldCharValues.End })); paragraph.Append(new SimpleField { Instruction = " NUMPAGES " }); footer.Footer = new Footer(paragraph); } else footer.Footer = new Footer(new Paragraph(new Run(new Text("footer"))));
if (graphics) { var image = header.AddImagePart(ImagePartType.Png); image.FeedData(new MemoryStream([137, 80, 78, 71])); var image2 = footer.AddImagePart(ImagePartType.Png); image2.FeedData(new MemoryStream([137, 80, 78, 71])); }
body.Append(new SectionProperties(new HeaderReference { Type = HeaderFooterValues.Default, Id = main.GetIdOfPart(header) }, new FooterReference { Type = HeaderFooterValues.Default, Id = main.GetIdOfPart(footer) })); main.Document.Save(); return path;
}
}
@@ -0,0 +1,25 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup><ProjectReference Include="..\..\src\DocxWorkbench.Core\DocxWorkbench.Core.csproj" /><ProjectReference Include="..\..\src\DocxWorkbench.OpenXml\DocxWorkbench.OpenXml.csproj" /><ProjectReference Include="..\..\src\DocxWorkbench.WordInterop\DocxWorkbench.WordInterop.csproj" /><PackageReference Include="DocumentFormat.OpenXml" Version="3.3.0" /></ItemGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="xunit" Version="2.5.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.3" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
</Project>
@@ -0,0 +1,22 @@
using DocxWorkbench.WordInterop;
namespace DocxWorkbench.Tests;
public sealed class StaWordQueueTests
{
[Fact]
public async Task Dispose_DrainsActiveJobAndIsIdempotent()
{
using var queue = new StaWordQueue(); using var started = new ManualResetEventSlim(false); using var release = new ManualResetEventSlim(false);
var job = queue.Enqueue(() => { started.Set(); Assert.Equal(ApartmentState.STA, Thread.CurrentThread.GetApartmentState()); release.Wait(); return 42; }, CancellationToken.None); Assert.True(started.Wait(TimeSpan.FromSeconds(2)));
var dispose = Task.Run(queue.Dispose); var completed = await Task.WhenAny(dispose, Task.Delay(100)); Assert.NotSame(dispose, completed); release.Set(); await dispose; Assert.Equal(42, await job); queue.Dispose(); Assert.Throws<ObjectDisposedException>(() => EnqueueAfterDispose(queue));
}
[Fact]
public async Task Enqueue_CancellationCompletesCanceledTask()
{
using var queue = new StaWordQueue(); using var cancellation = new CancellationTokenSource(); cancellation.Cancel(); await Assert.ThrowsAnyAsync<OperationCanceledException>(() => queue.Enqueue(() => 1, cancellation.Token));
}
private static void EnqueueAfterDispose(StaWordQueue queue) => queue.Enqueue(() => 1, CancellationToken.None);
}
@@ -0,0 +1,25 @@
using System.IO.Compression;
using System.Security.Cryptography;
using DocumentAutomation.Shared;
using DocxWorkbench.OpenXml;
using DocxWorkbench.WordInterop;
namespace DocxWorkbench.Tests;
public sealed class TemplateLearningTests
{
[Fact]
public async Task NormalizeDocx_UsesSafeWorkingCopy()
{
var source = CreateDocx("template"); var hash = Hash(source); var working = Path.Combine(Path.GetTempPath(), "learning-test-" + Guid.NewGuid().ToString("N")); using var normalizer = new WordDocumentNormalizer(); try { var result = await normalizer.NormalizeAsync(new DocumentNormalizationRequest { SourcePath = source, WorkingDirectory = working }, null, CancellationToken.None); Assert.False(result.WasConverted); Assert.NotEqual(Path.GetFullPath(source), Path.GetFullPath(result.NormalizedPath)); Assert.Equal(hash, Hash(source)); Assert.Equal(hash, result.SourceSha256); Assert.True(File.Exists(result.NormalizedPath)); } finally { File.Delete(source); if (Directory.Exists(working)) Directory.Delete(working, true); }
}
[Fact]
public async Task TemplatePackage_CanBeCreatedAndReopened()
{
var source = CreateDocx("{{DOC_BODY}}"); var package = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".dtemplate"); using var normalizer = new WordDocumentNormalizer(); try { var service = new TemplateLearningService(normalizer, new TemplatePackageStore()); var learned = await service.LearnAsync(new TemplateLearningRequest { SourcePath = source, TemplateName = "Unit template", OutputPackagePath = package }, null, CancellationToken.None); Assert.NotEmpty(learned.Slots); Assert.Contains(learned.PageArchetypes, x => x.IsFirstPage); using var archive = ZipFile.OpenRead(package); Assert.Contains(archive.Entries, x => x.FullName == "manifest.json"); Assert.Contains(archive.Entries, x => x.FullName == "template.docx"); var opened = new TemplatePackageStore().Open(package); Assert.Equal(learned.TemplateId, opened.Template.TemplateId); Assert.True(File.Exists(opened.TemplateDocxPath)); Directory.Delete(opened.WorkingDirectory, true); } finally { File.Delete(source); File.Delete(package); }
}
private static string CreateDocx(string text) { var path = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".docx"); using var document = DocumentFormat.OpenXml.Packaging.WordprocessingDocument.Create(path, DocumentFormat.OpenXml.WordprocessingDocumentType.Document); var main = document.AddMainDocumentPart(); main.Document = new DocumentFormat.OpenXml.Wordprocessing.Document(new DocumentFormat.OpenXml.Wordprocessing.Body(new DocumentFormat.OpenXml.Wordprocessing.Paragraph(new DocumentFormat.OpenXml.Wordprocessing.Run(new DocumentFormat.OpenXml.Wordprocessing.Text(text))))); main.Document.Save(); return path; }
private static string Hash(string path) => Convert.ToHexString(SHA256.HashData(File.ReadAllBytes(path)));
}
@@ -0,0 +1,14 @@
using DocxWorkbench.Core;
namespace DocxWorkbench.Tests;
public sealed class WorkbenchStateTests
{
[Fact]
public void VerifyButton_DisabledBeforeBuild() { var state = new WorkbenchStateController(); Assert.False(state.CanValidate); }
[Fact]
public void VerifyButton_DisabledAfterBuildFailure() { var state = Ready(); state.BeginBuild(); state.BuildFailed(); Assert.False(state.CanValidate); Assert.False(state.CanOpenDocx); }
[Fact]
public void VerifyButton_EnabledAfterBuildSuccess() { var state = Ready(); state.BeginBuild(); state.BuildSucceeded(); Assert.True(state.CanValidate); Assert.True(state.CanOpenDocx); Assert.True(state.CanOpenPdf); }
private static WorkbenchStateController Ready() { var state = new WorkbenchStateController(); state.InputsSelected(true); state.AnalysisCompleted(true, true, true); return state; }
}
@@ -0,0 +1,26 @@
using DocumentAutomation.Shared;
using StandardsWorkbench.Core;
namespace StandardsWorkbench.Tests;
public sealed class RulesEngineTests
{
[Fact]
public void OnlyApprovedRulesAreEvaluated()
{
var document = new DocumentInspectionResult { FilePath = "synthetic.docx", ContentControls = 1, Sections = 1, Paragraphs = 2, Tables = 0 };
var profile = new ApprovedRulesProfile { StandardId = "TEST", Code = "TEST", Revision = "1", Rules = [
new CandidateRule { CandidateId = "approved", StandardId = "TEST", ClauseId = "1", SourceText = "x", Title = "x", RuleKind = "ContentControlPresence", Status = "Approved" },
new CandidateRule { CandidateId = "new", StandardId = "TEST", ClauseId = "2", SourceText = "x", Title = "x", RuleKind = "SectionCount", Status = "New" }
], SourceFileSha256 = "test"};
var result = new RulesEngine().Evaluate(document, profile); Assert.Single(result); Assert.Equal(RuleEvaluationStatus.Pass, result[0].Status);
}
[Fact]
public void FailedRuleHasClauseReference()
{
var document = new DocumentInspectionResult { FilePath = "synthetic.docx", ContentControls = 0, Sections = 1, Paragraphs = 1, Tables = 0 };
var rule = new CandidateRule { CandidateId = "cc", StandardId = "TEST", ClauseId = "6.3", SourcePage = 4, SourceText = "required", Title = "cc", RuleKind = "ContentControlPresence", Status = "Tested" };
var result = Assert.Single(new RulesEngine().Evaluate(document, new ApprovedRulesProfile { StandardId = "TEST", Code = "TEST", Revision = "1", SourceFileSha256 = "test", Rules = [rule] })); Assert.Equal(RuleEvaluationStatus.Fail, result.Status); Assert.Equal("6.3", result.ClauseId); Assert.Equal(4, result.SourcePage);
}
}
@@ -0,0 +1,25 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup><ProjectReference Include="..\..\src\StandardsWorkbench.Core\StandardsWorkbench.Core.csproj" /></ItemGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="xunit" Version="2.5.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.3" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
</Project>
@@ -0,0 +1,32 @@
# P_Rec_BOP — статический технический аудит
Дата аудита: 2026-07-31. Источник использован только для чтения; исходники, шаблон и бинарные файлы в Git не копировались.
## Краткий вывод
`P_Rec_BOP` — самостоятельное WinForms EXE («Ведомость объемов работ»), а не загружаемый AutoCAD .NET-плагин: в исходниках не найдены `CommandMethod`, `IExtensionApplication` или `Initialize` Plant-команды. Пользователь выбирает `Project.xml`, программа читает `Piping.dcf` и `ProcessPower.dcf`, проверяет состояние проекта, выбирает чертежи и номера линий, рассчитывает объемы труб/элементов/опор/креплений и сварных стыков, затем заполняет DOCX-шаблон и открывает результат.
Подтвержденный шаблон: `templates\Шаблон.docx`; по умолчанию путь вычисляется относительно сборки, либо задается `ReportTemplate` в `Settings.xml`. Результат сохраняется в проектную папку `Export to Smeta` (для проектов с диска A используется `\ProResults\P_Rec_BOP`) с именем `Ведомость объемов работ (дата время).docx`.
## Разделение доказательности
* Подтверждено исходниками: приведенные в отчетах пути и строки, вызовы SQLite/SQL, таблицы Plant, адресация Word-таблиц и ячеек, копирование шаблона во временный файл.
* Вывод из исходников: отчёт предназначен для сметчиков и формируется по выбранному фильтру.
* Предположение: запуск выполняется внешним пользователем/ярлыком или из корпоративного набора, так как регистрация команды AutoCAD отсутствует.
* Неизвестно: фактическая версия AutoCAD/Plant 3D runtime, установленная версия Word и успешность запуска на Plant 3D 2026.
## Состав
Подробности находятся в `source-inventory.md`, `architecture.md`, `document-generation-flow.md`, `template-analysis.md`, `field-mapping.md`, `compatibility-2019-2026.md`, `reusable-components.md`, `risks.md` и `migration-plan.md`. Машиночитаемые доказательства — в `evidence/`; это агрегированные списки, хэши и результаты поиска.
## Главные ответы
* Plant-данные: `Piping.dcf` (EngineeringItems и связанные таблицы), `ProcessPower.dcf` (PnPProject и свойства проекта), выбранные чертежи/линии и вспомогательные XML/XLS/PSPC.
* Word API: Microsoft.Office.Interop.Word; альтернативно SautinSoft.Document.
* Заполнение: первая таблица основного документа, строки и ячейки по позициям; отдельные таблицы колонтитулов и жесткие номера ячеек.
* PDF: в найденном коде `ExportAsFixedFormat` не обнаружен.
* Повторное использование: алгоритмы извлечения данных — только через Plant adapter; документный mapping — референс для тестов, но Word слой требуется изолировать и переработать.
## Официальные материалы 2026
Сравнение ограничено официальными материалами Autodesk: [What's New 2026](https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-WhatsNew/files/GUID-384C71E7-9012-48B1-95B2-D4C42EBCF423.htm), [Release Notes](https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-ReleaseNotes/files/AUTOCAD_PLNT3D_2026_RELEASE_NOTES.html), [команды и системные переменные](https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-UserGuide/files/GUID-65DE87DF-BF07-49A0-B026-FF51210E349A.htm). Эти источники не подтверждают эквивалентность корпоративной ВОР; списание плагина требует runtime-сравнения.
@@ -0,0 +1,21 @@
# Архитектура
```mermaid
flowchart TD
U[Пользователь/внешний запуск] --> E[P_Rec_BOP.exe]
E --> S[Settings.xml]
E --> P[Project.xml]
P --> D[Piping.dcf]
P --> PP[ProcessPower.dcf]
E --> F[Формы и фильтр чертежей/линий]
F --> C[Расчеты PipingElements/Welds]
C --> R[ReportWithWorder]
R --> W[Worder: Word PIA или SautinSoft]
W --> T[Шаблон.docx]
W --> O[DOCX в проектной папке]
E --> A[AcCoreConsole + ConsoleGetDrawingInformation.dll]
```
`Program.Main` последовательно читает настройки, запрашивает `Project.xml`, проверяет домен/диск N, определяет папку проекта, проверяет открытые DWG, читает DCF и показывает формы (`Program.cs:53-118`, `125-210`, `265-356`). После проверок запускается `ReportWithWorder.OutputReport()` и результат открывается через `Process.Start` (`Program.cs:726-770`).
Это не DLL, загружаемая Plant 3D. Сопряжение с Plant 3D реализовано через файловые базы проекта и внешний `AcCoreConsole`, а не через обнаруженную AutoCAD command registration.
@@ -0,0 +1,16 @@
# Пользовательский сценарий и точки входа
Точка входа — `P_Rec_BOP/Program.cs:53` (`static void Main(string[] args)`). Аргумент командной строки может быть путем к `Settings.xml` (`Program.cs:70-82`). Далее пользователь выбирает `Project.xml` в OpenFileDialog (`Program.cs:92-101`).
Сценарий:
1. Прочитать настройки и выбрать проект.
2. Проверить корпоративный домен и наличие `N:\` (`Program.cs:104-119`); это инфраструктурный gate.
3. Определить `Glob.sProjectFolder`, расположение отчета A/Q и наличие материалов НКР (`Program.cs:135-160`).
4. Проверить SQLite и отсутствие открытых чертежей (`Program.cs:163-188`).
5. Прочитать `Piping.dcf`, проверить `EngineeringItems` и принадлежность компонентов номерам линий (`Program.cs:191-261`).
6. Прочитать `ProcessPower.dcf` (`Program.cs:265-285`), заполнить форму основной надписи (`Program.cs:289-296`).
7. Проверить Z-координату и построить списки чертежей/линий; пользователь подтверждает выбор (`Program.cs:313-356`).
8. При отсутствии ошибок создать `ReportWithWorder`, построить документ и открыть его (`Program.cs:726-770`).
Команд AutoCAD `CommandMethod` и lifecycle `IExtensionApplication` в исходниках не обнаружено; результат зафиксирован в `evidence/commands-search.txt` как отсутствие совпадений. Это делает EXE внешним инструментом, даже если он использует AutoCAD console для чтения отдельных DWG.
@@ -0,0 +1,16 @@
# Совместимость 2019 → 2026
Подтвержденные привязки: `Settings.xml:7` — `C:\Program Files\Autodesk\AutoCAD 2019\accoreconsole.exe`; `P_Rec_BOP.csproj` — `.NET Framework 4.7`, x86, Office PIA 15 и x32 SQLite; `DrawingsInformation.cs:132` — комментарий AutoCAD 2019. Это потенциальные точки миграции, а не доказательство несовместимости.
Официальные материалы Autodesk 2026 описывают новые/измененные Plant 3D функции, в том числе улучшения проекта, 3D-моделирования и Ortho; отдельная официальная документация не подтверждает, что корпоративная ВОР, специфические DCF-запросы или внешний `ConsoleGetDrawingInformation.dll` заменяются штатной возможностью. Поэтому статус: `OFFICIAL_RESEARCH_REQUIRED`, runtime-снятие плагина не рекомендовано.
План адаптации:
* вынести чтение DCF и модели в `IPlantProjectDataProvider`;
* заменить AutoCAD 2019 console path конфигурацией и adapter 2026;
* отделить document-independent DTO/calculation от Word engine;
* заменить PIA-обязательность поздним COM или отдельным Word worker, проверить Office 64-bit;
* заменить x86 SQLite native dependency на проверенную 2026-совместимую сборку;
* сравнить golden DOCX/PDF и значения на тестовом копировании проекта.
Официальные источники: [Plant 3D 2026 What's New](https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-WhatsNew/files/GUID-384C71E7-9012-48B1-95B2-D4C42EBCF423.htm), [Plant 3D 2026 Release Notes](https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-ReleaseNotes/files/AUTOCAD_PLNT3D_2026_RELEASE_NOTES.html), [2026 commands/system variables](https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-UserGuide/files/GUID-65DE87DF-BF07-49A0-B026-FF51210E349A.htm).
@@ -0,0 +1,12 @@
# Зависимости
| Зависимость | Где | Назначение | Риск |
|---|---|---|---|
| Microsoft.Office.Interop.Word 15.0.0.0 | `P_Rec_BOP.csproj`, `Worder.cs` | Word COM, поля, таблицы, сохранение | Office PIA/версия/битность, COM lifecycle |
| SautinSoft.Document | csproj/lib, `Worder.cs` | альтернативный DOCX/RTF engine | лицензия, качество round-trip, бинарная зависимость |
| System.Data.SQLite x32 | csproj/lib, Program/SQLiteDataBase | чтение DCF SQLite | x86 и native DLL |
| `ConsoleGetDrawingInformation.dll` | csproj/DrawingsInformation | чтение сведений DWG через console | AutoCAD 2019 путь/API и временные копии |
| `accoreconsole.exe` | `Settings.xml` | извлечение данных из DWG | жесткий путь AutoCAD 2019 |
| внешние XLS/PSPC/XML | `Settings.xml`, `XMLFile.cs` | материалы, трассировка, НКР | сетевые пути и отсутствие версионирования |
Прямых ссылок на `AcMgd`, `AcDbMgd`, `PnP3dObjectsMgd` в проекте не найдено; Plant coupling — через DCF и console helper. Полный безопасный список ссылок: `evidence/project-references.csv`; поиск API: `evidence/plant-api-search.txt`.
@@ -0,0 +1,9 @@
# Формирование Word-документа
`ReportWithWorder.OutputReport` проверяет `.docx`-шаблон, создает каталог проекта и имя `Ведомость объемов работ (yyyy.MM.dd HH.mm.ss).docx` (`ReportWithWorder.cs:30-54`). Движок по умолчанию — Microsoft Office Interop, но пользователю предлагается переключиться на SautinSoft (`ReportWithWorder.cs:54-85`).
`Worder.Load` копирует шаблон в `%TEMP%` (`Worder.cs:305-322`). Office-ветка создает `Word.Application`, открывает временный документ, берет `Tables[1]`, таблицы footer первой и основной страницы, делает Word видимым и меняет View/Selection (`Worder.cs:326-355`). SautinSoft-ветка загружает DocumentCore и берет первую таблицу и footer-таблицы по индексам (`Worder.cs:357-370`).
Основные строки результата строятся `ReportWithWorder.cs:93-1287`: группы `PipingElement` и сварные стыки превращаются в строки `Cells12345TableRow`; строки добавляются через `Worder.AddNewRowToTable`. `Worder.cs:588-626` показывает, что Office использует `_wordTable.Rows.Add(ref oMissing)`, а SautinSoft клонирует вторую строку.
Поля обновляются в основном тексте и headers/footers (`Worder.cs:742-763`), затем документ сохраняется, закрывается и Word завершается (`Worder.cs:383-420`). Важный риск: COM-объекты не освобождаются через `Marshal.FinalReleaseComObject`, а `Load`/`SaveAndUnload` ловят исключения и продолжают путь копирования (`Worder.cs:372-380`, `508-519`); возможны поврежденный результат и зависший WINWORD.EXE.
@@ -0,0 +1 @@
NO_MATCH
@@ -0,0 +1,4 @@
command_or_entrypoint,file,line,class_or_method,user_purpose,confidence
Main,P_Rec_BOP/Program.cs,53,Program.Main,Standalone WinForms entrypoint,confirmed
AutoCAD command registration,none,none,none,No CommandMethod/IExtensionApplication found,confirmed
Report generation,P_Rec_BOP/Program.cs,745,ReportWithWorder.OutputReport,Create and open VOR DOCX,confirmed
1 command_or_entrypoint file line class_or_method user_purpose confidence
2 Main P_Rec_BOP/Program.cs 53 Program.Main Standalone WinForms entrypoint confirmed
3 AutoCAD command registration none none none No CommandMethod/IExtensionApplication found confirmed
4 Report generation P_Rec_BOP/Program.cs 745 ReportWithWorder.OutputReport Create and open VOR DOCX confirmed
@@ -0,0 +1,7 @@
field,source,transform,destination,evidence
ProjectName,ProcessPower.dcf/PnPProject or SetMainTitle UI,string pass-through,footer cell 7,SetMainTitle.cs:21-24; Worder.cs:812-820
DocumentName,ReportWithWorder constant,string pass-through,first-page footer cell 24,ReportWithWorder.cs:1308-1310; Worder.cs:821-826
DesignerRows,SetMainTitle UI,string pass-through,footer title cells,Worder.cs:827 onward
PipingElements,Piping.dcf tables,group/round/format,main table rows,ReportWithWorder.cs:93-190
Welds,Piping.dcf and selected line data,group by line/control,main table rows,Welds.cs; ReportWithWorder.cs
OutputFileName,current date/time,yyyy.MM.dd HH.mm.ss,project report folder,ReportWithWorder.cs:49-52
1 field source transform destination evidence
2 ProjectName ProcessPower.dcf/PnPProject or SetMainTitle UI string pass-through footer cell 7 SetMainTitle.cs:21-24; Worder.cs:812-820
3 DocumentName ReportWithWorder constant string pass-through first-page footer cell 24 ReportWithWorder.cs:1308-1310; Worder.cs:821-826
4 DesignerRows SetMainTitle UI string pass-through footer title cells Worder.cs:827 onward
5 PipingElements Piping.dcf tables group/round/format main table rows ReportWithWorder.cs:93-190
6 Welds Piping.dcf and selected line data group by line/control main table rows Welds.cs; ReportWithWorder.cs
7 OutputFileName current date/time yyyy.MM.dd HH.mm.ss project report folder ReportWithWorder.cs:49-52
@@ -0,0 +1,150 @@
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\CHANGELOG.md:166: - добавление проверки библиотеки SQLite при старте программы
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:89:добавлена проверка библиотеки SQLite на работоспособность при старте
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:2://using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:3:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:10: // Класс для работы с CSV-файлами
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:11: class CSVFile
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:13: public DataTable dtRows; // таблица с записями CSV-файла
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:14: public const string csCSVDelimeter = ";"; // разделитель CSV-файла
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:15: const bool cbIncludeHeader = true; // включить заголовки полей CSV-файла
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:31: // Прочитать CSV-файл
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:41: string[] asColumnNames = srStreamReader.ReadLine().Split(csCSVDelimeter.ToCharArray());
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:81: //This will work for Excel, Access, etc. default exports.
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:90: string[] asFieldValues = sRecord.Split(csCSVDelimeter.ToCharArray());
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:101: // Сохранить CSV-файл
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:104: // StringBuilder для содержимого CSV-файла
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:114: sbResult.Append(csCSVDelimeter);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:125: string sFieldValue = string.Format("{0}", oFieldValue).Replace(csCSVDelimeter, "\"" + csCSVDelimeter + "\"");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:126: sbResult.Append(sFieldValue + csCSVDelimeter);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:144: // Сохранить CSV-файл
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:145: using (StreamWriter swStreamWriter = new StreamWriter(sFullFileName, false, Encoding.GetEncoding(1251)))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:147: swStreamWriter.Write(sbResult.ToString());
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:6:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:7:using System.Data.SqlClient;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:8:using System.Data.SQLite;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:9:using System.Xml.Linq;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:159: System.Data.DataTable tablePnPDrawings = _projectPipingDcf.Tables["PnPDrawings"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:211: //System.Data.DataTable tableEngineeringItems = _projectPipingDcf.Tables["EngineeringItems"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:256: System.Data.DataTable tableEngineeringItems = _projectPipingDcf.Tables["EngineeringItems"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:257: System.Data.DataTable tablePnPDataLinks = _projectPipingDcf.Tables["PnPDataLinks"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:258: System.Data.DataTable tablePnPDrawings = _projectPipingDcf.Tables["PnPDrawings"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:259: System.Data.DataTable tableP3dLineGroupPartRelationship = _projectPipingDcf.Tables["P3dLineGroupPartRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:260: System.Data.DataTable tableP3dLineGroup = _projectPipingDcf.Tables["P3dLineGroup"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:262: // System.Data.DataTable tableP3dDrawingLineGroupRelationship = _projectPipingDcf.Tables["P3dDrawingLineGroupRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:472: System.Data.DataTable tableEngineeringItems = _projectPipingDcf.Tables["EngineeringItems"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:473: System.Data.DataTable tablePnPDataLinks = _projectPipingDcf.Tables["PnPDataLinks"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:474: System.Data.DataTable tablePnPDrawings = _projectPipingDcf.Tables["PnPDrawings"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:475: System.Data.DataTable tableP3dLineGroupPartRelationship = _projectPipingDcf.Tables["P3dLineGroupPartRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:476: System.Data.DataTable tableP3dLineGroup = _projectPipingDcf.Tables["P3dLineGroup"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:478: // System.Data.DataTable tableP3dDrawingLineGroupRelationship = _projectPipingDcf.Tables["P3dDrawingLineGroupRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:480: System.Data.DataTable tablePipe = _projectPipingDcf.Tables["Pipe"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:483: System.Data.DataTable tablePipeBend = null;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:7:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:22: System.Data.DataTable dtDrawingsInformation;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:64: using (StreamWriter swScriptFile = new StreamWriter(Path.GetTempPath() + "\\" + sScriptFileName, false, Encoding.GetEncoding(1251)))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:66: swScriptFile.Write(sbScriptFile.ToString());
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:95: dtDrawingsInformation = CSVFile.ReadFile(Path.GetTempPath() + "\\" + sReportFileName);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:128: private System.Data.DataTable ApplyConsoleGetDrawingInformationLibToDwgs(List<Drawing> dwgItemList, string sCSVDelimeter)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:130: System.Data.DataTable resTable = new System.Data.DataTable();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:211: scr += "\"" + sCSVDelimeter + "\"";
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:248: using (StreamWriter swScriptFile = new StreamWriter(
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:251: swScriptFile.Write(sbScriptFile.ToString());
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:291: resTable = CSVFile.ReadFile(sOutputFilePath);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Glob.cs:35: // читается в [CSVFile.cs], [Program.cs], [SetMainTitle.cs]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:5:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:21: public static bool AllMaterialsInXml(string[] asSpecPaths, string sTracingSpecPath)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:143: DataSet dsSpec = SQLiteDataBase.ReadDB(sSpecFile);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:300: Program.IsErrorCodeNotOK(ErrorCode.ecCatchInAllMaterialsInXml);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:3:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:158: DataSet dsTracingSpec = SQLiteDataBase.ReadDB(Glob.sTracingSpecPath);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:4:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:14:using System.Data.SQLite;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:82: if (XMLFile.ReadXMLFile() != 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:163: // проверяем работоспособность модуля SQLite
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:168: using (SQLiteConnection sqlcConnection = new SQLiteConnection())
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:177: Glob.TracedMessageBoxShow("Проблема с подключением к библиотекам SQLite");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:200: isSqlite = sr.ReadLine().StartsWith("SQLite");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:208: dsPipingDCF = SQLiteDataBase.ReadDB(Glob.sProjectFolder + "\\Piping.dcf");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:273: isSqlite = sr.ReadLine().StartsWith("SQLite");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:281: dsProcessPowerDCF = SQLiteDataBase.ReadDB(Glob.sProjectFolder + "\\ProcessPower.dcf");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:556: if (!Materials.AllMaterialsInXml(Glob.workingSpecPathList.ToArray(), Glob.sTracingSpecPath))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:579: //if (!Specs.AllSpecsInXml()) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:639: CSVFile csvfErrorNKRs = new CSVFile();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:640: csvfErrorNKRs.dtRows = new System.Data.DataTable();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:752: using (StreamWriter sZCorrectionFile = new StreamWriter(
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:757: sZCorrectionFile.WriteLine(dZCorrection.ToString());
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:959: ecCatchInAllMaterialsInXml = 40, // catch в методе AllMaterialsInXml
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:962: ecNoMetricNominalDiameterFoundInMaterial = 43, // невозможно определить метрический номинальный диаметр для британского в AllMaterialsInXml
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:974: ecNoImperialNominalDiameterFoundInMaterial = 55, // невозможно определить британский номинальный диаметр для метрического в AllMaterialsInXml
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\lib\Readme.txt:2:System.Data.SQLite.dll
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\lib\Readme.txt:3:SQLite.Interop.dll
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:56: <Compile Include="CSVFile.cs" />
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:89: <Compile Include="SQLiteDataBase.cs" />
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:96: <Compile Include="XLSFile.cs" />
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:109: <Reference Include="System.Data" />
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:110: <Reference Include="System.Data.DataSetExtensions" />
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:111: <Reference Include="System.Data.SQLite">
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:112: <HintPath>lib\x32\System.Data.SQLite.dll</HintPath>
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:117: <Reference Include="System.Xml.Linq" />
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:165: <Content Include="SQLite.Interop.dll">
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:7:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:120: dsMaterials = XLSFile.ReadFile(sMaterialsFile);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:133: string sLines = srScriptFile.ReadToEnd();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:178: foreach (DataTable dtXLSheet in dsMaterials.Tables)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:180: DataRow[] adrMaterial = dtXLSheet.Select("[Guid]='" + gTag.ToString() + "'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:4:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:4:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:72: bool bFromCSV = false;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:100: DataTable dtSource = CSVFile.ReadFile(sProjectPropertiesFile);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:117: bFromCSV = true;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:123: if (!bFromCSV)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:184: if (bFromCSV || bFromProject)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:255: CSVFile csvfProjectProperties = new CSVFile();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLDataBase.cs:4:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLDataBase.cs:5:using System.Data.SqlClient;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLDataBase.cs:8:using System.Xml.Linq;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLDataBase.cs:32: XElement dcfAsXml = XElement.Load(sFileName);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLDataBase.cs:33: IEnumerable<string> names = from item in dcfAsXml.Descendants("Parameter")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLDataBase.cs:37: names = from item in dcfAsXml.Descendants("Parameter")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLDataBase.cs:55: using (sqldaAdapter = new SqlDataAdapter("SELECT * FROM [" + sTableName + "]", sqlcConnection))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Specs.cs:18: //public static bool AllSpecsInXml() {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLiteDataBase.cs:2:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLiteDataBase.cs:3:using System.Data.SQLite;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLiteDataBase.cs:11: // Класс для чтения базы данных SQLite
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLiteDataBase.cs:12: class SQLiteDataBase
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLiteDataBase.cs:14: // Прочитать базу данных SQLite
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLiteDataBase.cs:20: SQLiteDataAdapter sqldaAdapter = null; // SQLiteDataAdapter для чтения таблицы БД
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLiteDataBase.cs:25: using (SQLiteConnection sqlcConnection = new SQLiteConnection())
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLiteDataBase.cs:37: using (sqldaAdapter = new SQLiteDataAdapter("SELECT * FROM [" + sTableName + "]", sqlcConnection))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:3:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:3:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:2:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:18: // Создать объект CSVFile для вывода информации по PipingElements.lpePipingElements
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:19: CSVFile csvfPipingElements = new CSVFile();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:72: // Создать объект CSVFile для вывода информации по ValveGroups.lvgValveGroups
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:73: CSVFile csvfValves = new CSVFile();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:112: // Создать объект CSVFile для вывода информации по SupportGroups.lsgSupportGroups
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:113: CSVFile csvfSupports = new CSVFile();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:148: // Создать объект CSVFile для вывода информации по SupportGroups.lnkrNKRGroups
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:149: CSVFile csvfNKRs = new CSVFile();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:186: // Создать объект CSVFile для вывода информации по Welds.lwlnLineNumbers
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:187: CSVFile csvfWeldControlForLineNumbers = new CSVFile();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:230: // Создать объект CSVFile для вывода информации по Welds.lpWelds
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:231: CSVFile csvfWeldControlTotal = new CSVFile();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:256: // Создать объект CSVFile для вывода информации по Welds.lhtWelds
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:257: CSVFile csvfWeldHeatTreatment = new CSVFile();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:310: // Создать объект CSVFile для вывода информации по TestLineNumbers.lpPiping
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:311: CSVFile csvfPipingTest = new CSVFile();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:2:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:3:using System.Data.OleDb;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:9: // Класс для чтения XLS-файла
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:10: class XLSFile
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:15: DataSet dsXLSFile = new DataSet();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:23: "Data Source=" + sFileName + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:28: DataTable dtDbSchemaTable = odbcConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); // DataTable для хранения схемы файла Excel
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:29: //string[] asExcelSheets = new String[dtDbSchemaTable.Rows.Count]; // массив с именами листов файла Excel
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:50: dsXLSFile.Tables.Add(dtTempDataTable);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:63: return dsXLSFile;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:4:using System.Data;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XMLFile.cs:2:using System.Xml.Linq;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:3:using System.Data;
@@ -0,0 +1,9 @@
file,line,api,purpose,risk,reuse
P_Rec_BOP/Worder.cs,331,Word.Application,Create Word COM server,PIA/COM lifecycle,DO_NOT_REUSE
P_Rec_BOP/Worder.cs,332,Documents.Open,Open temporary template copy,Office/version,REUSE_AFTER_ISOLATION
P_Rec_BOP/Worder.cs,333,Tables[1],Select main output table,Template schema fragility,REIMPLEMENT_WITH_SAME_BEHAVIOR
P_Rec_BOP/Worder.cs,335,Sections[1].Footers[...].Range.Tables[1],Select title block footer tables,Template schema fragility,REIMPLEMENT_WITH_SAME_BEHAVIOR
P_Rec_BOP/Worder.cs,609,Rows.Add,Append report rows,Fixed row assumptions,REIMPLEMENT_WITH_SAME_BEHAVIOR
P_Rec_BOP/Worder.cs,748,Fields.Update,Update document fields,Word automation,REUSE_AFTER_ISOLATION
P_Rec_BOP/Worder.cs,755,HeaderFooter.Range.Fields.Update,Update header/footer fields,Word automation,REUSE_AFTER_ISOLATION
P_Rec_BOP/Worder.cs,416,Document.Save,Save result,COM cleanup,REUSE_AFTER_ISOLATION
1 file line api purpose risk reuse
2 P_Rec_BOP/Worder.cs 331 Word.Application Create Word COM server PIA/COM lifecycle DO_NOT_REUSE
3 P_Rec_BOP/Worder.cs 332 Documents.Open Open temporary template copy Office/version REUSE_AFTER_ISOLATION
4 P_Rec_BOP/Worder.cs 333 Tables[1] Select main output table Template schema fragility REIMPLEMENT_WITH_SAME_BEHAVIOR
5 P_Rec_BOP/Worder.cs 335 Sections[1].Footers[...].Range.Tables[1] Select title block footer tables Template schema fragility REIMPLEMENT_WITH_SAME_BEHAVIOR
6 P_Rec_BOP/Worder.cs 609 Rows.Add Append report rows Fixed row assumptions REIMPLEMENT_WITH_SAME_BEHAVIOR
7 P_Rec_BOP/Worder.cs 748 Fields.Update Update document fields Word automation REUSE_AFTER_ISOLATION
8 P_Rec_BOP/Worder.cs 755 HeaderFooter.Range.Fields.Update Update header/footer fields Word automation REUSE_AFTER_ISOLATION
9 P_Rec_BOP/Worder.cs 416 Document.Save Save result COM cleanup REUSE_AFTER_ISOLATION
@@ -0,0 +1,58 @@
"RelativePath","Extension","Category","Length","LastWriteTimeUtc"
".editorconfig",".editorconfig","other","1158","2024-09-17T10:28:36.0000000Z"
".gitattributes",".gitattributes","other","1663","2024-09-17T10:28:36.0000000Z"
".gitignore",".gitignore","other","6578","2024-09-17T10:28:36.0000000Z"
"CHANGELOG.md",".md","other","6550","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP.sln",".sln","project","1077","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\App.config",".config","configuration","217","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Components.cs",".cs","source","14041","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\ConsoleGetDrawingInformation.dll",".dll","binary","17920","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\CSVFile.cs",".cs","source","7037","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\DrawingsAndLinenumbers.cs",".cs","source","52738","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\DrawingsInformation.cs",".cs","source","34474","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Glob.cs",".cs","source","6410","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\InputBox.cs",".cs","source","2033","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\lib\ConsoleGetDrawingInformation.dll",".dll","binary","17920","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\lib\Precompiled Binaries for 64-bit Windows (.NET Framework 4.6).txt",".txt","other","0","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\lib\Readme.txt",".txt","other","369","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\lib\SautinSoft.Document.dll",".dll","binary","5899264","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\lib\SQLite.Interop.dll",".dll","binary","1626624","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\lib\System.Data.SQLite.dll",".dll","binary","381952","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\lib\x32\Microsoft.Office.Interop.Word.dll",".dll","binary","940672","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\lib\x32\Microsoft.Office.Interop.Word.xml",".xml","other","2898934","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\lib\x32\SQLite.Interop.dll",".dll","binary","1248768","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\lib\x32\System.Data.SQLite.dll",".dll","binary","381952","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Materials.cs",".cs","source","20141","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\P_Rec_BOP.csproj",".csproj","project","7590","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\PipingElements.cs",".cs","source","100089","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Program.cs",".cs","source","61679","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Properties\AssemblyInfo.cs",".cs","source","1825","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Properties\Resources.Designer.cs",".cs","source","3607","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Properties\Resources.resx",".resx","resource","6327","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\PYFile.cs",".cs","source","14445","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\ReportWithWorder.cs",".cs","source","71204","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Resources\TitleBox1.png",".png","resource","37188","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Resources\TitleBox2.png",".png","resource","35579","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\ReversePolishNotation.cs",".cs","source","27685","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\SelectDrawingsAndLinenumbers.cs",".cs","source","25971","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\SelectDrawingsAndLinenumbers.designer.cs",".cs","source","8468","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\SelectDrawingsAndLinenumbers.resx",".resx","resource","5698","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\SetMainTitle.cs",".cs","source","15478","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\SetMainTitle.designer.cs",".cs","source","9881","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\SetMainTitle.resx",".resx","resource","62444","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Settings.xml",".xml","other","49258","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Specs.cs",".cs","source","7094","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\SQLDataBase.cs",".cs","source","4038","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\SQLite.Interop.dll",".dll","binary","1248768","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\SQLiteDataBase.cs",".cs","source","3075","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Supports.cs",".cs","source","66253","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\TestLineNumbers.cs",".cs","source","14600","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Valves.cs",".cs","source","40930","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Versions.cs",".cs","source","19162","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Welds.cs",".cs","source","144425","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\Worder.cs",".cs","source","41818","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\XLSFile.cs",".cs","source","3358","2024-09-17T10:28:36.0000000Z"
"P_Rec_BOP\XMLFile.cs",".cs","source","20822","2024-09-17T10:28:36.0000000Z"
"README.md",".md","other","8712","2024-09-17T10:28:36.0000000Z"
"templates\Шаблон.docx",".docx","template/document","88534","2024-09-17T10:28:36.0000000Z"
"Комментарии.txt",".txt","other","1853","2024-09-17T10:28:36.0000000Z"
1 RelativePath Extension Category Length LastWriteTimeUtc
2 .editorconfig .editorconfig other 1158 2024-09-17T10:28:36.0000000Z
3 .gitattributes .gitattributes other 1663 2024-09-17T10:28:36.0000000Z
4 .gitignore .gitignore other 6578 2024-09-17T10:28:36.0000000Z
5 CHANGELOG.md .md other 6550 2024-09-17T10:28:36.0000000Z
6 P_Rec_BOP.sln .sln project 1077 2024-09-17T10:28:36.0000000Z
7 P_Rec_BOP\App.config .config configuration 217 2024-09-17T10:28:36.0000000Z
8 P_Rec_BOP\Components.cs .cs source 14041 2024-09-17T10:28:36.0000000Z
9 P_Rec_BOP\ConsoleGetDrawingInformation.dll .dll binary 17920 2024-09-17T10:28:36.0000000Z
10 P_Rec_BOP\CSVFile.cs .cs source 7037 2024-09-17T10:28:36.0000000Z
11 P_Rec_BOP\DrawingsAndLinenumbers.cs .cs source 52738 2024-09-17T10:28:36.0000000Z
12 P_Rec_BOP\DrawingsInformation.cs .cs source 34474 2024-09-17T10:28:36.0000000Z
13 P_Rec_BOP\Glob.cs .cs source 6410 2024-09-17T10:28:36.0000000Z
14 P_Rec_BOP\InputBox.cs .cs source 2033 2024-09-17T10:28:36.0000000Z
15 P_Rec_BOP\lib\ConsoleGetDrawingInformation.dll .dll binary 17920 2024-09-17T10:28:36.0000000Z
16 P_Rec_BOP\lib\Precompiled Binaries for 64-bit Windows (.NET Framework 4.6).txt .txt other 0 2024-09-17T10:28:36.0000000Z
17 P_Rec_BOP\lib\Readme.txt .txt other 369 2024-09-17T10:28:36.0000000Z
18 P_Rec_BOP\lib\SautinSoft.Document.dll .dll binary 5899264 2024-09-17T10:28:36.0000000Z
19 P_Rec_BOP\lib\SQLite.Interop.dll .dll binary 1626624 2024-09-17T10:28:36.0000000Z
20 P_Rec_BOP\lib\System.Data.SQLite.dll .dll binary 381952 2024-09-17T10:28:36.0000000Z
21 P_Rec_BOP\lib\x32\Microsoft.Office.Interop.Word.dll .dll binary 940672 2024-09-17T10:28:36.0000000Z
22 P_Rec_BOP\lib\x32\Microsoft.Office.Interop.Word.xml .xml other 2898934 2024-09-17T10:28:36.0000000Z
23 P_Rec_BOP\lib\x32\SQLite.Interop.dll .dll binary 1248768 2024-09-17T10:28:36.0000000Z
24 P_Rec_BOP\lib\x32\System.Data.SQLite.dll .dll binary 381952 2024-09-17T10:28:36.0000000Z
25 P_Rec_BOP\Materials.cs .cs source 20141 2024-09-17T10:28:36.0000000Z
26 P_Rec_BOP\P_Rec_BOP.csproj .csproj project 7590 2024-09-17T10:28:36.0000000Z
27 P_Rec_BOP\PipingElements.cs .cs source 100089 2024-09-17T10:28:36.0000000Z
28 P_Rec_BOP\Program.cs .cs source 61679 2024-09-17T10:28:36.0000000Z
29 P_Rec_BOP\Properties\AssemblyInfo.cs .cs source 1825 2024-09-17T10:28:36.0000000Z
30 P_Rec_BOP\Properties\Resources.Designer.cs .cs source 3607 2024-09-17T10:28:36.0000000Z
31 P_Rec_BOP\Properties\Resources.resx .resx resource 6327 2024-09-17T10:28:36.0000000Z
32 P_Rec_BOP\PYFile.cs .cs source 14445 2024-09-17T10:28:36.0000000Z
33 P_Rec_BOP\ReportWithWorder.cs .cs source 71204 2024-09-17T10:28:36.0000000Z
34 P_Rec_BOP\Resources\TitleBox1.png .png resource 37188 2024-09-17T10:28:36.0000000Z
35 P_Rec_BOP\Resources\TitleBox2.png .png resource 35579 2024-09-17T10:28:36.0000000Z
36 P_Rec_BOP\ReversePolishNotation.cs .cs source 27685 2024-09-17T10:28:36.0000000Z
37 P_Rec_BOP\SelectDrawingsAndLinenumbers.cs .cs source 25971 2024-09-17T10:28:36.0000000Z
38 P_Rec_BOP\SelectDrawingsAndLinenumbers.designer.cs .cs source 8468 2024-09-17T10:28:36.0000000Z
39 P_Rec_BOP\SelectDrawingsAndLinenumbers.resx .resx resource 5698 2024-09-17T10:28:36.0000000Z
40 P_Rec_BOP\SetMainTitle.cs .cs source 15478 2024-09-17T10:28:36.0000000Z
41 P_Rec_BOP\SetMainTitle.designer.cs .cs source 9881 2024-09-17T10:28:36.0000000Z
42 P_Rec_BOP\SetMainTitle.resx .resx resource 62444 2024-09-17T10:28:36.0000000Z
43 P_Rec_BOP\Settings.xml .xml other 49258 2024-09-17T10:28:36.0000000Z
44 P_Rec_BOP\Specs.cs .cs source 7094 2024-09-17T10:28:36.0000000Z
45 P_Rec_BOP\SQLDataBase.cs .cs source 4038 2024-09-17T10:28:36.0000000Z
46 P_Rec_BOP\SQLite.Interop.dll .dll binary 1248768 2024-09-17T10:28:36.0000000Z
47 P_Rec_BOP\SQLiteDataBase.cs .cs source 3075 2024-09-17T10:28:36.0000000Z
48 P_Rec_BOP\Supports.cs .cs source 66253 2024-09-17T10:28:36.0000000Z
49 P_Rec_BOP\TestLineNumbers.cs .cs source 14600 2024-09-17T10:28:36.0000000Z
50 P_Rec_BOP\Valves.cs .cs source 40930 2024-09-17T10:28:36.0000000Z
51 P_Rec_BOP\Versions.cs .cs source 19162 2024-09-17T10:28:36.0000000Z
52 P_Rec_BOP\Welds.cs .cs source 144425 2024-09-17T10:28:36.0000000Z
53 P_Rec_BOP\Worder.cs .cs source 41818 2024-09-17T10:28:36.0000000Z
54 P_Rec_BOP\XLSFile.cs .cs source 3358 2024-09-17T10:28:36.0000000Z
55 P_Rec_BOP\XMLFile.cs .cs source 20822 2024-09-17T10:28:36.0000000Z
56 README.md .md other 8712 2024-09-17T10:28:36.0000000Z
57 templates\Шаблон.docx .docx template/document 88534 2024-09-17T10:28:36.0000000Z
58 Комментарии.txt .txt other 1853 2024-09-17T10:28:36.0000000Z
@@ -0,0 +1,58 @@
"RelativePath","Length","SHA256"
".editorconfig","1158","0D35A75B9504BE5DB63CB11D44DB059825746DCF2FB6AAAB29A8798F0758252B"
".gitattributes","1663","AD78EDB5DFD7802DC618E3586DA0DCEFD2A4F311A64A359CC16398DCD06025C9"
".gitignore","6578","E9B79DE00820EBEB34759EBDEEF03EC5A3DA8CC79E337B0A8AFABA72A86BD7C4"
"CHANGELOG.md","6550","E9141F4781860034B2BA0617B4B84EB8E465B631E9F9835F320B542ECBEDC6EE"
"P_Rec_BOP.sln","1077","BE2D871B2399E0210837EB47F4B66D52CB79D3581F1099F3C95ED66D45261B02"
"P_Rec_BOP\App.config","217","3ACCE006549322AA227A742F945A57CCC951950DFADDD069654B9A9A54178A29"
"P_Rec_BOP\Components.cs","14041","93E4F2620CDD2C57B021F7351FFFE70184ED56D1E0BBD02A22C1DF8EC0F08021"
"P_Rec_BOP\ConsoleGetDrawingInformation.dll","17920","9EC139C1973B58EF2072086C16CD5824BF45B8B7D835018B37B1A516A4EE5D1C"
"P_Rec_BOP\CSVFile.cs","7037","B84B579A69477A8BE41D100C3478493536A1D55462AFAB8C55C88DA64DB0BF95"
"P_Rec_BOP\DrawingsAndLinenumbers.cs","52738","A9907AB6B46EB8C0339D2F77BDB0F659A502E051828D2D16E3E6932A258C7D1A"
"P_Rec_BOP\DrawingsInformation.cs","34474","068B63AC2B63E5AC936D258C450946650CE09F989A612C109341BEACAB9BA0E2"
"P_Rec_BOP\Glob.cs","6410","EC0E26CB215CEEB99BF4CCD5D82D36B402E607D7FEC99830E4C2E2F2377960FC"
"P_Rec_BOP\InputBox.cs","2033","A4EE6B38E58FDCFDD86B1E8ACF90BEBFBEAFCCA7AF70AE818FD8454AC2F613A3"
"P_Rec_BOP\lib\ConsoleGetDrawingInformation.dll","17920","9EC139C1973B58EF2072086C16CD5824BF45B8B7D835018B37B1A516A4EE5D1C"
"P_Rec_BOP\lib\Precompiled Binaries for 64-bit Windows (.NET Framework 4.6).txt","0","E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855"
"P_Rec_BOP\lib\Readme.txt","369","A7CE8A8E1A272B1A9DD6D5DE24CBA9C1341A50E59F1CE103EF5A289D90BC74FE"
"P_Rec_BOP\lib\SautinSoft.Document.dll","5899264","960DE19C66F486B1954B1E6E55DF13683F169D8955EF05BE7073B4B11BEE4DF7"
"P_Rec_BOP\lib\SQLite.Interop.dll","1626624","B7DFA963A09C21AE3EE7642416A168EEDBE690416C30C274E1666873117DF06D"
"P_Rec_BOP\lib\System.Data.SQLite.dll","381952","AC20FF6022AB6E5DAA9D1CA620941399AE4094CC72FE988EC92024A465E99EE3"
"P_Rec_BOP\lib\x32\Microsoft.Office.Interop.Word.dll","940672","23B1A58D7745524EFD87D3740E8363FE34D766E159C28BDF9FF2AABC79ED72D0"
"P_Rec_BOP\lib\x32\Microsoft.Office.Interop.Word.xml","2898934","76D668B99C41EBD7577111EAE2874FAF44995FD8EB20BF9F6175C4E22E09D5FD"
"P_Rec_BOP\lib\x32\SQLite.Interop.dll","1248768","E86066B2C0B9D00D75BFA5C4F7CDAC63BC520A70B72D6A58283804F4365A705B"
"P_Rec_BOP\lib\x32\System.Data.SQLite.dll","381952","AC20FF6022AB6E5DAA9D1CA620941399AE4094CC72FE988EC92024A465E99EE3"
"P_Rec_BOP\Materials.cs","20141","E9D759B563AB67C1577B49E5F70031A9B33E6F9425D089C4E908501402A42F66"
"P_Rec_BOP\P_Rec_BOP.csproj","7590","21C0D403A5F9EA8998CC718D63212446FDC1FD17709EC80BA8E909154422EDE4"
"P_Rec_BOP\PipingElements.cs","100089","89CC9C85FFFBA71395A293B112D270A33D4C339B118515341665905EDF5B9F71"
"P_Rec_BOP\Program.cs","61679","4EC712986EB584D75258F2714CF3035C06B5BF528ADC6458AD2D15190525CA7D"
"P_Rec_BOP\Properties\AssemblyInfo.cs","1825","453418BB1A77E5EE2E2ABA2DED4FFC6C7F748850B987DDEC60C85A73F2241BF6"
"P_Rec_BOP\Properties\Resources.Designer.cs","3607","B23A2C4AA1B1F2487292C8937B686B216B282158A82A098974B64CF45A48E458"
"P_Rec_BOP\Properties\Resources.resx","6327","98F984C20982C6EB8825A8E8701D56C8B80F2E7FCD874FD929A1F4611721E4E8"
"P_Rec_BOP\PYFile.cs","14445","A2FF325E1AA7CF67261951FD6EF2719CBB4BE4424E6AB6F7DA4309E7DD9B4771"
"P_Rec_BOP\ReportWithWorder.cs","71204","4EB13368BA7EC3F166612EB0093C9FACAFD1F4C34DA1EC20922E64E512D3B265"
"P_Rec_BOP\Resources\TitleBox1.png","37188","358E4618CA2AFA6DAB2BFC29FDB2316B1B8DDD472932A73AE991CB4110E93674"
"P_Rec_BOP\Resources\TitleBox2.png","35579","7C6837B130802983CA3D407EA56F46B148CDBFCB5B6B503EBE746F8945D98F41"
"P_Rec_BOP\ReversePolishNotation.cs","27685","764D375518BC1CB813DCC07BD60FFAA5D9908F4F5FDEFA109F690411340366BD"
"P_Rec_BOP\SelectDrawingsAndLinenumbers.cs","25971","6DE460137AD18ACCB80568F5C88C72BA7627CA7A657BFA87FF82C78DD571C596"
"P_Rec_BOP\SelectDrawingsAndLinenumbers.designer.cs","8468","792FDBC7D3D7C0638FFED1602106201D9300C9087749F290B9B8D984F2D6B7AD"
"P_Rec_BOP\SelectDrawingsAndLinenumbers.resx","5698","4D3EE9059F5B98AB1806F6916EBEA2A8C56023F8C63DDFD80B7378D27D1AA0F6"
"P_Rec_BOP\SetMainTitle.cs","15478","DD18254BE4653D0D419A92849B12665BA48C8E59B65C305E88EE4C65636617D9"
"P_Rec_BOP\SetMainTitle.designer.cs","9881","99409F220F85DFBAE0BC98D734B959001076BC9B1A9D620D6A354CF9C547EF37"
"P_Rec_BOP\SetMainTitle.resx","62444","CEB607A1CEB9B4AA262F4C779F2ED5AF730B8661A0031C63C02E8B425CA84EAF"
"P_Rec_BOP\Settings.xml","49258","AAEF4762FC246F8ABC5965FA5E6283DFB1716CCB9F1462EBDAE37CAD4847C136"
"P_Rec_BOP\Specs.cs","7094","E92FB765BEB5F1924F27D84FC61BD2DE5770C6D68525A2A755FBD30360A3EDA8"
"P_Rec_BOP\SQLDataBase.cs","4038","D1087DF5C777BF2B2F8A6700D0EE3AA6003B45C1BC01F52C6895F00BFB1043CD"
"P_Rec_BOP\SQLite.Interop.dll","1248768","E86066B2C0B9D00D75BFA5C4F7CDAC63BC520A70B72D6A58283804F4365A705B"
"P_Rec_BOP\SQLiteDataBase.cs","3075","424B09DB18D63284932AE8591C950D726DB57759A28F85B280BD8A0B1B719A11"
"P_Rec_BOP\Supports.cs","66253","625F261E8690A26F82F94FB193DEB4388699DCC6469E922ED38EF1CD4038B79F"
"P_Rec_BOP\TestLineNumbers.cs","14600","9E90DA99AF0DC84E8B334CE58CB8B5434BCA668EBDC83DDFEF1A33242051432F"
"P_Rec_BOP\Valves.cs","40930","D61C6ED91864535542795EF63B6858F79DBD7EFCD1DD1319B2DD3E9641EF42A7"
"P_Rec_BOP\Versions.cs","19162","BC0E748C956C00280E043A451BDDE831352A54AF79B087699002C63FD7AC0144"
"P_Rec_BOP\Welds.cs","144425","0F477FAD844FFFF59872C0C8C1E229846ADB1E2E9DA3C53B092A335EC5A04507"
"P_Rec_BOP\Worder.cs","41818","51FC57C057146B75AB9EF9F62DEDE4DB92BEA673B033F7184F67C33A0D1EF4ED"
"P_Rec_BOP\XLSFile.cs","3358","FD0C4B0A899EE98648786C8327A0AEF5EC9DBE1A0C8239CA1235B718D827C6B9"
"P_Rec_BOP\XMLFile.cs","20822","4075FDC3B58AECED0A6FF3DF62834B682B71F9BF601750FE67D7B06A9811393D"
"README.md","8712","CAA5BF352FAA414354909E49B29183125F91D1890892C27345E00B53685435CB"
"templates\Шаблон.docx","88534","C669900F2D7D8A3B80BF6898FE80B0F0A6CF4F38694694A66367E487EB3EA79B"
"Комментарии.txt","1853","80FB6E56EF3797EECDF59E6530927E5CACD8B1B82B73636B648749F0DF05DCA8"
1 RelativePath Length SHA256
2 .editorconfig 1158 0D35A75B9504BE5DB63CB11D44DB059825746DCF2FB6AAAB29A8798F0758252B
3 .gitattributes 1663 AD78EDB5DFD7802DC618E3586DA0DCEFD2A4F311A64A359CC16398DCD06025C9
4 .gitignore 6578 E9B79DE00820EBEB34759EBDEEF03EC5A3DA8CC79E337B0A8AFABA72A86BD7C4
5 CHANGELOG.md 6550 E9141F4781860034B2BA0617B4B84EB8E465B631E9F9835F320B542ECBEDC6EE
6 P_Rec_BOP.sln 1077 BE2D871B2399E0210837EB47F4B66D52CB79D3581F1099F3C95ED66D45261B02
7 P_Rec_BOP\App.config 217 3ACCE006549322AA227A742F945A57CCC951950DFADDD069654B9A9A54178A29
8 P_Rec_BOP\Components.cs 14041 93E4F2620CDD2C57B021F7351FFFE70184ED56D1E0BBD02A22C1DF8EC0F08021
9 P_Rec_BOP\ConsoleGetDrawingInformation.dll 17920 9EC139C1973B58EF2072086C16CD5824BF45B8B7D835018B37B1A516A4EE5D1C
10 P_Rec_BOP\CSVFile.cs 7037 B84B579A69477A8BE41D100C3478493536A1D55462AFAB8C55C88DA64DB0BF95
11 P_Rec_BOP\DrawingsAndLinenumbers.cs 52738 A9907AB6B46EB8C0339D2F77BDB0F659A502E051828D2D16E3E6932A258C7D1A
12 P_Rec_BOP\DrawingsInformation.cs 34474 068B63AC2B63E5AC936D258C450946650CE09F989A612C109341BEACAB9BA0E2
13 P_Rec_BOP\Glob.cs 6410 EC0E26CB215CEEB99BF4CCD5D82D36B402E607D7FEC99830E4C2E2F2377960FC
14 P_Rec_BOP\InputBox.cs 2033 A4EE6B38E58FDCFDD86B1E8ACF90BEBFBEAFCCA7AF70AE818FD8454AC2F613A3
15 P_Rec_BOP\lib\ConsoleGetDrawingInformation.dll 17920 9EC139C1973B58EF2072086C16CD5824BF45B8B7D835018B37B1A516A4EE5D1C
16 P_Rec_BOP\lib\Precompiled Binaries for 64-bit Windows (.NET Framework 4.6).txt 0 E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855
17 P_Rec_BOP\lib\Readme.txt 369 A7CE8A8E1A272B1A9DD6D5DE24CBA9C1341A50E59F1CE103EF5A289D90BC74FE
18 P_Rec_BOP\lib\SautinSoft.Document.dll 5899264 960DE19C66F486B1954B1E6E55DF13683F169D8955EF05BE7073B4B11BEE4DF7
19 P_Rec_BOP\lib\SQLite.Interop.dll 1626624 B7DFA963A09C21AE3EE7642416A168EEDBE690416C30C274E1666873117DF06D
20 P_Rec_BOP\lib\System.Data.SQLite.dll 381952 AC20FF6022AB6E5DAA9D1CA620941399AE4094CC72FE988EC92024A465E99EE3
21 P_Rec_BOP\lib\x32\Microsoft.Office.Interop.Word.dll 940672 23B1A58D7745524EFD87D3740E8363FE34D766E159C28BDF9FF2AABC79ED72D0
22 P_Rec_BOP\lib\x32\Microsoft.Office.Interop.Word.xml 2898934 76D668B99C41EBD7577111EAE2874FAF44995FD8EB20BF9F6175C4E22E09D5FD
23 P_Rec_BOP\lib\x32\SQLite.Interop.dll 1248768 E86066B2C0B9D00D75BFA5C4F7CDAC63BC520A70B72D6A58283804F4365A705B
24 P_Rec_BOP\lib\x32\System.Data.SQLite.dll 381952 AC20FF6022AB6E5DAA9D1CA620941399AE4094CC72FE988EC92024A465E99EE3
25 P_Rec_BOP\Materials.cs 20141 E9D759B563AB67C1577B49E5F70031A9B33E6F9425D089C4E908501402A42F66
26 P_Rec_BOP\P_Rec_BOP.csproj 7590 21C0D403A5F9EA8998CC718D63212446FDC1FD17709EC80BA8E909154422EDE4
27 P_Rec_BOP\PipingElements.cs 100089 89CC9C85FFFBA71395A293B112D270A33D4C339B118515341665905EDF5B9F71
28 P_Rec_BOP\Program.cs 61679 4EC712986EB584D75258F2714CF3035C06B5BF528ADC6458AD2D15190525CA7D
29 P_Rec_BOP\Properties\AssemblyInfo.cs 1825 453418BB1A77E5EE2E2ABA2DED4FFC6C7F748850B987DDEC60C85A73F2241BF6
30 P_Rec_BOP\Properties\Resources.Designer.cs 3607 B23A2C4AA1B1F2487292C8937B686B216B282158A82A098974B64CF45A48E458
31 P_Rec_BOP\Properties\Resources.resx 6327 98F984C20982C6EB8825A8E8701D56C8B80F2E7FCD874FD929A1F4611721E4E8
32 P_Rec_BOP\PYFile.cs 14445 A2FF325E1AA7CF67261951FD6EF2719CBB4BE4424E6AB6F7DA4309E7DD9B4771
33 P_Rec_BOP\ReportWithWorder.cs 71204 4EB13368BA7EC3F166612EB0093C9FACAFD1F4C34DA1EC20922E64E512D3B265
34 P_Rec_BOP\Resources\TitleBox1.png 37188 358E4618CA2AFA6DAB2BFC29FDB2316B1B8DDD472932A73AE991CB4110E93674
35 P_Rec_BOP\Resources\TitleBox2.png 35579 7C6837B130802983CA3D407EA56F46B148CDBFCB5B6B503EBE746F8945D98F41
36 P_Rec_BOP\ReversePolishNotation.cs 27685 764D375518BC1CB813DCC07BD60FFAA5D9908F4F5FDEFA109F690411340366BD
37 P_Rec_BOP\SelectDrawingsAndLinenumbers.cs 25971 6DE460137AD18ACCB80568F5C88C72BA7627CA7A657BFA87FF82C78DD571C596
38 P_Rec_BOP\SelectDrawingsAndLinenumbers.designer.cs 8468 792FDBC7D3D7C0638FFED1602106201D9300C9087749F290B9B8D984F2D6B7AD
39 P_Rec_BOP\SelectDrawingsAndLinenumbers.resx 5698 4D3EE9059F5B98AB1806F6916EBEA2A8C56023F8C63DDFD80B7378D27D1AA0F6
40 P_Rec_BOP\SetMainTitle.cs 15478 DD18254BE4653D0D419A92849B12665BA48C8E59B65C305E88EE4C65636617D9
41 P_Rec_BOP\SetMainTitle.designer.cs 9881 99409F220F85DFBAE0BC98D734B959001076BC9B1A9D620D6A354CF9C547EF37
42 P_Rec_BOP\SetMainTitle.resx 62444 CEB607A1CEB9B4AA262F4C779F2ED5AF730B8661A0031C63C02E8B425CA84EAF
43 P_Rec_BOP\Settings.xml 49258 AAEF4762FC246F8ABC5965FA5E6283DFB1716CCB9F1462EBDAE37CAD4847C136
44 P_Rec_BOP\Specs.cs 7094 E92FB765BEB5F1924F27D84FC61BD2DE5770C6D68525A2A755FBD30360A3EDA8
45 P_Rec_BOP\SQLDataBase.cs 4038 D1087DF5C777BF2B2F8A6700D0EE3AA6003B45C1BC01F52C6895F00BFB1043CD
46 P_Rec_BOP\SQLite.Interop.dll 1248768 E86066B2C0B9D00D75BFA5C4F7CDAC63BC520A70B72D6A58283804F4365A705B
47 P_Rec_BOP\SQLiteDataBase.cs 3075 424B09DB18D63284932AE8591C950D726DB57759A28F85B280BD8A0B1B719A11
48 P_Rec_BOP\Supports.cs 66253 625F261E8690A26F82F94FB193DEB4388699DCC6469E922ED38EF1CD4038B79F
49 P_Rec_BOP\TestLineNumbers.cs 14600 9E90DA99AF0DC84E8B334CE58CB8B5434BCA668EBDC83DDFEF1A33242051432F
50 P_Rec_BOP\Valves.cs 40930 D61C6ED91864535542795EF63B6858F79DBD7EFCD1DD1319B2DD3E9641EF42A7
51 P_Rec_BOP\Versions.cs 19162 BC0E748C956C00280E043A451BDDE831352A54AF79B087699002C63FD7AC0144
52 P_Rec_BOP\Welds.cs 144425 0F477FAD844FFFF59872C0C8C1E229846ADB1E2E9DA3C53B092A335EC5A04507
53 P_Rec_BOP\Worder.cs 41818 51FC57C057146B75AB9EF9F62DEDE4DB92BEA673B033F7184F67C33A0D1EF4ED
54 P_Rec_BOP\XLSFile.cs 3358 FD0C4B0A899EE98648786C8327A0AEF5EC9DBE1A0C8239CA1235B718D827C6B9
55 P_Rec_BOP\XMLFile.cs 20822 4075FDC3B58AECED0A6FF3DF62834B682B71F9BF601750FE67D7B06A9811393D
56 README.md 8712 CAA5BF352FAA414354909E49B29183125F91D1890892C27345E00B53685435CB
57 templates\Шаблон.docx 88534 C669900F2D7D8A3B80BF6898FE80B0F0A6CF4F38694694A66367E487EB3EA79B
58 Комментарии.txt 1853 80FB6E56EF3797EECDF59E6530927E5CACD8B1B82B73636B648749F0DF05DCA8
@@ -0,0 +1,7 @@
binary 9
configuration 1
other 10
project 2
resource 5
source 29
template/document 1
@@ -0,0 +1,836 @@
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:14:// // Выбрать все записи из таблицы EngineeringItems
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:15:// DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:18:// foreach (DataRow drEngineeringItem in adrEngineeringItems) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:25:// // Извлечь PnPID компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:26:// int iComponentPnPId = Convert.ToInt32(drEngineeringItem["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:28:// // Узнать PnPID чертежа для компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:29:// DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:30:// if (adrDataLinks.Length != 1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:34:// int iDwgId = Convert.ToInt32(adrDataLinks[0]["DwgId"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:40:// if (dDrawing.iPnPId == iDwgId) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:49:// // Узнать PnPID номера линии для компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:50:// DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:51:// if (adrLineGroupPartRelationships.Length != 1) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:54:// int iLineNumberId = Convert.ToInt32(adrLineGroupPartRelationships[0]["LineGroup"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:60:// if (lnLineNumber.iPnPId == iLineNumberId) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:71:// switch (string.Format("{0}", adrDataLinks[0]["RowClassName"])) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:82:// lcComponents.Add(new Component(iComponentPnPId));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:96:// int iPnPId; // PnPId компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:107:// public Component(int iPnPId) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:108:// this.iPnPId = iPnPId;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:109:// DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + this.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:110:// string sClassName = string.Format("{0}", adrDataLinks[0]["RowClassName"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:143:// DataRow[] drPipeBend = Program.dsPipingDCF.Tables["PipeBend"].Select("[PnPID]=" + this.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:155:// if (!GetDrawingFileNameAndComponentHandle(this.iPnPId, ref sDrawingFileName, ref lHandle)) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:169:// Components.lcComponents.Add(new Component(this.iPnPId, iNextZ - 500, Program.diDrawingsInformation.GetPipeLength(sDrawingFileName, lHandle, iNextZ, iNextZ - 1000)));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:172:// Components.lcComponents.Add(new Component(this.iPnPId, (((dS1Z > dS2Z) ? dS2Z : dS1Z) + iNextZ) / 2, Program.diDrawingsInformation.GetPipeLength(sDrawingFileName, lHandle, iNextZ, (dS1Z > dS2Z) ? dS2Z : dS1Z)));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:179:// Console.WriteLine(iPnPId + ":" + ctComponentType.ToString() + ":" + dPositionZ + ":" + dPipeLength);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:183:// public Component(int iPnPId, double dPositionZ, double dPipeLength) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:184:// this.iPnPId = iPnPId;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:188:// Console.WriteLine(iPnPId + ":" + ctComponentType.ToString() + ":" + dPositionZ + ":" + dPipeLength);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:191:// // Получить запись "PnPDataLinks" номера чертежа по БД 'Piping.dcf' с компонентом
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:193:// static bool GetDrawingFileNameAndComponentHandle(int iPnPId, ref string sDrawingFileName, ref long lHandle) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:195:// DataRow[] drRows3 = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:199:// Program.IsErrorCodeNotOK(ErrorCode.ecPnPDataLinksNotSingleRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:209:// Program.IsErrorCodeNotOK(ErrorCode.ecPnPDataLinksCannotConvertToLongDwgHandleLow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:213:// // Получить PnPId чертежа с этим компонентом или выйти,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:220:// Program.IsErrorCodeNotOK(ErrorCode.ecPnPDataLinksCannotConvertToInt32DwgId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:224:// // Получить наименование файла чертежа по его PnPId из Program.ldSelectedDrawings
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:226:// if (dDrawing.iPnPId == iDwgId) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:149: // миникаталоги, которые зарегистрированы [PnPDrawings]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:150: // имя в поле [Title] таблицы [PnPDrawings] может содержать
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:152: // для сравнения, поле [Spec] таблицы [EngineeringItems] не содержит
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:159: System.Data.DataTable tablePnPDrawings = _projectPipingDcf.Tables["PnPDrawings"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:161: res = tablePnPDrawings.Select()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:162: .Where(x => x.Field<string>("PnPType") == "SPEC")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:167: // from t1 in tablePnPDrawings.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:168: // where t1.Field<string>("PnPType") == "SPEC"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:201: // миникаталоги, к которым обращаются компоненты [EngineeringItems]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:207: public List<(string sName, string sPath, List<long> ComponentPnPIDList)>
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:211: //System.Data.DataTable tableEngineeringItems = _projectPipingDcf.Tables["EngineeringItems"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:212: //res = tableEngineeringItems.Select().Select(x => x.Field<string>("Spec")).Distinct().ToList();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:214: List<(string sName, string sPath, List<long> ComponentPnPIDList)> res
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:215: = new List<(string sName, string sPath, List<long> ComponentPnPIDList)>();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:221: if (_projectPipingDcf.Tables.Contains("EngineeringItems")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:222: && (_projectPipingDcf.Tables.Contains("PnPDataLinks"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:223: && (_projectPipingDcf.Tables.Contains("PnPDrawings"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:224: && (_projectPipingDcf.Tables.Contains("P3dLineGroupPartRelationship"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:225: && (_projectPipingDcf.Tables.Contains("P3dLineGroup"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:227: && (_projectPipingDcf.Tables["EngineeringItems"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:228: && (_projectPipingDcf.Tables["EngineeringItems"].Columns.Contains("Status"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:229: && (_projectPipingDcf.Tables["EngineeringItems"].Columns.Contains("Spec"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:231: && (_projectPipingDcf.Tables["PnPDataLinks"].Columns.Contains("RowId"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:232: && (_projectPipingDcf.Tables["PnPDataLinks"].Columns.Contains("DwgId"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:234: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:235: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPType"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:236: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Dwg Name"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:237: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Title"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:238: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPRelativePath"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:239: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Path"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:240: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPUnc"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:241: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Area"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:243: && (_projectPipingDcf.Tables["P3dLineGroupPartRelationship"].Columns.Contains("Part"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:244: && (_projectPipingDcf.Tables["P3dLineGroupPartRelationship"].Columns.Contains("LineGroup"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:246: && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:247: && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("Tag"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:248: // && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("Number"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:251: //DataSet dataSetEngineeringItemsAndLinks = new DataSet();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:252: //dataSetEngineeringItemsAndLinks.Load(_projectPipingDcf.CreateDataReader(), LoadOption.Upsert,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:253: // "EngineeringItems", "PnPDataLinks", "P3dLineGroupPartRelationship");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:256: System.Data.DataTable tableEngineeringItems = _projectPipingDcf.Tables["EngineeringItems"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:257: System.Data.DataTable tablePnPDataLinks = _projectPipingDcf.Tables["PnPDataLinks"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:258: System.Data.DataTable tablePnPDrawings = _projectPipingDcf.Tables["PnPDrawings"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:259: System.Data.DataTable tableP3dLineGroupPartRelationship = _projectPipingDcf.Tables["P3dLineGroupPartRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:260: System.Data.DataTable tableP3dLineGroup = _projectPipingDcf.Tables["P3dLineGroup"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:262: // System.Data.DataTable tableP3dDrawingLineGroupRelationship = _projectPipingDcf.Tables["P3dDrawingLineGroupRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:267: // имена миникаталогов в таблице [PnPDrawings] могут иметь расширение, и могут не иметь его
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:269: var querySpecPnPDrawings =
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:270: from t1 in tablePnPDrawings.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:271: where t1.Field<string>("PnPType") == "SPEC"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:280: foreach (var itm in querySpecPnPDrawings)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:287: //var queryEngineeringItems =
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:288: // from t1 in tableEngineeringItems.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:294: // ComponentPnPID = t1["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:295: // ? t1.Field<long>("PnPID") : t1.Field<int>("PnPID"),
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:309: // по связи с компонентами в [EngineeringItems]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:313: var queryEngineeringItems =
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:314: from t1 in tableEngineeringItems.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:316: join t2 in tablePnPDataLinks.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:317: on Convert.ToInt32(t1["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:318: ? t1.Field<long>("PnPID") : t1.Field<int>("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:322: join t3 in tablePnPDrawings.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:325: equals Convert.ToInt32(t3["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:326: ? t3.Field<long>("PnPID") : t3.Field<int>("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:328: join t4 in tableP3dLineGroupPartRelationship.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:329: on Convert.ToInt32(t1["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:330: ? t1.Field<long>("PnPID") : t1.Field<int>("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:334: join t5 in tableP3dLineGroup.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:335: on Convert.ToInt32(t4["LineGroup"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:336: ? t4.Field<long>("LineGroup") : t4.Field<int>("LineGroup"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:337: equals Convert.ToInt32(t5["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:338: ? t5.Field<long>("PnPID") : t5.Field<int>("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:349: Convert.ToInt32(t5["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:350: ? t5.Field<long>("PnPID") : t5.Field<int>("PnPID")))))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:352: // where t3.Field<string>("PnPType") == "SPEC"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:353: // where t3.Field<string>("PnPType") == "DWG"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:357: ComponentPnPID = t1["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:358: ? t1.Field<long>("PnPID") : t1.Field<int>("PnPID"),
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:365: //DwgPnPID = t3["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:366: // ? t3.Field<long>("PnPID") : t3.Field<int>("PnPID"),
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:370: // t3.Field<string>("PnPUnc"),
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:374: //LineNamePnPID = t5["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:375: // ? t5.Field<long>("PnPID") : t5.Field<int>("PnPID"),
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:380: //res = queryEngineeringItems.Select(x => x.SpecName).Distinct().ToList();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:381: foreach (var itm in queryEngineeringItems)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:385: specComponentsDict[itm.SpecName].Add(itm.ComponentPnPID);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:401: res.Add((sName: key, sPath: sPath, ComponentPnPIDList: specComponentsDict[key].ToList()));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:414: // получаем список труб, по таблицам [EngineeringItems], [Pipe], [PipeBend]:
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:415: // iPnPId, длина трубы, вес погонного метра, количество сварных швов пролета трубы (без краев)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:420: public List<(int iPnPId, double CutLength, double? LinearWeight, int WeldsInsidePipe)>
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:423: List<(int iPnPId, double CutLength, double? LinearWeight, int WeldsInsidePipe)> res
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:424: = new List<(int iPnPId, double CutLength, double? LinearWeight, int WeldsInsidePipe)>();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:426: int iPnPId;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:432: if (_projectPipingDcf.Tables.Contains("EngineeringItems")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:433: && (_projectPipingDcf.Tables.Contains("PnPDataLinks"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:434: && (_projectPipingDcf.Tables.Contains("PnPDrawings"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:435: && (_projectPipingDcf.Tables.Contains("P3dLineGroupPartRelationship"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:436: && (_projectPipingDcf.Tables.Contains("P3dLineGroup"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:440: && (_projectPipingDcf.Tables["EngineeringItems"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:441: && (_projectPipingDcf.Tables["EngineeringItems"].Columns.Contains("Status"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:443: && (_projectPipingDcf.Tables["PnPDataLinks"].Columns.Contains("RowId"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:444: && (_projectPipingDcf.Tables["PnPDataLinks"].Columns.Contains("DwgId"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:446: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:447: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPType"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:448: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Dwg Name"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:449: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Title"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:450: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPRelativePath"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:451: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Path"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:452: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPUnc"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:453: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Area"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:455: && (_projectPipingDcf.Tables["P3dLineGroupPartRelationship"].Columns.Contains("Part"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:456: && (_projectPipingDcf.Tables["P3dLineGroupPartRelationship"].Columns.Contains("LineGroup"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:458: && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:459: && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("Tag"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:460: // && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("Number"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:462: && (_projectPipingDcf.Tables["Pipe"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:467: //DataSet dataSetEngineeringItemsAndLinks = new DataSet();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:468: //dataSetEngineeringItemsAndLinks.Load(_projectPipingDcf.CreateDataReader(), LoadOption.Upsert,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:469: // "EngineeringItems", "PnPDataLinks", "P3dLineGroupPartRelationship");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:472: System.Data.DataTable tableEngineeringItems = _projectPipingDcf.Tables["EngineeringItems"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:473: System.Data.DataTable tablePnPDataLinks = _projectPipingDcf.Tables["PnPDataLinks"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:474: System.Data.DataTable tablePnPDrawings = _projectPipingDcf.Tables["PnPDrawings"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:475: System.Data.DataTable tableP3dLineGroupPartRelationship = _projectPipingDcf.Tables["P3dLineGroupPartRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:476: System.Data.DataTable tableP3dLineGroup = _projectPipingDcf.Tables["P3dLineGroup"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:478: // System.Data.DataTable tableP3dDrawingLineGroupRelationship = _projectPipingDcf.Tables["P3dDrawingLineGroupRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:486: && (_projectPipingDcf.Tables["PipeBend"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:500: // получаем список iPnPId труб / гнутых отводов по связи с компонентами
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:505: from t1 in tableEngineeringItems.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:507: join t2 in tablePnPDataLinks.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:508: on Convert.ToInt32(t1["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:509: ? t1.Field<long>("PnPID") : t1.Field<int>("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:513: join t3 in tablePnPDrawings.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:516: equals Convert.ToInt32(t3["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:517: ? t3.Field<long>("PnPID") : t3.Field<int>("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:519: join t4 in tableP3dLineGroupPartRelationship.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:520: on Convert.ToInt32(t1["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:521: ? t1.Field<long>("PnPID") : t1.Field<int>("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:525: join t5 in tableP3dLineGroup.AsEnumerable()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:526: on Convert.ToInt32(t4["LineGroup"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:527: ? t4.Field<long>("LineGroup") : t4.Field<int>("LineGroup"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:528: equals Convert.ToInt32(t5["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:529: ? t5.Field<long>("PnPID") : t5.Field<int>("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:535: on Convert.ToInt32(t1["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:536: ? t1.Field<long>("PnPID") : t1.Field<int>("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:537: equals Convert.ToInt32(t6["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:538: ? t6.Field<long>("PnPID") : t6.Field<int>("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:547: Convert.ToInt32(t5["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:548: ? t5.Field<long>("PnPID") : t5.Field<int>("PnPID")))))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:552: ComponentPnPID = t1["PnPID"].GetType() == typeof(long)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:553: ? t1.Field<long>("PnPID") : t1.Field<int>("PnPID"),
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:562: iPnPId = Convert.ToInt32(itm.ComponentPnPID);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:571: res.Add((iPnPId, CutLength, LinearWeight, WeldsInsidePipe));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:593: // если линия не именованная, то обращаемся к ней по ее PnPId
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:596: private string GetUnnamedLineName(int iPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:598: return "(PnPId:" + iPnPId + ")";
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:610: foreach (DataRow drRow in _projectPipingDcf.Tables["PnPDrawings"].Rows)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:612: if (string.Format("{0}", drRow["PnPType"]) != "FOLDER")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:617: dNewDrawing.iPnPId = Convert.ToInt32(drRow["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:619: // dNewDrawing.sPath = Glob.sProjectFolder + "\\" + drRow["PnPRelativePath"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:625: DataRow[] adrRows = _projectPipingDcf.Tables["P3dDrawingLineGroupRelationship"]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:626: .Select("[Drawing]=" + dNewDrawing.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:632: if (lnLineNumber.iPnPId == Convert.ToInt32(drRow1["LineGroup"]))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:635: .Tables["P3dLineGroupPartRelationship"]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:636: .Select("[LineGroup]=" + lnLineNumber.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:662: foreach (DataRow drRow in _projectPipingDcf.Tables["P3dLineGroup"].Rows)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:667: lnNewLineNumber.iPnPId = Convert.ToInt32(drRow["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:673: // lnNewLineNumber.sName = "(PnPId:" + lnNewLineNumber.iPnPId + ")";
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:674: lnNewLineNumber.sName = GetUnnamedLineName(lnNewLineNumber.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:681: lineNameItmCalculated = CalculateTested(lnNewLineNumber.iPnPId, Glob.lkvpsdReplacePressure);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:713: int iPnPIdLineName, List<KeyValuePair<string, double>> lkvpsdReplacePressure)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:721: drSourceRow = _projectPipingDcf.Tables["P3dLineGroup"]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:722: .Select("[PnPID]=" + iPnPIdLineName).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:864: public int iPnPId; // PnPId чертежа по БД 'Piping.dcf'
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:877: iPnPId = Convert.ToInt32(drSourceRow["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:878: sPath = Program.sProjectFolder + "\\" + drSourceRow["PnPRelativePath"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:881: DataRow[] adrRows = Program.dsPipingDCF.Tables["P3dDrawingLineGroupRelationship"].Select("[Drawing]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:887: if (lnLineNumber.iPnPId == Convert.ToInt32(drRow["LineGroup"]))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:889: DataRow[] adrRows2 = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[LineGroup]=" + lnLineNumber.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:908: public int iPnPId; // PnPId номера линии по БД 'Piping.dcf'
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:929: iPnPId = Convert.ToInt32(drSourceRow["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:933: sName = "(PnPId:" + iPnPId + ")";
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:42: sbScriptFile.AppendLine("(arxload \"PnP3dObjects.dbx\" \"Ошибка загрузки ARX (PnP3dObjects.dbx)!\")");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:137: if (!File.Exists(Path.Combine(Path.GetDirectoryName(sAcCoreConsolePathInternal), "PnP3dObjects.dbx")))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:139: Glob.TracedMessageBoxShow("Не найдено окружение приложения Plant 3D [PnP3dObjects.dbx]");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:192:_arx _l ""PnP3dObjects.dbx""
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:77: List<(string sSpecFile, string sMaterial, int iPnPIdOfTheFirstFound)> lsMissedMaterialsAndItsSpec
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:78: = new List<(string sSpecFile, string sMaterial, int iPnPIdOfTheFirstFound)>();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:103: + "Обращение к материалу \n (миникаталог - EngineeringItems - PnPID): "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:105: + "[" + string.Join("]\n[", lsMissedMaterialsAndItsSpec.Select(x => x.iPnPIdOfTheFirstFound).Distinct().ToList()) + "]"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:140: ref List<(string sSpecFile, string sMaterial, int iPnPIdOfTheFirstFound)> lsMissedMaterialsAndItsComponent)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:158: DataRow[] adrPipes = dsSpec.Tables["EngineeringItems"].Select("[PartCategory]='Pipe'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:281: iPnPIdOfTheFirstFound: Convert.ToInt32(drPipe["PnPID"])));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:217: if (!dsPipingDCF.Tables.Contains("EngineeringItems"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:219: Glob.TracedMessageBoxShow("Не найдена таблица [EngineeringItems]");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:225: DataRow[] adrEngineeringItems = dsPipingDCF.Tables["EngineeringItems"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:226: foreach (DataRow drEngineeringItem in adrEngineeringItems)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:228: int iPnPId = Convert.ToInt32(drEngineeringItem["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:229: DataRow[] adrLineGroupPartRelationships = dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:230: if (adrLineGroupPartRelationships.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:237: // iNozzle = dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:242: // iEquipment = dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:247: iNozzle = dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:249: iEquipment = dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:389: + "\n\nPnPID" + msgFoundMoreThan + ": \n"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:400: // миникаталоги, к которым обращаются компоненты [EngineeringItems]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:401: List< (string sName, string sPath, List<long> ComponentPnPIDList)>
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:402: specList = new List<(string sName, string sPath, List<long> ComponentPnPIDList)>();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:411: foreach ((string sName, string sPath, List<long> ComponentPnPIDList) spec
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:414: testSpec.AddRange(spec.ComponentPnPIDList.Select(x => x.ToString()).ToList());
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:427: + "\n\nPnPID" + msgFoundMoreThan + ": \n"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:434: // имена миникаталогов из [EngineeringItems]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:435: //List<string> testSpecEngineeringItems = specList
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:437: List<string> testSpecEngineeringItems = specList.Select(x => x.sName).ToList();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:439: // миникаталоги, которые зарегистрированы [PnPDrawings]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:440: // List<string> testSpecPnPDrawings = drawingsAndLinenumbers.GetProjectSpecNameList();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:446: testSpec = testSpecEngineeringItems.Except(testSpecFolder).ToList();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:466: // test = testSpecEngineeringItems.Except(testSpecPnPDrawings).ToList();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:531: .Select(x => x.iPnPId).ToList();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:543: + "\n\nPnPID" + msgFoundMoreThan + ": \n"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:641: csvfErrorNKRs.AddColumnToTable("PnPId");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:653: + "Сейчас будет выведен список 'PnPId' НКР и наименований параметров у них, "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:656: + "Используйте команду 'PXP-SI' для поиска НКР в проекте Plant 3D по номеру 'PnPId'",
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:921: ecPnPDataLinksNotSingleRow = 1, // в БД "Piping.dcf" в таблице "PnPDataLinks" нет ни одной, либо более одной записи с данным PnPId
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:922: ecPnPDataLinksCannotConvertToLongDwgHandleLow = 2, // невозможно получить значение типа long из поля "DwgHandleLow" записи таблицы "PnPDataLinks"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:923: ecPnPDataLinksCannotConvertToInt32DwgId = 3, // невозможно получить значение типа int из поля "DwgId" записи таблицы "PnPDataLinks"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:930: //ecP3dConnectorMoreThan1Row = 10, // более 1 записи с с данным PnPId в таблице "P3dConnector"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:931: //ecP3dConnectorMoreThan1RowStage2 = 11, // более 1 записи с с данным PnPId в таблице "P3dConnector" далее в методе
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:932: //ecP3dLineGroupNoFieldTracingTemperature = 12, // нет поля "TracingTemperature" в таблице "P3dLineGroup"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:27: // Выбрать все записи из таблицы EngineeringItems
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:28: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:31: foreach (DataRow drEngineeringItem in adrEngineeringItems)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:33: // Получить PnPID компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:34: int iComponentPnPId = Convert.ToInt32(drEngineeringItem["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:36: // Получить PnPID чертежа для компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:37: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:38: if (adrDataLinks.Length != 1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:42: int iDwgId = Convert.ToInt32(adrDataLinks[0]["DwgId"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:46: if (Glob.ldSelectedDrawings.Where(o => o.iPnPId == iDwgId).Count() == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:53: // if (dDrawing.iPnPId == iDwgId) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:62: // Получить PnPID номера линии для компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:63: DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:64: if (adrLineGroupPartRelationships.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:71: // iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:76: // iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:81: iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:84: iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:89: Program.liComponentsWOLineNumber.Add(iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:93: int iLineNumberId = Convert.ToInt32(adrLineGroupPartRelationships[0]["LineGroup"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:97: if (Glob.ldSelectedLineNumbers.Where(o => o.iPnPId == iLineNumberId).Count() == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:104: // if (lnLineNumber.iPnPId == iLineNumberId) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:115: DataRow[] adrPartPorts = Program.dsPipingDCF.Tables["PartPort"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:119: int iPortPnPId = Convert.ToInt32(drPartPort["Port"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:120: DataRow[] adrPorts = Program.dsPipingDCF.Tables["Port"].Select("[PnPID]=" + iPortPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:134: switch (string.Format("{0}", adrDataLinks[0]["RowClassName"]))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:143: UpdateOrCreatePipingElement(iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:165: foreach (DataRow drEngineeringItem in adrEngineeringItems)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:174: // Получить PnPID компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:175: int iComponentPnPId = Convert.ToInt32(drEngineeringItem["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:177: // Узнать PnPID чертежа для компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:178: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:179: if (adrDataLinks.Length != 1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:183: int iDwgId = Convert.ToInt32(adrDataLinks[0]["DwgId"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:187: if (Glob.ldSelectedDrawings.Where(o => o.iPnPId == iDwgId).Count() == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:193: // if (dDrawing.iPnPId == iDwgId) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:202: // Получить PnPID номера линии для компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:203: DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:205: if (adrLineGroupPartRelationships.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:212: // iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:217: // iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:222: iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:224: iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:229: Program.liComponentsWOLineNumber.Add(iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:233: int iLineNumberId = Convert.ToInt32(adrLineGroupPartRelationships[0]["LineGroup"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:237: if (Glob.ldSelectedLineNumbers.Where(o => o.iPnPId == iLineNumberId).Count() == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:243: // if (lnCurrentLineNumber.iPnPId == iLineNumberId) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:253: DataRow[] adrLineGroup = Program.dsPipingDCF.Tables["P3dLineGroup"].Select("[PnPID]=" + iLineNumberId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:254: string sTracingNumber = string.Format("{0}", adrLineGroup[0]["TracingNumber"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:267: string sTracingOuterDiameter = string.Format("{0}", adrLineGroup[0]["TracingDiameter"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:324: DataRow[] adrTracingPipes = dsTracingSpec.Tables["EngineeringItems"].Select("[MatchingPipeOd]=" + dTracingOuterDiameter);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:403: UpdateOrCreateTracingPipingElement(iComponentPnPId, mMaterial, ptfFormat, iNominalDiameter, dWallThickness, dOuterDiameter, dNominalPressure, iTracingCount, dWeight);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:415: public static double GetElbowLength(int iPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:418: DataRow drElbow = Program.dsPipingDCF.Tables["Elbow"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:425: // компонента с iComponentPnPId (добавить трубу теплоспутника)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:426: void UpdateOrCreateTracingPipingElement(int iComponentPnPId, Material mMaterial, PipingTitleFormat ptfFormat, int iNominalDiameter, double dWallThickness, double dOuterDiameter, double dNominalPressure, int iTracingCount, double dWeight)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:428: // Получить запись таблицы "EngineeringItems" для дальнейшей работы
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:429: DataRow[] adrComponent = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:437: if (!GetDrawingFileNameAndComponentHandle(iComponentPnPId, ref sDrawingFileName, ref lHandle))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:443: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:444: string sComponentType = string.Format("{0}", adrDataLinks[0]["RowClassName"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:537: DataRow drPipe = Program.dsPipingDCF.Tables["Pipe"].Select("[PnPId]=" + iComponentPnPId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:735: DataRow[] drPipeBend = Program.dsPipingDCF.Tables["PipeBend"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:743: dLength = GetElbowLength(iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:802: // компонента с iComponentPnPId
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:803: void UpdateOrCreatePipingElement(int iComponentPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:805: // Получить запись таблицы "EngineeringItems" для дальнейшей работы
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:806: DataRow[] adrComponent = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:864: // Получить PnPID номера линии для компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:865: DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:866: if (adrLineGroupPartRelationships.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:873: // iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:878: // iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:883: iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:885: iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:890: Program.liComponentsWOLineNumber.Add(iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:894: int iLineNumberId = Convert.ToInt32(adrLineGroupPartRelationships[0]["LineGroup"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:897: LineNumber lnLineNumber = Glob.ldSelectedLineNumbers.Where(o => o.iPnPId == iLineNumberId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:904: // if (lnCurrentLineNumber.iPnPId == iLineNumberId) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:943: + "\nКомпоненту с PnPId в проекте [" + iComponentPnPId + "], "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:969: Glob.TracedMessageBoxShow(iComponentPnPId.ToString());
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1015: if (!GetDrawingFileNameAndComponentHandle(iComponentPnPId, ref sDrawingFileName, ref lHandle))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1021: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1022: string sComponentType = string.Format("{0}", adrDataLinks[0]["RowClassName"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1129: DataRow[] aPipes = Program.dsPipingDCF.Tables["Pipe"].Select("PnPID=" + iComponentPnPId);//2018
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1154: vpePipingElement.First().Add(mMaterial, ldPipeLengths[i], dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1160: pePipingElement.Add(mMaterial, ldPipeLengths[i], dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1172: // pePipingElement.Add(mMaterial, ldPipeLengths[i], dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1184: // pePipingElement.Add(mMaterial, ldPipeLengths[i], dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1226: + " PnPId[" + iComponentPnPId + "]"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1254: vpePipingElement.First().Add(mMaterial, dLength, dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1260: pePipingElement.Add(mMaterial, dLength, dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1273: // pePipingElement.Add(mMaterial, dLength, dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1285: // pePipingElement.Add(mMaterial, dLength, dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1319: DataRow[] aPipeBends = Program.dsPipingDCF.Tables["PipeBend"].Select("PnPID=" + iComponentPnPId);//2018
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1331: + " PnPId[" + iComponentPnPId + "]"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1344: DataRow[] drPipeBend = Program.dsPipingDCF.Tables["PipeBend"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1355: dLength = GetElbowLength(iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1381: vpePipingElement.First().Add(mMaterial, dLength, dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1387: pePipingElement.Add(mMaterial, dLength, dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1399: // pePipingElement.Add(mMaterial, dLength, dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1411: // pePipingElement.Add(mMaterial, dLength, dWeight, iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1419: // Получить запись "PnPDataLinks" номера чертежа по БД 'Piping.dcf' с компонентом
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1422: public static bool GetDrawingFileNameAndComponentHandle(int iPnPId, ref string sDrawingFileName, ref long lHandle, bool bSkipError = false)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1426: // Получить запись "PnPDataLinks"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1427: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1430: if (adrDataLinks.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1432: Program.IsErrorCodeNotOK(ErrorCode.ecPnPDataLinksNotSingleRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1440: lHandle = Convert.ToInt64(adrDataLinks[0]["DwgHandleLow"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1444: Program.IsErrorCodeNotOK(ErrorCode.ecPnPDataLinksCannotConvertToLongDwgHandleLow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1448: // Получить PnPId чертежа с этим компонентом или выйти,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1453: iDwgId = Convert.ToInt32(adrDataLinks[0]["DwgId"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1457: Program.IsErrorCodeNotOK(ErrorCode.ecPnPDataLinksCannotConvertToInt32DwgId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1461: // Получить наименование файла чертежа по его PnPId из Program.ldAllDrawings // support 492
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1462: var vDrawing = Glob.ldAllDrawings.Where(o => o.iPnPId == iDwgId); // support 492
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1466: if (Glob.ldSelectedDrawings.Where(o => o.iPnPId == iDwgId).Count() == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1481: //// Получить наименование файла чертежа по его PnPId из Program.ldSelectedDrawings // support 492
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1482: //var vDrawing = Program.ldSelectedDrawings.Where(o => o.iPnPId == iDwgId); // support 492
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1496: // if (dDrawing.iPnPId == iDwgId) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1545: List<int> liPnPIds = new List<int>(); // список PnPId компонентов, которые образуют PipingElement
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1630: public void Add(Material mMaterial, double dLength, double dWeight, int iPnPId = -1, double tracingLength = 0.0, int tracingCount = 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1634: if (iPnPId != -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1636: liPnPIds.Add(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1653: // Вернуть список PnPId компонентов, которые образуют PipingElement
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1654: public List<int> PnPIds
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1658: return liPnPIds;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:126: if (!Program.dsProcessPowerDCF.Tables.Contains("PnPProject"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:128: Glob.TracedMessageBoxShow("В базе данных 'ProcessPower.dcf' не найдена таблица 'PnPProject' "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:138: // Прочитать таблицу 'PnPProject' из базы данных 'ProcessPower.dcf'
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:139: DataRow[] adrRows = Program.dsProcessPowerDCF.Tables["PnPProject"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:165: Glob.TracedMessageBoxShow("В базе данных 'ProcessPower.dcf' в таблице 'PnPProject' более одной записи! "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Settings.xml:393: query: запрос к таблице EngineeringItems-->
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:39: foreach (DataRow drRow in Program.dsPipingDCF.Tables["P3dLineGroup"].Rows)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:47: foreach (DataRow drRow in Program.dsPipingDCF.Tables["PnPDrawings"].Rows)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:49: if (string.Format("{0}", drRow["PnPType"]) != "FOLDER")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:330: public int iPnPId; // PnPId чертежа по БД 'Piping.dcf'
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:339: iPnPId = Convert.ToInt32(drSourceRow["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:340: sPath = Program.sProjectFolder + "\\" + drSourceRow["PnPRelativePath"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:343: DataRow[] adrRows = Program.dsPipingDCF.Tables["P3dDrawingLineGroupRelationship"].Select("[Drawing]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:349: if (lnLineNumber.iPnPId == Convert.ToInt32(drRow["LineGroup"]))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:351: DataRow[] adrRows2 = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[LineGroup]=" + lnLineNumber.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:370: public int iPnPId; // PnPId номера линии по БД 'Piping.dcf'
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:380: iPnPId = Convert.ToInt32(drSourceRow["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:384: sName = "(PnPId:" + iPnPId + ")";
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:26: // Выбрать все записи из таблицы PnPDataLinks с арматурой и инструментами
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:27: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowClassName]='Valve' OR [RowClassName]='InlineInstrument'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:29: // Создать списки PnPId элементов арматуры и инструментов,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:30: // если PnPId повторяются от группы к группе,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:32: List<int> liAllPnPIdValvesOrInstruments = new List<int>();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:33: List<int> liAddedPnPIdValvesOrInstruments = new List<int>();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:35: // Заполнить список PnPId всех элементов арматуры и инструментов
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:36: foreach (DataRow drValveOrInstrument in adrDataLinks)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:38: liAllPnPIdValvesOrInstruments.Add(Convert.ToInt32(drValveOrInstrument["RowId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:63: // Получить PnPId компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:64: int iPnPId = Convert.ToInt32(drValve["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:68: if (liAllPnPIdValvesOrInstruments.IndexOf(iPnPId) == -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:76: if (!CheckExistingAndDrawingsAndLineNumbers(iPnPId))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:83: if (liAddedPnPIdValvesOrInstruments.IndexOf(iPnPId) == -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:85: liAddedPnPIdValvesOrInstruments.Add(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:93: double dNominalPressure = GetNominalPressure(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:96: int iNominalDiameter = GetNominalDiameter(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:98: // Получить запись таблицы EngineeringItems
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:99: DataRow drEngineeringItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:108: DataRow drPipeRunComponent = Program.dsPipingDCF.Tables["PipeRunComponent"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:113: AddOrCreateValveGroup(vfValveFilter, dNominalPressure, iNominalDiameter, sDescription, (vfValveFilter.OutputTag) ? sTag : "", iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:116: // Eсли задан запрос по таблице EngineeringItems...
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:117: if (vfValveFilter.EngineeringItemsQuery != "")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:120: DataRow[] adrValves = Program.dsPipingDCF.Tables["EngineeringItems"].Select(vfValveFilter.EngineeringItemsQuery);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:125: // Получить PnPId компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:126: int iPnPId = Convert.ToInt32(drValve["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:130: if (liAllPnPIdValvesOrInstruments.IndexOf(iPnPId) == -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:138: if (!CheckExistingAndDrawingsAndLineNumbers(iPnPId))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:145: if (liAddedPnPIdValvesOrInstruments.IndexOf(iPnPId) == -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:147: liAddedPnPIdValvesOrInstruments.Add(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:155: double dNominalPressure = GetNominalPressure(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:158: int iNominalDiameter = GetNominalDiameter(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:175: DataRow drPipeRunComponent = Program.dsPipingDCF.Tables["PipeRunComponent"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:180: AddOrCreateValveGroup(vfValveFilter, dNominalPressure, iNominalDiameter, sDescription, (vfValveFilter.OutputTag) ? sTag : "", iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:186: // Обработать каждый элемент liAllPnPIdValvesOrInstruments
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:187: foreach (int iMissedPnPId in liAllPnPIdValvesOrInstruments)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:190: if (liAddedPnPIdValvesOrInstruments.IndexOf(iMissedPnPId) == -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:195: if (!CheckExistingAndDrawingsAndLineNumbers(iMissedPnPId))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:205: DataRow drValve = Program.dsPipingDCF.Tables["Valve"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:208: double dNominalPressure = GetNominalPressure(iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:211: int iNominalDiameter = GetNominalDiameter(iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:214: string sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iMissedPnPId)[0]["ComponentDescription"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:217: sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iMissedPnPId)[0]["PartSizeLongDesc"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:228: DataRow drPipeRunComponent = Program.dsPipingDCF.Tables["PipeRunComponent"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:233: sTag = "PnPId: " + iMissedPnPId;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:238: AddOrCreateValveGroup(vfValveFilter, dNominalPressure, iNominalDiameter, sDescription, sTag, iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:245: DataRow drInlineInstrument = Program.dsPipingDCF.Tables["InlineInstrument"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:248: double dNominalPressure = GetNominalPressure(iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:251: int iNominalDiameter = GetNominalDiameter(iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:254: string sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iMissedPnPId)[0]["ComponentDescription"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:257: sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iMissedPnPId)[0]["PartSizeLongDesc"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:268: DataRow drPipeRunComponent = Program.dsPipingDCF.Tables["PipeRunComponent"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:273: sTag = "PnPId: " + +iMissedPnPId;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:278: AddOrCreateValveGroup(vfValveFilter, dNominalPressure, iNominalDiameter, sDescription, sTag, iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:294: dataRowsComonents = Program.dsPipingDCF.Tables["Valve"].Select("[PnPID]=" + iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:302: dataRowsComonents = Program.dsPipingDCF.Tables["InlineInstrument"].Select("[PnPID]=" + iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:311: double dNominalPressure = GetNominalPressure(iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:314: int iNominalDiameter = GetNominalDiameter(iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:317: string sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select(
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:318: "[PnPID]=" + iMissedPnPId)[0]["ComponentDescription"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:321: sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select(
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:322: "[PnPID]=" + iMissedPnPId)[0]["PartSizeLongDesc"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:333: DataRow drPipeRunComponent = Program.dsPipingDCF.Tables["PipeRunComponent"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:338: sTag = "PnPId: " + +iMissedPnPId;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:343: AddOrCreateValveGroup(vfValveFilter, dNominalPressure, iNominalDiameter, sDescription, sTag, iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:368: void AddOrCreateValveGroup(ValveFilter vfValveFilter, double dNominalPressure, int iNominalDiameter, string sDescription, string sTag, int iComponentPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:376: if (!PipingElements.GetDrawingFileNameAndComponentHandle(iComponentPnPId, ref sDrawingFileName, ref lHandle))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:390: dWeight = Convert.ToDouble(Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId)[0]["Weight"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:433: double GetNominalPressure(int iPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:436: DataRow drEngineeringItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:498: public static int GetNominalDiameter(int iPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:501: DataRow drEngineeringItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:523: public static bool CheckExistingAndDrawingsAndLineNumbers(int iPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:528: // Получить запись таблицы EngineeringItems по iPnPId
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:529: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:533: if (string.Format("{0}", adrEngineeringItems[0]["Status"]) != "New")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:538: // Узнать PnPID чертежа для компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:539: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:540: int iDwgId = Convert.ToInt32(adrDataLinks[0]["DwgId"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:548: if (dDrawing.iPnPId == iDwgId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:559: // Узнать PnPID номера линии для компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:560: DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:561: if (adrLineGroupPartRelationships.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:563: Program.liComponentsWOLineNumber.Add(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:566: int iLineNumberId = Convert.ToInt32(adrLineGroupPartRelationships[0]["LineGroup"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:574: if (lnLineNumber.iPnPId == iLineNumberId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:778: string sEngineeringItemsQuery; // запрос к таблице EngeneerinItems (если не задано, то поиск в этой таблице игнорируется)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:799: // Член для чтения sEngineeringItemsQuery
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:800: public string EngineeringItemsQuery
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:804: return sEngineeringItemsQuery;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:818: public ValveFilter(string sName, string sValveBodyType, string sEngineeringItemsQuery, bool bOutputTag)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:822: this.sEngineeringItemsQuery = sEngineeringItemsQuery;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:21: // Выбрать все записи из таблицы EngineeringItems
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:22: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:25: foreach (DataRow drEngineeringItem in adrEngineeringItems)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:27: // Извлечь PnPID компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:28: int iComponentPnPId = Convert.ToInt32(drEngineeringItem["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:34: if (!CheckExistingAndDrawingsAndLineNumbers(iComponentPnPId))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:40: UpdateOrCreatePiping(iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:53: // компонента с iComponentPnPId
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:54: void UpdateOrCreatePiping(int iComponentPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:56: // Получить запись таблицы "EngineeringItems" для дальнейшей работы
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:57: DataRow drEngineeringItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:72: if (!PipingElements.GetDrawingFileNameAndComponentHandle(iComponentPnPId, ref sDrawingFileName, ref lHandle))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:78: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:79: string sComponentType = string.Format("{0}", adrDataLinks[0]["RowClassName"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:109: // DataRow[] aPipes = Program.dsPipingDCF.Tables["Pipe"].Select("PnPID=" + iComponentPnPId);//2018
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:123: aPipes = Program.dsPipingDCF.Tables["Pipe"].Select("PnPID=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:128: aPipes = Program.dsPipingDCF.Tables["PipeBend"].Select("PnPID=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:154: //dLength = Convert.ToDouble(Program.dsPipingDCF.Tables["Pipe"].Select("[PnPID]=" + iComponentPnPId)[0]["Length"]) / 1000; // support
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:155: dLength = Convert.ToDouble(Program.dsPipingDCF.Tables["Pipe"].Select("[PnPID]=" + iComponentPnPId)[0]["CutLength"]) / 1000; // support
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:164: dLength = PipingElements.GetElbowLength(iComponentPnPId) / 1000;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:170: dLength = Convert.ToDouble(Program.dsPipingDCF.Tables["PipeBend"].Select("[PnPID]=" + iComponentPnPId)[0]["CutLength"]) / 1000;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:208: public static bool CheckExistingAndDrawingsAndLineNumbers(int iPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:213: // Получить запись таблицы EngineeringItems по iPnPId
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:214: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:218: if (string.Format("{0}", adrEngineeringItems[0]["Status"]) != "New")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:223: // Узнать PnPID чертежа для компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:224: DataRow drDataLink = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:230: if (Glob.ldSelectedDrawings.Where(o => o.iPnPId == iDwgId).Count() == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:235: // Узнать PnPID номера линии для компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:236: DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:237: if (adrLineGroupPartRelationships.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:239: Program.liComponentsWOLineNumber.Add(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:242: int iLineNumberId = Convert.ToInt32(adrLineGroupPartRelationships[0]["LineGroup"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:248: if (Glob.ldSelectedLineNumbers.Where(o => (o.iPnPId == iLineNumberId) && (o.bTested)).Count() == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:21: public static string sNKRTitle; // значение поля Title таблицы EngineeringItems, по которому определяется, что опора является НКР
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:31: // Выбрать все записи из таблицы PnPDataLinks с опорами
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:32: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowClassName]='Support'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:34: // Создать списки PnPId элементов опор,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:35: // если PnPId повторяются от группы к группе,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:37: List<int> liAllPnPIdSupports = new List<int>();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:38: List<int> liAddedPnPIdSupports = new List<int>();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:40: // Заполнить список PnPId всех элементов опор
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:41: foreach (DataRow drSupport in adrDataLinks)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:43: liAllPnPIdSupports.Add(Convert.ToInt32(drSupport["RowId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:51: // Если в sfSupportFilter задан запрос к таблице EngineeringItems...
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:52: if (sfSupportFilter.EngineeringItemsQuery != "")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:54: // ...получить все записи таблицы EngineeringItems по этому фильтру
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:55: DataRow[] adrSupports = Program.dsPipingDCF.Tables["EngineeringItems"].Select(sfSupportFilter.EngineeringItemsQuery);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:60: // Получить PnPId компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:61: int iPnPId = Convert.ToInt32(drSupport["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:63: // Объявить или иницировать переменную PnPId трубы или отвода,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:65: int iParentPipeOrElbowPnPId = -1;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:67: // Определить PnPId трубы или отвода,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:69: List<int> liCheckedPnPIds = new List<int>();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:70: iParentPipeOrElbowPnPId = GetParentPnPId(iPnPId, ref liCheckedPnPIds);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:75: if (!ValveGroups.CheckExistingAndDrawingsAndLineNumbers(iPnPId))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:82: if (liAddedPnPIdSupports.IndexOf(iPnPId) == -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:84: liAddedPnPIdSupports.Add(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:92: int iNominalDiameter = ValveGroups.GetNominalDiameter(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:102: AddOrCreateSupportGroup(sfSupportFilter, iNominalDiameter, sDescription, iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:108: // Обработать каждый элемент liAllPnPIdSupports
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:109: foreach (int iMissedPnPId in liAllPnPIdSupports)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:112: if (liAddedPnPIdSupports.IndexOf(iMissedPnPId) == -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:114: // Объявить или иницировать переменную PnPId трубы или отвода,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:116: int iParentPipeOrElbowPnPId = -1;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:118: // Определить PnPId трубы или отвода,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:120: List<int> liCheckedPnPIds = new List<int>();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:121: iParentPipeOrElbowPnPId = GetParentPnPId(iMissedPnPId, ref liCheckedPnPIds);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:126: //if (iParentPipeOrElbowPnPId != -1) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:127: // if (!ValveGroups.CheckExistingAndDrawingsAndLineNumbers(iParentPipeOrElbowPnPId)) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:132: if (!ValveGroups.CheckExistingAndDrawingsAndLineNumbers(iMissedPnPId))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:139: int iNominalDiameter = ValveGroups.GetNominalDiameter(iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:141: // Получить запись таблицы EngineeringItems
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:142: DataRow drSupport = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:155: AddOrCreateSupportGroup(sfSupportFilter, iNominalDiameter, sDescription, iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:162: AddOrCreareNKRGroup(iNominalDiameter, sDescription, iMissedPnPId, sGroup);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:262: void AddOrCreareNKRGroup(int iNominalDiameter, string sDescription, int iComponentPnPId, string sGroup)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:266: int iParentSupportPnPId = 0;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:270: // iParentSupportPnPId = Convert.ToInt32(Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iComponentPnPId)[0]["Part2"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:276: // iParentSupportPnPId = Convert.ToInt32(Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iComponentPnPId)[0]["Part1"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:280: // iParentSupportPnPId = iComponentPnPId;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:295: dataRowsConnectionsPart = dataTablePartConnection.Select("[Part1]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:300: iParentSupportPnPId = Convert.ToInt32(dataRowsConnectionsPart[0]["Part2"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:304: if (iParentSupportPnPId != 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:309: dataRowsConnectionsPart = dataTablePartConnection.Select("[Part2]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:314: iParentSupportPnPId = Convert.ToInt32(dataRowsConnectionsPart[0]["Part1"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:318: if (iParentSupportPnPId != 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:325: iParentSupportPnPId = iComponentPnPId;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:328: DataRow drParentSupport = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iParentSupportPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:358: if (!PipingElements.GetDrawingFileNameAndComponentHandle(iComponentPnPId, ref sDrawingFileName, ref lHandle))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:388: nkrNKRSubGroup.AddNKR(iComponentPnPId, nkrNKR, ref lkvpsdGeometryParameters, out dWeight);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:389: //AddSupportToPipingElement(iComponentPnPId, iMinZ, iMaxZ, dWeight);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:393: nkrNKRSubGroup.AddNKR(iComponentPnPId, new NKR(sDescription), ref lkvpsdGeometryParameters, out dWeight);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:394: //AddSupportToPipingElement(iComponentPnPId, iMinZ, iMaxZ, dWeight);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:399: nkrNKRNewSubGroup.AddNKR(iComponentPnPId, new NKR(sDescription), ref lkvpsdGeometryParameters, out dWeight);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:400: //AddSupportToPipingElement(iComponentPnPId, iMinZ, iMaxZ, dWeight);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:407: nkrNKRNewSubGroup2.AddNKR(iComponentPnPId, new NKR(sDescription), ref lkvpsdGeometryParameters, out dWeight);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:408: //AddSupportToPipingElement(iComponentPnPId, iMinZ, iMaxZ, dWeight);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:413: // Рекурсивно обработать опору или НКР с PnPId iCurrentPnPId.
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:414: // вернуть PnPId трубы или отвода, к которому присоединен компонент
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:415: int GetParentPnPId(int iCurrentPnPId, ref List<int> liCheckedPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:417: DataRow[] adrParentPnPIds1 = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:418: if (adrParentPnPIds1.Length != 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:420: foreach (DataRow drParentPnPId in adrParentPnPIds1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:422: int iPipeOrElbow1 = Convert.ToInt32(drParentPnPId["Part2"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:423: if (liCheckedPnPId.IndexOf(iPipeOrElbow1) == -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:425: liCheckedPnPId.Add(iPipeOrElbow1);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:426: DataRow drParentClassName1 = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPipeOrElbow1).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:433: int iRecursion1 = GetParentPnPId(iPipeOrElbow1, ref liCheckedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:441: DataRow[] adrParentPnPIds2 = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:442: if (adrParentPnPIds2.Length != 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:444: foreach (DataRow drParentPnPId in adrParentPnPIds2)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:446: int iPipeOrElbow2 = Convert.ToInt32(drParentPnPId["Part1"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:447: if (liCheckedPnPId.IndexOf(iPipeOrElbow2) == -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:449: liCheckedPnPId.Add(iPipeOrElbow2);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:450: DataRow drParentClassName2 = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPipeOrElbow2).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:457: int iRecursion2 = GetParentPnPId(iPipeOrElbow2, ref liCheckedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:469: void AddSupportToPipingElement(int iSupportPnPId, int iMinZ, int iMaxZ, double dWeight)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:471: // Объявить или иницировать переменную PnPId трубы или отвода,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:473: int iParentPipeOrElbowPnPId = -1;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:475: // Определить PnPId трубы или отвода,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:477: List<int> liCheckedPnPIds = new List<int>();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:478: iParentPipeOrElbowPnPId = GetParentPnPId(iSupportPnPId, ref liCheckedPnPIds);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:480: // Если iParentPipeOrElbowPnPId определить не удалось, выйти
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:481: if (iParentPipeOrElbowPnPId == -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:486: // Получить спискок PipingElement, в состав которого входит iParentPipeOrElbowPnPId
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:487: List<PipingElement> lpeParentPipingElements = PipingElements.lpePipingElements.Where(o => o.PnPIds.IndexOf(iParentPipeOrElbowPnPId) != -1).ToList();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:502: // Определить PipingElement, в состав которого входит iParentPipeOrElbowPnPId,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:514: void AddOrCreateSupportGroup(SupportFilter sfSupportFilter, int iNominalDiameter, string sDescription, int iComponentPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:522: if (!PipingElements.GetDrawingFileNameAndComponentHandle(iComponentPnPId, ref sDrawingFileName, ref lHandle))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:538: dWeight = Convert.ToDouble(Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId)[0]["Weight"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:559: AddSupportToPipingElement(iComponentPnPId, iMinZ, iMaxZ, dWeight);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:729: string sEngineeringItemsQuery; // запрос к таблице EngeneerinItems
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:740: // Член для чтения sEngineeringItemsQuery
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:741: public string EngineeringItemsQuery
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:745: return sEngineeringItemsQuery;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:750: public SupportFilter(string sName, string sEngineeringItemsQuery)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:753: this.sEngineeringItemsQuery = sEngineeringItemsQuery;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:942: public void AddNKR(int iComponentPnPId, NKR nkrNKR, ref List<KeyValuePair<string, double>> lkvpsdGeometryParameters, out double dWeight)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:953: int iPnPId = iComponentPnPId;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:954: if (Program.liErrorNKRs.IndexOf(iPnPId) == -1)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:956: Program.liErrorNKRs.Add(iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:961: Program.lsErrorNKRs[Program.liErrorNKRs.IndexOf(iPnPId)] += "," + sParameter.Replace("{", "").Replace("}", "");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1196: lWeldedSupports.Add(new WeldedSupport(Convert.ToInt32(dSupport["PnPID"])));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1200: lWeldedSupports = lWeldedSupports.Where(o => Glob.ldSelectedDrawings.Select(o1 => o1.iPnPId).ToList().IndexOf(o.DrawingId) != -1).
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1203: Where(o => Glob.ldSelectedLineNumbers.Select(o1 => o1.iPnPId).ToList().IndexOf(o.LineGroupId) != -1).
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1204: Where(o => Welds.lwlnLineNumbers.First(o1 => o1.PnPId == o.LineGroupId).IsHeatTreated).ToList();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1226: public int LineGroupId { get; private set; } // PnPID номера линии компонента, к которому присоединена опора
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1227: public int DrawingId { get; private set; } // PnPID чертежа компонента, к которому присоединена опора
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1233: public WeldedSupport(int PnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1236: DataRow dEItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("PnPId=" + PnPId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1255: DataRow[] aConnectionsAsPart1 = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("Part1=" + PnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1256: DataRow[] aConnectionsAsPart2 = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("Part2=" + PnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1268: DataRow dItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("PnPId=" + iConnectedPartId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1275: DataRow dLineGroup1 = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("Part=" + iConnectedPartId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1276: LineGroupId = Convert.ToInt32(dLineGroup1["LineGroup"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1278: DataRow dDataLink1 = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("RowId=" + iConnectedPartId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1287: // LineGroupId = -1;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1289: DataRow dLineGroup1 = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("Part=" + PnPId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1290: LineGroupId = Convert.ToInt32(dLineGroup1["LineGroup"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1292: DataRow dDataLink1 = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("RowId=" + PnPId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1294: NominalDiameter = ValveGroups.GetNominalDiameter(PnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:25: static int iCurrentWeldPnPId; // PnPId текущего анализируемого шва
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:26: static int iCurrentConnectorPnPId; // PnPId текущего анализируемого соединения
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:44: iCurrentWeldPnPId = Convert.ToInt32(string.Format("{0}", drWeld["PnPID"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:46: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentWeldPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:47: if (adrEngineeringItems.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:51: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iCurrentWeldPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:52: int iDwgId = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["DwgId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:53: long lHandle = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["DwgHandleLow"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:54: adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[DwgId]=" + iDwgId + " AND [DwgHandleLow]=" + lHandle + " AND [DwgSubIndex]=0");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:55: iCurrentConnectorPnPId = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["RowId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:58: DataRow[] adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:64: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:80: if ((Program.dsPipingDCF.Tables.Contains("Nozzle") && Program.dsPipingDCF.Tables["Nozzle"].Select("PnPId=" + liConnectedParts[0]).Length > 0) || (Program.dsPipingDCF.Tables.Contains("Equipment") && Program.dsPipingDCF.Tables["Equipment"].Select("PnPId=" + liConnectedParts[0]).Length > 0))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:113: iCurrentWeldPnPId = Convert.ToInt32(string.Format("{0}", drWeld["PnPID"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:114: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentWeldPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:115: if (adrEngineeringItems.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:119: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iCurrentWeldPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:120: int iDwgId = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["DwgId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:121: long lHandle = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["DwgHandleLow"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:122: adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[DwgId]=" + iDwgId + " AND [DwgHandleLow]=" + lHandle + " AND [DwgSubIndex]=0");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:123: iCurrentConnectorPnPId = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["RowId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:126: DataRow[] adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:132: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:148: if ((Program.dsPipingDCF.Tables.Contains("Nozzle") && Program.dsPipingDCF.Tables["Nozzle"].Select("PnPId=" + liConnectedParts[0]).Length > 0) || (Program.dsPipingDCF.Tables.Contains("Equipment") && Program.dsPipingDCF.Tables["Equipment"].Select("PnPId=" + liConnectedParts[0]).Length > 0))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:179: iCurrentWeldPnPId = Convert.ToInt32(string.Format("{0}", drWeld["PnPID"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:180: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentWeldPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:181: if (adrEngineeringItems.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:185: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iCurrentWeldPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:186: int iDwgId = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["DwgId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:187: long lHandle = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["DwgHandleLow"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:188: adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[DwgId]=" + iDwgId + " AND [DwgHandleLow]=" + lHandle + " AND [DwgSubIndex]=0");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:189: iCurrentConnectorPnPId = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["RowId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:192: DataRow[] adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:198: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:214: if ((Program.dsPipingDCF.Tables.Contains("Nozzle") && Program.dsPipingDCF.Tables["Nozzle"].Select("PnPId=" + liConnectedParts[0]).Length > 0) || (Program.dsPipingDCF.Tables.Contains("Equipment") && Program.dsPipingDCF.Tables["Equipment"].Select("PnPId=" + liConnectedParts[0]).Length > 0))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:244: int iPipePnPId = Convert.ToInt32(drPipe["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:247: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPipePnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:248: if (adrEngineeringItems.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:252: string sSpec = Connection.GetSpecForComponent(iPipePnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:254: double dNominalDiameter = Connection.GetNominalDiameter(iPipePnPId, out bImperial);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:255: WeldLineNumber wlnLineNumber = Connection.GetLineNumberForComponent(iPipePnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:264: if (!PipingElements.GetDrawingFileNameAndComponentHandle(iPipePnPId, ref sDrawingFileName, ref lHandle, true))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:277: lwWelds.Add(new Weld(wpWeldPipe, wlnLineNumber, new List<string> { string.Format("{0}", adrEngineeringItems[0]["Material"]), string.Format("{0}", adrEngineeringItems[0]["Material"]) }, z));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:291: iCurrentWeldPnPId = Convert.ToInt32(string.Format("{0}", drWeld["PnPID"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:293: if (!Connection.OnLineNumbersAndDrawings(iCurrentWeldPnPId))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:298: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentWeldPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:299: if (adrEngineeringItems.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:303: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iCurrentWeldPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:304: int iDwgId = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["DwgId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:305: long lHandle = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["DwgHandleLow"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:306: adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[DwgId]=" + iDwgId + " AND [DwgHandleLow]=" + lHandle + " AND [DwgSubIndex]=0");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:307: iCurrentConnectorPnPId = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["RowId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:308: DataRow[] adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:315: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:324: DataRow[] adrOlets1 = Program.dsPipingDCF.Tables["Olet"].Select("[PnPID]=" + iConnectedPart1);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:325: DataRow[] adrOlets2 = Program.dsPipingDCF.Tables["Olet"].Select("[PnPID]=" + iConnectedPart2);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:354: if (iConnectedPart1 != iCurrentConnectorPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:366: if (iConnectedPart2 != iCurrentConnectorPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:428: iCurrentWeldPnPId = Convert.ToInt32(string.Format("{0}", drWeld["PnPID"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:430: if (!Connection.OnLineNumbersAndDrawings(iCurrentWeldPnPId))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:435: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentWeldPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:436: if (adrEngineeringItems.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:440: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iCurrentWeldPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:441: int iDwgId = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["DwgId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:442: long lHandle = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["DwgHandleLow"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:443: adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[DwgId]=" + iDwgId + " AND [DwgHandleLow]=" + lHandle + " AND [DwgSubIndex]=0");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:444: iCurrentConnectorPnPId = Convert.ToInt32(string.Format("{0}", adrPnPDataLinks[0]["RowId"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:445: DataRow[] adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:452: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:461: DataRow[] adrCouplings1 = Program.dsPipingDCF.Tables["Coupling"].Select("[PnPID]=" + iConnectedPart1);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:462: DataRow[] adrCouplings2 = Program.dsPipingDCF.Tables["Coupling"].Select("[PnPID]=" + iConnectedPart2);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:491: if (iConnectedPart1 != iCurrentConnectorPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:503: if (iConnectedPart2 != iCurrentConnectorPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:917: List<int> liConnectedParts; // список PnPId 2-х соединенных элементов
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:944: DataRow[] adrEngineeringItems;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:948: adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + liConnectedParts[i]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:950: if (adrEngineeringItems.Length > 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:954: // if (string.Format("{0}", adrEngineeringItems[0]["ComponentDesignation"]) == "Custom")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:959: //if (string.Format("{0}", adrEngineeringItems[0]["Spec"]) == "")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:964: if ((string.Format("{0}", adrEngineeringItems[0]["Spec"]) == "")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:965: && (string.Format("{0}", adrEngineeringItems[0]["ComponentDesignation"]) != "Custom"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:972: adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + liConnectedParts[i] + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:973: lbExistingParts.Add(adrEngineeringItems.Length == 0);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:974: adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + liConnectedParts[i]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:975: if (adrEngineeringItems.Length > 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:977: lsNominalDiameters.Add(Convert.ToDouble(adrEngineeringItems[0]["NominalDiameter"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:988: //DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + liConnectedParts[i]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:989: //if (adrEngineeringItems.Length == 1) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:990: // lsMaterials.Add(string.Format("{0}", adrEngineeringItems[0]["Material"]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1154: string GetPipeSpecMaterial(int iPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1156: DataRow drEngineeringItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1159: DataRow drDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1160: //switch (string.Format("{0}", drDataLinks["RowClassName"])) {
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1171: double dNominalDiameter = GetNominalDiameter(iPnPId, out bImperial, true);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1190: public static bool OnLineNumbersAndDrawings(int iPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1194: int iLineNumberPnPId = Convert.ToInt32(Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iPnPId)[0]["LineGroup"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1195: bool bOnLineNumbers = (lwlnLineNumbers.Where(o => o.PnPId == iLineNumberPnPId).Count() > 0);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1196: int iDrawingPnPId = Convert.ToInt32(Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId)[0]["DwgId"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1197: bool bOnDrawings = (Glob.ldSelectedDrawings.Where(o => o.iPnPId == iDrawingPnPId).Count() > 0);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1206: // Получить WeldLineNumber по PnPId компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1209: public static WeldLineNumber GetLineNumberForComponent(int iComponentPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1211: DataRow[] adrP3dLineGroupPartRelationship = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1212: if (adrP3dLineGroupPartRelationship.Length == 0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1219: // iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1224: // iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1229: iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1231: iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1236: Program.liComponentsWOLineNumber.Add(iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1242: int iLineNumberPnPId = 0;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1245: iLineNumberPnPId = Convert.ToInt32(adrP3dLineGroupPartRelationship[0]["LineGroup"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1250: if (wlnLineNumber.PnPId == iLineNumberPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1262: public static double GetNominalDiameter(int iComponentPnPId, out bool bImperial, bool bAllwaysGetMetric = false)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1265: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1268: bImperial = (adrEngineeringItems[0]["NominalUnit"].ToString().ToUpper() == "IN");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1269: double dNominalDiameter = Convert.ToDouble(adrEngineeringItems[0]["NominalDiameter"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1281: // Получить наименование миникаталога по PnPId компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1283: public static string GetSpecForComponent(int iComponentPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1285: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1288: string sSpec = adrEngineeringItems[0]["Spec"].ToString();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1316: // Вернуть WeldPipe по PnPId компонента
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1318: WeldPipe GetWeldPipeForComponent(int iComponentPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1320: string sSpec = GetSpecForComponent(iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1326: double dNominalDiameter = GetNominalDiameter(iComponentPnPId, out bImperial);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1334: // Вернуть список PnPId на номере линии wlnLineNumber, которые относятся к ctComponetType,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1337: List<int> GetListOfNotExistingComponetsPnPIdForWeldLineNumberAndComponentType(WeldLineNumber wlnLineNumber, ComponentType ctComponetType, double dNominalDiameter = -1.0)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1340: DataRow[] adrP3dLineGroupPartRelationship = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[LineGroup]=" + wlnLineNumber.PnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1341: foreach (DataRow drComponent in adrP3dLineGroupPartRelationship)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1343: int iCurrentPnPId = Convert.ToInt32(drComponent["Part"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1344: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1349: if ((GetComponentType(iCurrentPnPId) == ctComponetType) &&
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1351: (adrEngineeringItems.Length > 0))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1353: liCurrentReturnValue.Add(iCurrentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1355: else if ((GetComponentType(iCurrentPnPId) == ctComponetType) &&
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1357: (adrEngineeringItems.Length > 0) &&
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1358: (dNominalDiameter == Convert.ToDouble(adrEngineeringItems[0]["NominalDiameter"])))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1360: liCurrentReturnValue.Add(iCurrentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1448: WeldLineNumber wlnLineNumber = GetLineNumberForComponent(iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1492: // Получить список PnPId труб или грутых отводов с указанных номера линии
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1494: List<int> liPipeOrPipeBendWithSameDiameter = GetListOfNotExistingComponetsPnPIdForWeldLineNumberAndComponentType(wlnLineNumber, ComponentType.ctPipeOrPipeBend, dNominalDiameter);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1513: // Получить список PnPId труб или грутых отводов с указанного номера линии
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1514: List<int> liPipesOrPipeBendsWithAnyDiameter = GetListOfNotExistingComponetsPnPIdForWeldLineNumberAndComponentType(wlnLineNumber, ComponentType.ctPipeOrPipeBend);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1534: // Получить список PnPId "не фланцев, инструментов, арматуры, труб или гнутых отводов" с указанного номера линии
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1535: List<int> liNotFlangeOrInstrumentOrValveOrPipeOrPipeBend = GetListOfNotExistingComponetsPnPIdForWeldLineNumberAndComponentType(wlnLineNumber, ComponentType.ctNotFlangeOrInstrumentOrValveOrPipeOrPipeBend);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1561: // Получить список PnPId "не фланцев, инструментов, арматуры, труб или гнутых отводов" с указанного номера линии
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1562: List<int> liNotFlangeOrInstrumentOrValveOrPipeOrPipeBendOrSupportOrConnection = GetListOfNotExistingComponetsPnPIdForWeldLineNumberAndComponentType(wlnLineNumber, ComponentType.ctNotFlangeOrInstrumentOrValveOrPipeOrPipeBendOrSupportOrConnection);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1588: // Получить список PnPId "фланцев, инструментов или арматуры" с указанного номера линии
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1589: List<int> liFlangeOrInstrumentOrValve = GetListOfNotExistingComponetsPnPIdForWeldLineNumberAndComponentType(wlnLineNumber, ComponentType.ctFlangeOrInstrumentOrValve);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1623: WeldLineNumber wlnLineNumber = GetLineNumberForComponent(iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1625: double dNominalDiameter = GetNominalDiameter(iCurrentWeldPnPId, out bImperial);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1671: double dNominalDiameter = GetNominalDiameter(iCurrentWeldPnPId, out bImperial);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1707: double dNominalDiameter = GetNominalDiameter(iCurrentWeldPnPId, out bImperial);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1712: ComponentType GetComponentType(int iPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1714: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1715: switch (string.Format("{0}", adrPnPDataLinks[0]["RowClassName"]))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1873: WeldLineNumber wlnNewLineNumber = new WeldLineNumber(lnLineNumber.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2025: int iPnPId; // PnPId номера линии
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2049: public WeldLineNumber(int iPnPId)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2051: this.iPnPId = iPnPId;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2052: DataRow[] adrLineNumber = Program.dsPipingDCF.Tables["P3dLineGroup"].Select("[PnPID]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2115: int iThread = Convert.ToInt32(drThread["PnPID"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2116: DataRow[] adrDatalinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("RowId=" + iThread);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2122: adrDatalinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("DwgId=" + iDwgId + " AND DwgHandleLow=" + lDwgHandleLow + " AND RowClassName='P3dConnector'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2136: adrDatalinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("RowId=" + iConnectedPart);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2143: if (!Glob.ldSelectedDrawings.Any(o => o.iPnPId == iDwgId))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2148: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("PnPID=" + iConnectedPart);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2149: if ((adrEngineeringItems.Length == 0) || (string.Format("{0}", adrEngineeringItems[0]["Status"]).ToUpper() != "NEW"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2154: DataRow[] adrRelations = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("Part=" + iConnectedPart + " AND LineGroup=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2186: // Вернуть iPnPId
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2187: public int PnPId
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2191: return iPnPId;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XMLFile.cs:230: // Прочитать значение поля Title таблицы EngineeringItems,
@@ -0,0 +1,3 @@
P_Rec_BOP.sln
P_Rec_BOP\App.config
P_Rec_BOP\P_Rec_BOP.csproj
@@ -0,0 +1,11 @@
"Project","Kind","Name","HintPath","CopyLocal"
"P_Rec_BOP\P_Rec_BOP.csproj","Reference","Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL","C:\Program Files (x86)\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Word.dll",""
"P_Rec_BOP\P_Rec_BOP.csproj","Reference","SautinSoft.Document","lib\SautinSoft.Document.dll",""
"P_Rec_BOP\P_Rec_BOP.csproj","Reference","System","",""
"P_Rec_BOP\P_Rec_BOP.csproj","Reference","System.Data","",""
"P_Rec_BOP\P_Rec_BOP.csproj","Reference","System.Data.DataSetExtensions","",""
"P_Rec_BOP\P_Rec_BOP.csproj","Reference","System.Data.SQLite","lib\x32\System.Data.SQLite.dll",""
"P_Rec_BOP\P_Rec_BOP.csproj","Reference","System.Drawing","",""
"P_Rec_BOP\P_Rec_BOP.csproj","Reference","System.Windows.Forms","",""
"P_Rec_BOP\P_Rec_BOP.csproj","Reference","System.XML","",""
"P_Rec_BOP\P_Rec_BOP.csproj","Reference","System.Xml.Linq","",""
1 Project Kind Name HintPath CopyLocal
2 P_Rec_BOP\P_Rec_BOP.csproj Reference Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL C:\Program Files (x86)\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Word.dll
3 P_Rec_BOP\P_Rec_BOP.csproj Reference SautinSoft.Document lib\SautinSoft.Document.dll
4 P_Rec_BOP\P_Rec_BOP.csproj Reference System
5 P_Rec_BOP\P_Rec_BOP.csproj Reference System.Data
6 P_Rec_BOP\P_Rec_BOP.csproj Reference System.Data.DataSetExtensions
7 P_Rec_BOP\P_Rec_BOP.csproj Reference System.Data.SQLite lib\x32\System.Data.SQLite.dll
8 P_Rec_BOP\P_Rec_BOP.csproj Reference System.Drawing
9 P_Rec_BOP\P_Rec_BOP.csproj Reference System.Windows.Forms
10 P_Rec_BOP\P_Rec_BOP.csproj Reference System.XML
11 P_Rec_BOP\P_Rec_BOP.csproj Reference System.Xml.Linq
@@ -0,0 +1 @@
NO_GIT_DIRECTORY
@@ -0,0 +1,2 @@
"RelativePath","Format","Length","SHA256","SourceModified"
"templates\Шаблон.docx",".docx","88534","C669900F2D7D8A3B80BF6898FE80B0F0A6CF4F38694694A66367E487EB3EA79B","False"
1 RelativePath Format Length SHA256 SourceModified
2 templates\Шаблон.docx .docx 88534 C669900F2D7D8A3B80BF6898FE80B0F0A6CF4F38694694A66367E487EB3EA79B False
@@ -0,0 +1,152 @@
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\CHANGELOG.md:33: - быстрый вывод в Word дополнен явным присвоением режима просмотра
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\CHANGELOG.md:132:Новый вывод в Word, фильтр миникаталогов
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\CHANGELOG.md:139: - применен промежуточный класс для вывода отчета в Word
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\CHANGELOG.md:150: - переход на классический вывод в Word
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\CHANGELOG.md:168: - размещение файла вывода в Word во временной папке
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:22:настройка на шаблон .docx отключена в [Settings.xml]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:23: и в таком режиме файл [Шаблон.docx] берется по-умолчанию
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:26: - Q:\Projects\_TemplateProject\2019\2019 - Инструменты заполнения Ведомости объемов работ\Шаблон.docx
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:56:переработан шаблон выводимого документа [Шаблон.docx]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:59:добавлен промежуточный класс [Worder] для обращения к нему
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:62: для непосредственной работы с Word библиотекой.
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:64: [ReportWithWorder], который является, по сути, копией прежнего
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:68:работоспособность класса [Worder] полная, как для классического
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:69: COM-вывода (Microsoft.Office.Interop.Word), так и для библиотеки
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:92:файл вывода в Word для формирования перемещен в локальную временную
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\Комментарии.txt:1:1. Программа теперь использует библиотеку SautinSoft.Document.dll для получения документа Word "на лету", а не построчно выводит в создаваемый документ.
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\Комментарии.txt:6:6. Формат отчета - ".docx". Соответственно пересохранил шаблон в этом формате.
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\Комментарии.txt:7:7. Откомпилированная программа уже находится тут: "Q:\Projects\_TemplateProject\2019\2019 - Инструменты заполнения Ведомости объемов работ (новый шаблон ПТХ)\GetSmeta (с быстрым выводом в Word).exe"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\Комментарии.txt:8:8. Если в готовом документе "поедет" таблица, то в Word нужно включить режим совместимости.
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\Комментарии.txt:9:Для этого нужно сохранить документ как ".doc".
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\Комментарии.txt:10:Потом снова сохранить как ".docx".
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\Комментарии.txt:12:Эта настройка сохраняется для всех новых сеансов Word.
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:14:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:9:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:69: // http://www.dotnetperls.com/process
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Glob.cs:1:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Glob.cs:31: // Report / ReportWithWorder:
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Glob.cs:47: // путь шаблона документа отчета в формате MS Word
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Glob.cs:51: "Шаблон.docx");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:9:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:15:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:745: ReportWithWorder reportWithWorder = new ReportWithWorder();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:746: reportWithWorder.OutputReport();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:748: if (!string.IsNullOrEmpty(reportWithWorder.WordFileName))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:753: Path.Combine(Path.GetDirectoryName(reportWithWorder.WordFileName),
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:754: Path.GetFileNameWithoutExtension(reportWithWorder.WordFileName) + " z-base.txt"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:761: // reportWithWorder.WordFileName) { UseShellExecute = true });
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:762: Process.Start(reportWithWorder.WordFileName);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:71: <Compile Include="ReportWithWorder.cs" />
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:95: <Compile Include="Worder.cs" />
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:100: <Reference Include="Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:103: <HintPath>C:\Program Files (x86)\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Word.dll</HintPath>
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:50: Regex rRegexWordSpaceNumber = new Regex(@"[a-zA-Zа-яА-Я]+\s\d+");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:51: MatchCollection mcRegexWordSpaceNumber = rRegexWordSpaceNumber.Matches(sResult);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:54: string sResultWithoutWordSpaceNumber = Regex.Replace(sResult, @"[a-zA-Zа-яА-Я]+\s\d+", "*").Trim();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:57: string sResultWithoutWordSpaceNumberPiEAndFunctions = Regex.Replace(sResult, "(?<alpha>(pi|e|sin|cos|tan))", "*").Trim();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:60: Regex rRegexWord = new Regex(@"[a-zA-Zа-яА-Я]+");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:61: MatchCollection mcRegexWord = rRegexWord.Matches(sResultWithoutWordSpaceNumberPiEAndFunctions);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:67: foreach (Match mMatch in mcRegexWordSpaceNumber)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:73: foreach (Match mMatch in mcRegexWord)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:15: internal class ReportWithWorder
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:18: // Glob.sReportTemplatePath - путь шаблона документа отчета в формате MS Word
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:21: private Worder worder;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:24: private string _sWordFileName;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:26: public string WordFileName
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:27: { get { return _sWordFileName; } }
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:34: || Path.GetExtension(Glob.sReportTemplatePath) != ".docx")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:39: _sWordFileName = string.Empty;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:50: _sWordFileName = Glob.sProjectFolder + "\\" + Glob.sMainFolder + "\\"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:52: System.DateTime.Now)) + ".docx";
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:54: worder = new Worder(Glob.sReportTemplatePath, _sWordFileName);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:55: // worder.Engine = WordEngineName.EngineNone;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:56: worder.Engine = WordEngineName.EngineMicrosoftOfficeInterop;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:60: "Вывод в Word быстро?",
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:64: worder.Engine = WordEngineName.EngineSautinSoftDocument;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:68: if (worder.Engine == WordEngineName.EngineNone)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:70: _sWordFileName = string.Empty;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:76: Glob.TracedMessageBoxShow("Ошибка: не удается обратиться к приложению Microsoft Word"
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:81: _sWordFileName = string.Empty;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1321: _sWordFileName = worder.ResultFilePath;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:49: // (титулы меняем в визуальном представлении формы и в шаблоне .docx)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Settings.xml:10: <!-- Путь шаблона документа отчета в формате MS Word -->
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Settings.xml:13: <ReportTemplate path="Q:\Projects\_TemplateProject\2019\2019 - Инструменты заполнения Ведомости объемов работ\Шаблон.docx"/>
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Settings.xml:14: <ReportTemplate path="Q:\Projects\_TemplateProject\2019\2019 - Инструменты заполнения Ведомости объемов работ (новый шаблон ПТХ)\Шаблон.docx"/>
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:2:#if (true) // MicrosoftOfficeInterop - \PIA\Office15\Microsoft.Office.Interop.Word.dll
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:22:using Word = Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:23:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:34: enum WordEngineName
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:115: internal class Worder
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:122: // private WordEngineName _engineName = WordEngineName.EngineMicrosoftOfficeInterop;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:123: // private WordEngineName _engineName = WordEngineName.EngineSautinSoftDocument;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:124: private WordEngineName _engineName = WordEngineName.EngineNone;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:128: // WordEngineName.EngineMicrosoftOfficeInterop
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:130: private Word.Application _wordApp;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:131: private Word.Document _wordDoc;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:132: private Word.Table _wordTable;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:133: private Word.Table _wordFooterTableFirstPage;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:134: private Word.Table _wordFooterTableSecondPage;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:142: // WordEngineName.EngineSautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:166: public Worder() { }
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:168: public Worder(string sEmptyTemplateFilePath)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:174: public Worder(string sEmptyTemplateFilePath, string sResultFilePath)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:204: public WordEngineName Engine
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:219: private bool CheckEngine(WordEngineName engineName)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:221: return engineName != WordEngineName.EngineNone;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:232: && Path.GetExtension(sEmptyTemplateFilePath) == ".docx")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:309: // throw new Exception("The output to Word process is not ready");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:311: Glob.TracedMessageBoxShow("Ошибка: не удается обратиться к приложению Microsoft Word "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:327: else if (_engineName == WordEngineName.EngineMicrosoftOfficeInterop)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:331: _wordApp = new Word.Application();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:335: .Footers[Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range.Tables[1];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:337: .Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Tables[1];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:344: _wordApp.Selection.LanguageID = Word.WdLanguageID.wdRussian;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:347: _wordDoc.ActiveWindow.View.Type = Word.WdViewType.wdNormalView;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:348: // _wordApp.ActiveWindow.ActivePane.View.Zoom.PageFit = Word.WdPageFit.wdPageFitBestFit;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:358: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:375: Glob.TracedMessageBoxShow("Ошибка: не удается обратиться к приложению Microsoft Word "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:387: // throw new Exception("The output to Word process is not ready");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:389: Glob.TracedMessageBoxShow("Ошибка: не удается обратиться к приложению Microsoft Word "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:400: else if (_engineName == WordEngineName.EngineMicrosoftOfficeInterop)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:412: _wordDoc.ActiveWindow.View.Type = Word.WdViewType.wdPrintView;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:413: // _wordApp.ActiveWindow.ActivePane.View.Zoom.PageFit = Word.WdPageFit.wdPageFitBestFit;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:423: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:446: // сохраняется rtf-содержимое в файл с .docx-расширением
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:461: // при открытии rtf-файла даже в [Microsoft.Office.Interop.Word] обязательно,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:463: // иметь расширение .docx не обязательно
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:465: // если библиотека [Microsoft.Office.Interop.Word] не подключена,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:468: // то выводим файл результата с исходным расширением .docx
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:476: _wordApp = new Word.Application();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:490: _wordDoc.ActiveWindow.View.Type = Word.WdViewType.wdPrintView;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:491: // _wordApp.ActiveWindow.ActivePane.View.Zoom.PageFit = Word.WdPageFit.wdPageFitBestFit;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:510: Glob.TracedMessageBoxShow("Ошибка: не удается обратиться к приложению Microsoft Word "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:527: // throw new Exception("The output to Word process is not ready");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:529: Glob.TracedMessageBoxShow("Ошибка: не удается обратиться к приложению Microsoft Word "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:538: else if (_engineName == WordEngineName.EngineMicrosoftOfficeInterop)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:544: //else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:558: // throw new Exception("The output to Word process is not ready");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:560: Glob.TracedMessageBoxShow("Ошибка: не удается обратиться к приложению Microsoft Word "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:571: else if (_engineName == WordEngineName.EngineMicrosoftOfficeInterop)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:577: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:592: // throw new Exception("The output to Word process is not ready");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:594: Glob.TracedMessageBoxShow("Ошибка: не удается обратиться к приложению Microsoft Word "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:605: else if (_engineName == WordEngineName.EngineMicrosoftOfficeInterop)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:615: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:634: // throw new Exception("The output to Word process is not ready");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:636: Glob.TracedMessageBoxShow("Ошибка: не удается обратиться к приложению Microsoft Word "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:647: else if (_engineName == WordEngineName.EngineMicrosoftOfficeInterop)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:657: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:673: private void ApplyCell(Word.Cell cellToApply,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:689: = Word.WdParagraphAlignment.wdAlignParagraphLeft;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:692: = Word.WdParagraphAlignment.wdAlignParagraphCenter;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:695: = Word.WdParagraphAlignment.wdAlignParagraphRight;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:744: private void UpdateAllFields(Word.Document doc)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:750: foreach (Word.Section section in doc.Sections)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:753: foreach (Word.HeaderFooter hf in section.Headers)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:758: foreach (Word.HeaderFooter hf in section.Footers)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:799: // throw new Exception("The output to Word process is not ready");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:801: Glob.TracedMessageBoxShow("Ошибка: не удается обратиться к приложению Microsoft Word "
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:810: else if (_engineName == WordEngineName.EngineMicrosoftOfficeInterop)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:860: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XMLFile.cs:29: string sGeometryName = xeUpdateSupport.Attribute("contentgeometrytemplate").Value;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XMLFile.cs:128: // Прочитать путь шаблона документа отчета в формате MS Word
@@ -0,0 +1,13 @@
Template metadata (aggregated; source not copied)
Format=DOCX
Parts=document.xml, _rels/document.xml.rels, footnotes.xml, endnotes.xml, header1.xml, footer1.xml, header2.xml, footer2.xml, _rels/footer2.xml.rels, media/image1.jpeg, theme/theme1.xml, settings.xml, numbering.xml, styles.xml, webSettings.xml, fontTable.xml
ParagraphsInBody=1
TablesInBody=1
SectionProperties=1
BookmarksInBody=0
ContentControlsInBody=0
SimpleFields=0
FieldChars=0
InstructionTexts=0
HeaderParts=2
FooterParts=2
@@ -0,0 +1,2 @@
P_Rec_BOP
templates
@@ -0,0 +1,539 @@
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\CHANGELOG.md:42: - вывод документа с помощью [Document .Net] SautinSoft.Document.dll
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\CHANGELOG.md:53: - включен вариант с Document .Net (SautinSoft.Document)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\CHANGELOG.md:143: - вариант с Document .Net (SautinSoft.Document) полностью реализован
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\CHANGELOG.md:154: - вариант с Document .Net (SautinSoft.Document)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\Комментарии.txt:1:1. Программа теперь использует библиотеку SautinSoft.Document.dll для получения документа Word "на лету", а не построчно выводит в создаваемый документ.
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:69: COM-вывода (Microsoft.Office.Interop.Word), так и для библиотеки
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\README.md:70: Document .Net (SautinSoft.Document). оба варианта имели реализацию
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\CSVFile.cs:93: dtCurrentResultValue.Rows.Add(asFieldValues);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:15:// DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:29:// DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:50:// DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:109:// DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + this.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:143:// DataRow[] drPipeBend = Program.dsPipingDCF.Tables["PipeBend"].Select("[PnPID]=" + this.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Components.cs:195:// DataRow[] drRows3 = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:14:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:159: System.Data.DataTable tablePnPDrawings = _projectPipingDcf.Tables["PnPDrawings"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:211: //System.Data.DataTable tableEngineeringItems = _projectPipingDcf.Tables["EngineeringItems"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:221: if (_projectPipingDcf.Tables.Contains("EngineeringItems")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:222: && (_projectPipingDcf.Tables.Contains("PnPDataLinks"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:223: && (_projectPipingDcf.Tables.Contains("PnPDrawings"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:224: && (_projectPipingDcf.Tables.Contains("P3dLineGroupPartRelationship"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:225: && (_projectPipingDcf.Tables.Contains("P3dLineGroup"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:227: && (_projectPipingDcf.Tables["EngineeringItems"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:228: && (_projectPipingDcf.Tables["EngineeringItems"].Columns.Contains("Status"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:229: && (_projectPipingDcf.Tables["EngineeringItems"].Columns.Contains("Spec"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:231: && (_projectPipingDcf.Tables["PnPDataLinks"].Columns.Contains("RowId"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:232: && (_projectPipingDcf.Tables["PnPDataLinks"].Columns.Contains("DwgId"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:234: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:235: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPType"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:236: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Dwg Name"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:237: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Title"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:238: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPRelativePath"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:239: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Path"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:240: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPUnc"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:241: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Area"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:243: && (_projectPipingDcf.Tables["P3dLineGroupPartRelationship"].Columns.Contains("Part"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:244: && (_projectPipingDcf.Tables["P3dLineGroupPartRelationship"].Columns.Contains("LineGroup"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:246: && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:247: && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("Tag"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:248: // && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("Number"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:256: System.Data.DataTable tableEngineeringItems = _projectPipingDcf.Tables["EngineeringItems"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:257: System.Data.DataTable tablePnPDataLinks = _projectPipingDcf.Tables["PnPDataLinks"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:258: System.Data.DataTable tablePnPDrawings = _projectPipingDcf.Tables["PnPDrawings"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:259: System.Data.DataTable tableP3dLineGroupPartRelationship = _projectPipingDcf.Tables["P3dLineGroupPartRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:260: System.Data.DataTable tableP3dLineGroup = _projectPipingDcf.Tables["P3dLineGroup"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:262: // System.Data.DataTable tableP3dDrawingLineGroupRelationship = _projectPipingDcf.Tables["P3dDrawingLineGroupRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:432: if (_projectPipingDcf.Tables.Contains("EngineeringItems")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:433: && (_projectPipingDcf.Tables.Contains("PnPDataLinks"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:434: && (_projectPipingDcf.Tables.Contains("PnPDrawings"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:435: && (_projectPipingDcf.Tables.Contains("P3dLineGroupPartRelationship"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:436: && (_projectPipingDcf.Tables.Contains("P3dLineGroup"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:438: && (_projectPipingDcf.Tables.Contains("Pipe"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:440: && (_projectPipingDcf.Tables["EngineeringItems"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:441: && (_projectPipingDcf.Tables["EngineeringItems"].Columns.Contains("Status"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:443: && (_projectPipingDcf.Tables["PnPDataLinks"].Columns.Contains("RowId"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:444: && (_projectPipingDcf.Tables["PnPDataLinks"].Columns.Contains("DwgId"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:446: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:447: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPType"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:448: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Dwg Name"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:449: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Title"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:450: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPRelativePath"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:451: && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Path"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:452: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("PnPUnc"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:453: // && (_projectPipingDcf.Tables["PnPDrawings"].Columns.Contains("Area"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:455: && (_projectPipingDcf.Tables["P3dLineGroupPartRelationship"].Columns.Contains("Part"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:456: && (_projectPipingDcf.Tables["P3dLineGroupPartRelationship"].Columns.Contains("LineGroup"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:458: && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:459: && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("Tag"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:460: // && (_projectPipingDcf.Tables["P3dLineGroup"].Columns.Contains("Number"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:462: && (_projectPipingDcf.Tables["Pipe"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:463: && (_projectPipingDcf.Tables["Pipe"].Columns.Contains("CutLength"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:464: && (_projectPipingDcf.Tables["Pipe"].Columns.Contains("LinearWeight"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:472: System.Data.DataTable tableEngineeringItems = _projectPipingDcf.Tables["EngineeringItems"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:473: System.Data.DataTable tablePnPDataLinks = _projectPipingDcf.Tables["PnPDataLinks"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:474: System.Data.DataTable tablePnPDrawings = _projectPipingDcf.Tables["PnPDrawings"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:475: System.Data.DataTable tableP3dLineGroupPartRelationship = _projectPipingDcf.Tables["P3dLineGroupPartRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:476: System.Data.DataTable tableP3dLineGroup = _projectPipingDcf.Tables["P3dLineGroup"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:478: // System.Data.DataTable tableP3dDrawingLineGroupRelationship = _projectPipingDcf.Tables["P3dDrawingLineGroupRelationship"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:480: System.Data.DataTable tablePipe = _projectPipingDcf.Tables["Pipe"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:484: if (_projectPipingDcf.Tables.Contains("PipeBend")
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:486: && (_projectPipingDcf.Tables["PipeBend"].Columns.Contains("PnPID"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:487: && (_projectPipingDcf.Tables["PipeBend"].Columns.Contains("CutLength"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:488: && (_projectPipingDcf.Tables["PipeBend"].Columns.Contains("LinearWeight"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:491: tablePipeBend = _projectPipingDcf.Tables["PipeBend"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:610: foreach (DataRow drRow in _projectPipingDcf.Tables["PnPDrawings"].Rows)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:625: DataRow[] adrRows = _projectPipingDcf.Tables["P3dDrawingLineGroupRelationship"]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:635: .Tables["P3dLineGroupPartRelationship"]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:662: foreach (DataRow drRow in _projectPipingDcf.Tables["P3dLineGroup"].Rows)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:721: drSourceRow = _projectPipingDcf.Tables["P3dLineGroup"]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:881: DataRow[] adrRows = Program.dsPipingDCF.Tables["P3dDrawingLineGroupRelationship"].Select("[Drawing]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsAndLinenumbers.cs:889: DataRow[] adrRows2 = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[LineGroup]=" + lnLineNumber.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\DrawingsInformation.cs:9:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Glob.cs:1:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Materials.cs:158: DataRow[] adrPipes = dsSpec.Tables["EngineeringItems"].Select("[PartCategory]='Pipe'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:9:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:28: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:37: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:63: DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:71: // iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:76: // iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:80: if (Program.dsPipingDCF.Tables.Contains("Nozzle"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:81: iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:83: if (Program.dsPipingDCF.Tables.Contains("Equipment"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:84: iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:115: DataRow[] adrPartPorts = Program.dsPipingDCF.Tables["PartPort"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:120: DataRow[] adrPorts = Program.dsPipingDCF.Tables["Port"].Select("[PnPID]=" + iPortPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:178: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:203: DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:212: // iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:217: // iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:221: if (Program.dsPipingDCF.Tables.Contains("Nozzle"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:222: iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:223: if (Program.dsPipingDCF.Tables.Contains("Equipment"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:224: iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:253: DataRow[] adrLineGroup = Program.dsPipingDCF.Tables["P3dLineGroup"].Select("[PnPID]=" + iLineNumberId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:324: DataRow[] adrTracingPipes = dsTracingSpec.Tables["EngineeringItems"].Select("[MatchingPipeOd]=" + dTracingOuterDiameter);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:418: DataRow drElbow = Program.dsPipingDCF.Tables["Elbow"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:429: DataRow[] adrComponent = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:443: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:537: DataRow drPipe = Program.dsPipingDCF.Tables["Pipe"].Select("[PnPId]=" + iComponentPnPId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:735: DataRow[] drPipeBend = Program.dsPipingDCF.Tables["PipeBend"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:806: DataRow[] adrComponent = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:865: DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:873: // iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:878: // iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:882: if (Program.dsPipingDCF.Tables.Contains("Nozzle"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:883: iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:884: if (Program.dsPipingDCF.Tables.Contains("Equipment"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:885: iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1021: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1129: DataRow[] aPipes = Program.dsPipingDCF.Tables["Pipe"].Select("PnPID=" + iComponentPnPId);//2018
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1319: DataRow[] aPipeBends = Program.dsPipingDCF.Tables["PipeBend"].Select("PnPID=" + iComponentPnPId);//2018
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1344: DataRow[] drPipeBend = Program.dsPipingDCF.Tables["PipeBend"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PipingElements.cs:1427: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:15:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:217: if (!dsPipingDCF.Tables.Contains("EngineeringItems"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:225: DataRow[] adrEngineeringItems = dsPipingDCF.Tables["EngineeringItems"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:229: DataRow[] adrLineGroupPartRelationships = dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:237: // iNozzle = dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:242: // iEquipment = dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:246: if (Program.dsPipingDCF.Tables.Contains("Nozzle"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:247: iNozzle = dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:248: if (Program.dsPipingDCF.Tables.Contains("Equipment"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:249: iEquipment = dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Program.cs:645: csvfErrorNKRs.dtRows.Rows.Add(new string[2] { liErrorNKRs[i].ToString(), lsErrorNKRs[i] });
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\PYFile.cs:178: foreach (DataTable dtXLSheet in dsMaterials.Tables)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:100: <Reference Include="Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:103: <HintPath>C:\Program Files (x86)\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\Office15\Microsoft.Office.Interop.Word.dll</HintPath>
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:105: <Reference Include="SautinSoft.Document">
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj:106: <HintPath>lib\SautinSoft.Document.dll</HintPath>
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:22: private Cells12345TableRow cells12345TableRow;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:58:#if (true) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:64: worder.Engine = WordEngineName.EngineSautinSoftDocument;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:139: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:148: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:160: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:179: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:229: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:238: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:250: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:269: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:326: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:335: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:347: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:366: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:420: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:429: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:437: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:449: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:457: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:469: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:484: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:522: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:559: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:570: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:605: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:632: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:644: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:656: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:684: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:695: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:716: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:730: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:743: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:757: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:785: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:796: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:817: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:835: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:847: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:859: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:889: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:900: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:910: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:925: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:951: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:962: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:970: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:995: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1006: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1014: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1040: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1064: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1095: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1124: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1135: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1164: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1175: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1204: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1215: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1243: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\ReportWithWorder.cs:1271: cells12345TableRow = new Cells12345TableRow();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:39: foreach (DataRow drRow in Program.dsPipingDCF.Tables["P3dLineGroup"].Rows)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:47: foreach (DataRow drRow in Program.dsPipingDCF.Tables["PnPDrawings"].Rows)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:343: DataRow[] adrRows = Program.dsPipingDCF.Tables["P3dDrawingLineGroupRelationship"].Select("[Drawing]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.cs:351: DataRow[] adrRows2 = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[LineGroup]=" + lnLineNumber.iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.designer.cs:92: this.lbSelectLineNumber.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SelectDrawingsAndLinenumbers.designer.cs:106: this.lbSelectDrawing.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:126: if (!Program.dsProcessPowerDCF.Tables.Contains("PnPProject"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:139: DataRow[] adrRows = Program.dsProcessPowerDCF.Tables["PnPProject"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:263: //csvfProjectProperties.dtRows.Rows.Add(asRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SetMainTitle.cs:271: csvfProjectProperties.dtRows.Rows.Add(asRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLDataBase.cs:46: DataTable dtSchema = sqlcConnection.GetSchema("Tables");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLDataBase.cs:59: DataTable dtTempTable = dsTempDataSet.Tables[0].Copy();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLDataBase.cs:61: dsCurrentReturnValue.Tables.Add(dtTempTable);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLiteDataBase.cs:31: DataTable dtSchema = sqlcConnection.GetSchema("Tables");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLiteDataBase.cs:41: DataTable dtTempTable = dsTempDataSet.Tables[0].Copy();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\SQLiteDataBase.cs:43: dsCurrentReturnValue.Tables.Add(dtTempTable);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:32: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowClassName]='Support'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:55: DataRow[] adrSupports = Program.dsPipingDCF.Tables["EngineeringItems"].Select(sfSupportFilter.EngineeringItemsQuery);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:142: DataRow drSupport = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:270: // iParentSupportPnPId = Convert.ToInt32(Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iComponentPnPId)[0]["Part2"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:276: // iParentSupportPnPId = Convert.ToInt32(Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iComponentPnPId)[0]["Part1"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:287: if (Program.dsPipingDCF.Tables.Contains("P3dPartConnection"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:289: dataTablePartConnection = Program.dsPipingDCF.Tables["P3dPartConnection"];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:328: DataRow drParentSupport = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iParentSupportPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:417: DataRow[] adrParentPnPIds1 = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:426: DataRow drParentClassName1 = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPipeOrElbow1).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:441: DataRow[] adrParentPnPIds2 = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:450: DataRow drParentClassName2 = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPipeOrElbow2).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:538: dWeight = Convert.ToDouble(Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId)[0]["Weight"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1189: if (Program.dsPipingDCF.Tables.Contains("Support"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1191: aSupports = Program.dsPipingDCF.Tables["Support"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1236: DataRow dEItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("PnPId=" + PnPId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1255: DataRow[] aConnectionsAsPart1 = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("Part1=" + PnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1256: DataRow[] aConnectionsAsPart2 = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("Part2=" + PnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1268: DataRow dItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("PnPId=" + iConnectedPartId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1275: DataRow dLineGroup1 = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("Part=" + iConnectedPartId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1278: DataRow dDataLink1 = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("RowId=" + iConnectedPartId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1289: DataRow dLineGroup1 = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("Part=" + PnPId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Supports.cs:1292: DataRow dDataLink1 = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("RowId=" + PnPId).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:22: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:57: DataRow drEngineeringItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:78: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:109: // DataRow[] aPipes = Program.dsPipingDCF.Tables["Pipe"].Select("PnPID=" + iComponentPnPId);//2018
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:123: aPipes = Program.dsPipingDCF.Tables["Pipe"].Select("PnPID=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:128: aPipes = Program.dsPipingDCF.Tables["PipeBend"].Select("PnPID=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:154: //dLength = Convert.ToDouble(Program.dsPipingDCF.Tables["Pipe"].Select("[PnPID]=" + iComponentPnPId)[0]["Length"]) / 1000; // support
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:155: dLength = Convert.ToDouble(Program.dsPipingDCF.Tables["Pipe"].Select("[PnPID]=" + iComponentPnPId)[0]["CutLength"]) / 1000; // support
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:170: dLength = Convert.ToDouble(Program.dsPipingDCF.Tables["PipeBend"].Select("[PnPID]=" + iComponentPnPId)[0]["CutLength"]) / 1000;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:214: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:224: DataRow drDataLink = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\TestLineNumbers.cs:236: DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:27: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowClassName]='Valve' OR [RowClassName]='InlineInstrument'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:51: if (Program.dsPipingDCF.Tables.Contains("Valve"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:55: adrValves = Program.dsPipingDCF.Tables["Valve"].Select("[ValveBodyType]='" + vfValveFilter.ValveBodyType + "'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:99: DataRow drEngineeringItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:108: DataRow drPipeRunComponent = Program.dsPipingDCF.Tables["PipeRunComponent"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:120: DataRow[] adrValves = Program.dsPipingDCF.Tables["EngineeringItems"].Select(vfValveFilter.EngineeringItemsQuery);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:175: DataRow drPipeRunComponent = Program.dsPipingDCF.Tables["PipeRunComponent"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:205: DataRow drValve = Program.dsPipingDCF.Tables["Valve"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:214: string sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iMissedPnPId)[0]["ComponentDescription"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:217: sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iMissedPnPId)[0]["PartSizeLongDesc"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:228: DataRow drPipeRunComponent = Program.dsPipingDCF.Tables["PipeRunComponent"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:245: DataRow drInlineInstrument = Program.dsPipingDCF.Tables["InlineInstrument"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:254: string sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iMissedPnPId)[0]["ComponentDescription"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:257: sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iMissedPnPId)[0]["PartSizeLongDesc"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:268: DataRow drPipeRunComponent = Program.dsPipingDCF.Tables["PipeRunComponent"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:292: if (!bComponentFound && Program.dsPipingDCF.Tables.Contains("Valve"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:294: dataRowsComonents = Program.dsPipingDCF.Tables["Valve"].Select("[PnPID]=" + iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:300: if (!bComponentFound && Program.dsPipingDCF.Tables.Contains("InlineInstrument"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:302: dataRowsComonents = Program.dsPipingDCF.Tables["InlineInstrument"].Select("[PnPID]=" + iMissedPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:317: string sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select(
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:321: sDescription = string.Format("{0}", Program.dsPipingDCF.Tables["EngineeringItems"].Select(
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:333: DataRow drPipeRunComponent = Program.dsPipingDCF.Tables["PipeRunComponent"].Select("[PnPID]=" + iMissedPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:390: dWeight = Convert.ToDouble(Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId)[0]["Weight"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:436: DataRow drEngineeringItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:501: DataRow drEngineeringItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:529: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:539: DataRow[] adrDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Valves.cs:560: DataRow[] adrLineGroupPartRelationships = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:64: csvfPipingElements.dtRows.Rows.Add(asNewRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:103: csvfValves.dtRows.Rows.Add(asNewRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:139: csvfSupports.dtRows.Rows.Add(asNewRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:176: csvfNKRs.dtRows.Rows.Add(asNewRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:221: csvfWeldControlForLineNumbers.dtRows.Rows.Add(asNewRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:248: csvfWeldControlTotal.dtRows.Rows.Add(asNewRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:278: csvfWeldHeatTreatment.dtRows.Rows.Add(asNewRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:290: csvfWeldHeatTreatment.dtRows.Rows.Add(asNewRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:302: csvfWeldHeatTreatment.dtRows.Rows.Add(asNewRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Versions.cs:330: csvfPipingTest.dtRows.Rows.Add(asNewRow);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:2:#if (true) // MicrosoftOfficeInterop - \PIA\Office15\Microsoft.Office.Interop.Word.dll
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:5:#if (true) // SautinSoftDocument - SautinSoft.Document.dll
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:6:#define SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:22:using Word = Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:23:using Microsoft.Office.Interop.Word;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:25:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:26:using SautinSoft.Document;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:27:using SautinSoft.Document.Tables;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:40:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:41: EngineSautinSoftDocument,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:76: internal class Cells12345TableRow
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:78: public Cells12345TableRow()
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:123: // private WordEngineName _engineName = WordEngineName.EngineSautinSoftDocument;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:130: private Word.Application _wordApp;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:131: private Word.Document _wordDoc;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:141:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:142: // WordEngineName.EngineSautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:143: // https://github.com/SautinSoft/SautinSoft.Document.Examples
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:145: private SautinSoft.Document.DocumentCore _dc; // текущий документ
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:146: private SautinSoft.Document.Tables.Table _dcTable;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:147: private SautinSoft.Document.Tables.Table _dcTableFooterFirstPage;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:148: private SautinSoft.Document.Tables.Table _dcTableFooterSecondPage;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:150: private readonly SautinSoft.Document.CharacterFormat arialBold10
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:151: = new SautinSoft.Document.CharacterFormat() { Bold = true, FontName = "Arial", Size = 10.0 };
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:152: private readonly SautinSoft.Document.CharacterFormat arialBold11
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:153: = new SautinSoft.Document.CharacterFormat() { Bold = true, FontName = "Arial", Size = 11.0 };
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:154: private readonly SautinSoft.Document.CharacterFormat arialNotBold10
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:155: = new SautinSoft.Document.CharacterFormat() { Bold = false, FontName = "Arial", Size = 10.0 };
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:156: private readonly SautinSoft.Document.CharacterFormat arialNotBold11
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:157: = new SautinSoft.Document.CharacterFormat() { Bold = false, FontName = "Arial", Size = 11.0 };
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:158: private readonly SautinSoft.Document.CharacterFormat arialNotBold14
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:159: = new SautinSoft.Document.CharacterFormat() { Bold = false, FontName = "Arial", Size = 14.0 };
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:160: private readonly SautinSoft.Document.CharacterFormat arialNotBold16
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:161: = new SautinSoft.Document.CharacterFormat() { Bold = false, FontName = "Arial", Size = 16.0 };
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:331: _wordApp = new Word.Application();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:332: _wordDoc = _wordApp.Documents.Open(_tmpFilePath);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:333: _wordTable = _wordDoc.Tables[1];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:334: _wordFooterTableFirstPage = _wordDoc.Sections[1]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:335: .Footers[Word.WdHeaderFooterIndex.wdHeaderFooterFirstPage].Range.Tables[1];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:336: _wordFooterTableSecondPage = _wordDoc.Sections[1]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:337: .Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Tables[1];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:343: _wordDoc.Tables[1].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:344: _wordApp.Selection.LanguageID = Word.WdLanguageID.wdRussian;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:345: _wordDoc.Tables[1].Cell(1, 1).Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:357:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:358: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:360: _dc = SautinSoft.Document.DocumentCore.Load(_tmpFilePath);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:361: _dcTable = (SautinSoft.Document.Tables.Table)_dc.GetChildElements(true, ElementType.Table).First();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:363: List<SautinSoft.Document.HeaderFooter> headers = _dc
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:365: .Select(x => x as SautinSoft.Document.HeaderFooter).ToList();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:366: _dcTableFooterFirstPage = (SautinSoft.Document.Tables.Table)headers[3]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:368: _dcTableFooterSecondPage = (SautinSoft.Document.Tables.Table)headers[1]
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:410: _wordDoc.Tables[1].Cell(1, 1).Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:417: // _wordDoc.SaveAs(_tmpFilePath);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:422:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:423: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:425: //foreach (SautinSoft.Document.Tables.TableCell t
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:447: // это помогает сделать документ после библиотеки SautinSoft
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:458: // сохраняя все преимущества документа rtf с библиотекой SautinSoft
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:460: // с помощью одной только библиотеки SautinSoft
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:461: // при открытии rtf-файла даже в [Microsoft.Office.Interop.Word] обязательно,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:465: // если библиотека [Microsoft.Office.Interop.Word] не подключена,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:474:#if (SautinSoftDocument && MicrosoftOfficeInterop)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:476: _wordApp = new Word.Application();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:477: _wordDoc = _wordApp.Documents.Open(FileName: _tmpFilePath,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:488: _wordDoc.Tables[1].Cell(1, 1).Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:495: _wordDoc.SaveAs(FileName: _tmpFilePath,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:540: _wordDoc.Tables[1].Cell(rowIndex, 1).Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:543:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:544: //else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:576:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:577: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:579: SautinSoft.Document.Tables.TableRow row = _dcTable.Rows[rowIndex - 1];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:609: _wordTable.Rows.Add(ref oMissing);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:614:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:615: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:617: SautinSoft.Document.Tables.TableRow rowfirst = _dcTable.Rows[1]; // second row
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:618: SautinSoft.Document.Tables.TableRow row = rowfirst.Clone(true);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:619: _dcTable.Rows.Add(row);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:621: rowIndex = _dcTable.Rows.Count; // index + 1 according SautinSoftDocument style
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:630: public int AddNewRowToTable(Cells12345TableRow row)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:649: ApplyCell(_wordTable.Rows[rowIndex].Cells[1], row.Cell1);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:650: ApplyCell(_wordTable.Rows[rowIndex].Cells[2], row.Cell2);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:651: ApplyCell(_wordTable.Rows[rowIndex].Cells[3], row.Cell3);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:652: ApplyCell(_wordTable.Rows[rowIndex].Cells[4], row.Cell4);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:653: ApplyCell(_wordTable.Rows[rowIndex].Cells[5], row.Cell5);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:656:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:657: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:659: ApplyCell(_dcTable.Rows[rowIndex - 1].Cells[0], row.Cell1);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:660: ApplyCell(_dcTable.Rows[rowIndex - 1].Cells[1], row.Cell2);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:661: ApplyCell(_dcTable.Rows[rowIndex - 1].Cells[2], row.Cell3);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:662: ApplyCell(_dcTable.Rows[rowIndex - 1].Cells[3], row.Cell4);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:663: ApplyCell(_dcTable.Rows[rowIndex - 1].Cells[4], row.Cell5);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:701:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:702: // SautinSoftDocument overload
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:703: private void ApplyCell(SautinSoft.Document.Tables.TableCell cellToApply,
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:706: SautinSoft.Document.CharacterFormat characterFormat;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:729: ((SautinSoft.Document.Paragraph)cellToApply.Blocks.Last()).ParagraphFormat.Alignment
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:730: = SautinSoft.Document.HorizontalAlignment.Left;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:732: ((SautinSoft.Document.Paragraph)cellToApply.Blocks.Last()).ParagraphFormat.Alignment
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:733: = SautinSoft.Document.HorizontalAlignment.Center;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:735: ((SautinSoft.Document.Paragraph)cellToApply.Blocks.Last()).ParagraphFormat.Alignment
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:736: = SautinSoft.Document.HorizontalAlignment.Right;
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:744: private void UpdateAllFields(Word.Document doc)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:748: doc.Fields.Update();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:750: foreach (Word.Section section in doc.Sections)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:753: foreach (Word.HeaderFooter hf in section.Headers)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:755: hf.Range.Fields.Update();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:758: foreach (Word.HeaderFooter hf in section.Footers)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:760: hf.Range.Fields.Update();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:767:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:768: // SautinSoftDocument overload
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:769: private void UpdateAllFields(SautinSoft.Document.DocumentCore doc)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:776: List<SautinSoft.Document.Field> fields = doc.GetChildElements(true, ElementType.Field)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:777: .Select(x => x as SautinSoft.Document.Field).ToList();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:778: foreach (SautinSoft.Document.Field field in fields)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:814: _wordFooterTableFirstPage.Range.Cells[7].Range.Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:815: _wordFooterTableFirstPage.Range.Cells[7].Range.Text
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:817: _wordFooterTableSecondPage.Range.Cells[7].Range.Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:818: _wordFooterTableSecondPage.Range.Cells[7].Range.Text
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:823: _wordFooterTableFirstPage.Range.Cells[24].Range.Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:824: _wordFooterTableFirstPage.Range.Cells[24].Range.Text
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:829: _wordFooterTableFirstPage.Range.Cells[21].Range.Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:830: _wordFooterTableFirstPage.Range.Cells[21].Range.Text
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:835: _wordFooterTableFirstPage.Range.Cells[29].Range.Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:836: _wordFooterTableFirstPage.Range.Cells[29].Range.Text
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:841: _wordFooterTableFirstPage.Range.Cells[36].Range.Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:842: _wordFooterTableFirstPage.Range.Cells[36].Range.Text
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:847: _wordFooterTableFirstPage.Range.Cells[41].Range.Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:848: _wordFooterTableFirstPage.Range.Cells[41].Range.Text
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:853: _wordFooterTableFirstPage.Range.Cells[45].Range.Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:854: _wordFooterTableFirstPage.Range.Cells[45].Range.Text
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:859:#if (SautinSoftDocument) // SautinSoftDocument
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:860: else if (_engineName == WordEngineName.EngineSautinSoftDocument)
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:864: _dcTableFooterFirstPage.Rows[0].Cells[6].Content.End
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:866: _dcTableFooterSecondPage.Rows[0].Cells[6].Content.End
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:871: _dcTableFooterFirstPage.Rows[3].Cells[4].Content.End
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:876: _dcTableFooterFirstPage.Rows[3].Cells[1].Content.End
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:881: _dcTableFooterFirstPage.Rows[4].Cells[1].Content.End
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:886: _dcTableFooterFirstPage.Rows[5].Cells[1].Content.End
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:891: _dcTableFooterFirstPage.Rows[6].Cells[1].Content.End
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Worder.cs:896: _dcTableFooterFirstPage.Rows[7].Cells[1].Content.End
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:41: DataRow[] adrButtweld = Program.dsPipingDCF.Tables["Buttweld"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:46: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentWeldPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:51: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iCurrentWeldPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:54: adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[DwgId]=" + iDwgId + " AND [DwgHandleLow]=" + lHandle + " AND [DwgSubIndex]=0");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:58: DataRow[] adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:64: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:80: if ((Program.dsPipingDCF.Tables.Contains("Nozzle") && Program.dsPipingDCF.Tables["Nozzle"].Select("PnPId=" + liConnectedParts[0]).Length > 0) || (Program.dsPipingDCF.Tables.Contains("Equipment") && Program.dsPipingDCF.Tables["Equipment"].Select("PnPId=" + liConnectedParts[0]).Length > 0))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:103: // adrSocketWeld = Program.dsPipingDCF.Tables["SocketWeld"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:106: if (Program.dsPipingDCF.Tables.Contains("SocketWeld"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:108: adrSocketWeld = Program.dsPipingDCF.Tables["SocketWeld"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:114: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentWeldPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:119: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iCurrentWeldPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:122: adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[DwgId]=" + iDwgId + " AND [DwgHandleLow]=" + lHandle + " AND [DwgSubIndex]=0");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:126: DataRow[] adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:132: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:148: if ((Program.dsPipingDCF.Tables.Contains("Nozzle") && Program.dsPipingDCF.Tables["Nozzle"].Select("PnPId=" + liConnectedParts[0]).Length > 0) || (Program.dsPipingDCF.Tables.Contains("Equipment") && Program.dsPipingDCF.Tables["Equipment"].Select("PnPId=" + liConnectedParts[0]).Length > 0))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:171: // adrSlipOn = Program.dsPipingDCF.Tables["SlipOn"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:174: if (Program.dsPipingDCF.Tables.Contains("SlipOn"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:175: adrSlipOn = Program.dsPipingDCF.Tables["SlipOn"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:180: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentWeldPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:185: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iCurrentWeldPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:188: adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[DwgId]=" + iDwgId + " AND [DwgHandleLow]=" + lHandle + " AND [DwgSubIndex]=0");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:192: DataRow[] adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:198: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:214: if ((Program.dsPipingDCF.Tables.Contains("Nozzle") && Program.dsPipingDCF.Tables["Nozzle"].Select("PnPId=" + liConnectedParts[0]).Length > 0) || (Program.dsPipingDCF.Tables.Contains("Equipment") && Program.dsPipingDCF.Tables["Equipment"].Select("PnPId=" + liConnectedParts[0]).Length > 0))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:239: DataRow[] adrPipes = Program.dsPipingDCF.Tables["Pipe"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:247: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPipePnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:285: if ((Program.dsPipingDCF.Tables.Contains("Tapweld")) && (Program.dsPipingDCF.Tables.Contains("Olet")))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:288: DataRow[] adrTapweld = Program.dsPipingDCF.Tables["Tapweld"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:298: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentWeldPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:303: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iCurrentWeldPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:306: adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[DwgId]=" + iDwgId + " AND [DwgHandleLow]=" + lHandle + " AND [DwgSubIndex]=0");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:308: DataRow[] adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:315: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:324: DataRow[] adrOlets1 = Program.dsPipingDCF.Tables["Olet"].Select("[PnPID]=" + iConnectedPart1);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:325: DataRow[] adrOlets2 = Program.dsPipingDCF.Tables["Olet"].Select("[PnPID]=" + iConnectedPart2);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:350: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iOlet);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:362: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iOlet);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:378: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iSecondConnector);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:387: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iSecondConnector);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:422: if ((Program.dsPipingDCF.Tables.Contains("Tapweld")) && (Program.dsPipingDCF.Tables.Contains("Coupling")))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:425: DataRow[] adrTapweld = Program.dsPipingDCF.Tables["Tapweld"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:435: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentWeldPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:440: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iCurrentWeldPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:443: adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[DwgId]=" + iDwgId + " AND [DwgHandleLow]=" + lHandle + " AND [DwgSubIndex]=0");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:445: DataRow[] adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:452: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCurrentConnectorPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:461: DataRow[] adrCouplings1 = Program.dsPipingDCF.Tables["Coupling"].Select("[PnPID]=" + iConnectedPart1);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:462: DataRow[] adrCouplings2 = Program.dsPipingDCF.Tables["Coupling"].Select("[PnPID]=" + iConnectedPart2);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:487: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iCoupling);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:499: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iCoupling);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:515: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part1]=" + iSecondConnector);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:524: adrP3dPartConnections = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("[Part2]=" + iSecondConnector);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:920: List<bool> lbInSelectionParts = new List<bool>(); // список "='Existing'" 2-х соединенных элементов
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:935: lbInSelectionParts.Add(OnLineNumbersAndDrawings(liConnectedParts[i]));
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:938: if ((!lbInSelectionParts[0]) &&
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:939: (!lbInSelectionParts[1]))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:948: adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + liConnectedParts[i]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:972: adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + liConnectedParts[i] + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:974: adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + liConnectedParts[i]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:988: //DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + liConnectedParts[i]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1041: if (((!lbInSelectionParts[0]) && (lbInSelectionParts[1]) && (!lbExistingParts[1])) ||
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1042: ((!lbInSelectionParts[1]) && (lbInSelectionParts[0]) && (!lbExistingParts[0])))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1046: else if (((!lbInSelectionParts[0]) && (lbExistingParts[1])) ||
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1047: ((!lbInSelectionParts[1]) && (lbExistingParts[0])))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1156: DataRow drEngineeringItem = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1159: DataRow drDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId)[0];
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1194: int iLineNumberPnPId = Convert.ToInt32(Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iPnPId)[0]["LineGroup"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1196: int iDrawingPnPId = Convert.ToInt32(Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId)[0]["DwgId"]);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1211: DataRow[] adrP3dLineGroupPartRelationship = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[Part]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1219: // iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1224: // iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1228: if (Program.dsPipingDCF.Tables.Contains("Nozzle"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1229: iNozzle = Program.dsPipingDCF.Tables["Nozzle"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1230: if (Program.dsPipingDCF.Tables.Contains("Equipment"))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1231: iEquipment = Program.dsPipingDCF.Tables["Equipment"].Select("PnPID=" + iComponentPnPId).Count();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1265: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1285: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iComponentPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1340: DataRow[] adrP3dLineGroupPartRelationship = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("[LineGroup]=" + wlnLineNumber.PnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1344: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("[PnPID]=" + iCurrentPnPId + " AND [Status]='New'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1639: if ((!lbInSelectionParts[0]) && (lbInSelectionParts[1]) && (!lbExistingParts[1]))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1653: else if ((!lbInSelectionParts[1]) && (lbInSelectionParts[0]) && (!lbExistingParts[0]))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:1714: DataRow[] adrPnPDataLinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("[RowId]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2052: DataRow[] adrLineNumber = Program.dsPipingDCF.Tables["P3dLineGroup"].Select("[PnPID]=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2110: if ((dThreadControlRatio > 0.0) && (Program.dsPipingDCF.Tables.Contains("Thread")))
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2112: DataRow[] adrThreads = Program.dsPipingDCF.Tables["Thread"].Select();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2116: DataRow[] adrDatalinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("RowId=" + iThread);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2122: adrDatalinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("DwgId=" + iDwgId + " AND DwgHandleLow=" + lDwgHandleLow + " AND RowClassName='P3dConnector'");
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2127: DataRow[] adrConnectedPart1 = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("Part1=" + iConnector);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2128: DataRow[] adrConnectedPart2 = Program.dsPipingDCF.Tables["P3dPartConnection"].Select("Part2=" + iConnector);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2136: adrDatalinks = Program.dsPipingDCF.Tables["PnPDataLinks"].Select("RowId=" + iConnectedPart);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2148: DataRow[] adrEngineeringItems = Program.dsPipingDCF.Tables["EngineeringItems"].Select("PnPID=" + iConnectedPart);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\Welds.cs:2154: DataRow[] adrRelations = Program.dsPipingDCF.Tables["P3dLineGroupPartRelationship"].Select("Part=" + iConnectedPart + " AND LineGroup=" + iPnPId);
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:28: DataTable dtDbSchemaTable = odbcConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); // DataTable для хранения схемы файла Excel
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:48: DataTable dtTempDataTable = dsTempDataSet.Tables[0].Copy();
\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo\P_Rec_BOP\XLSFile.cs:50: dsXLSFile.Tables.Add(dtTempDataTable);
@@ -0,0 +1,12 @@
# Карта полей и таблиц
| Поле/слот | Источник | Преобразование | Word-место | Доказательство |
|---|---|---|---|---|
| Номер проекта | `ProcessPower.dcf` / `PnPProject`, либо форма | передается как string | footer cell 7 first/default | `SetMainTitle.cs:21-24,125-174`; `Worder.cs:812-820` |
| Имя документа | константа `Ведомость объемов работ` | без преобразования | first-page footer cell 24 | `ReportWithWorder.cs:1308-1317`; `Worder.cs:821-826` |
| Подписи | `SetMainTitle` UI | введенные строки | footer cells 21, 29 и далее | `ReportWithWorder.cs:1311-1315`; `Worder.cs:827-...` |
| Позиции ВОР | `PipingElements`/`Materials` | группы, длина в метрах, масса | основная таблица, строки/ячейки 1–5 | `ReportWithWorder.cs:93-190`; `Worder.cs:630-699` |
| Сварные стыки | `Welds` и выбранные линии | группировка по линии/контролю | основная таблица | `ReportWithWorder.cs` и `Welds.cs` |
| Номер файла | дата-время | `yyyy.MM.dd HH.mm.ss` | имя output | `ReportWithWorder.cs:49-52` |
Пустые значения обрабатываются не единым валидатором: часть полей пропускается по `IsNullOrEmpty`, а ошибки данных прерывают `Program.Main` до генерации. Жесткая привязка к индексам таблиц/ячеек делает изменение шаблона потенциально разрушительным.
@@ -0,0 +1,11 @@
{
"auditId": "p-rec-bop-plant3d-2019-document-generation",
"sourceRoot": "\\\\phpsrv03\\NBIM\\code\\CS\\P_Rec_BOP\\repo",
"sourceHead": null,
"findings": [
{"id":"DOC-001","category":"DocumentGeneration","severity":"HIGH","title":"Office PIA and hard-coded Word structure","description":"The project embeds Office Word PIA 15 and addresses tables, sections and cells by numeric indexes.","evidence":[{"file":"P_Rec_BOP/P_Rec_BOP.csproj","startLine":90,"endLine":99},{"file":"P_Rec_BOP/Worder.cs","startLine":326,"endLine":345},{"file":"P_Rec_BOP/Worder.cs","startLine":812,"endLine":850}],"impact":"Version, bitness and template changes can prevent startup or corrupt mapping.","recommendation":"Isolate Word worker and replace numeric slots with validated schema identifiers.","reuseClassification":"REIMPLEMENT_WITH_SAME_BEHAVIOR"},
{"id":"PLANT-001","category":"PlantData","severity":"HIGH","title":"Plant data is read through project DCF files","description":"Piping.dcf and ProcessPower.dcf are opened directly and queried into DataSets.","evidence":[{"file":"P_Rec_BOP/Program.cs","startLine":191,"endLine":283}],"impact":"DCF schema and file access must be verified for 2026.","recommendation":"Create versioned Plant data adapters and golden data fixtures.","reuseClassification":"USE_AS_REFERENCE_ONLY"},
{"id":"INFRA-001","category":"Infrastructure","severity":"HIGH","title":"AutoCAD 2019 and network paths are configured explicitly","description":"Settings contains AutoCAD 2019 accoreconsole and external network resources.","evidence":[{"file":"P_Rec_BOP/Settings.xml","startLine":7,"endLine":24}],"impact":"Missing or changed resources stop or alter generation.","recommendation":"Use validated configuration and a 2026 adapter; do not hard-code production paths.","reuseClassification":"REIMPLEMENT_WITH_SAME_BEHAVIOR"},
{"id":"COM-001","category":"WordInterop","severity":"HIGH","title":"COM cleanup is incomplete","description":"The code closes and quits Word but does not explicitly release all COM proxies and catches errors before copying output.","evidence":[{"file":"P_Rec_BOP/Worder.cs","startLine":372,"endLine":380},{"file":"P_Rec_BOP/Worder.cs","startLine":383,"endLine":420},{"file":"P_Rec_BOP/Worder.cs","startLine":508,"endLine":519}],"impact":"WINWORD.EXE leaks and partial output are possible.","recommendation":"Implement one STA job per operation with finally-based cleanup and output validation.","reuseClassification":"DO_NOT_REUSE"}
]
}
@@ -0,0 +1,29 @@
# План миграции
## Этап 1 — повторить поведение (L)
Зафиксировать входной проект-копию, выбранные чертежи/линии, title block, таблицы и DOCX golden sample. Сравнить значения и структуру, не подключая production.
## Этап 2 — изолировать Plant 3D (XL)
Ввести `IPlantProjectDataProvider`; оставить legacy provider для DCF 2019 и сделать отдельный provider для 2026. DTO не должны зависеть от `DataRow` и AutoCAD COM.
## Этап 3 — перенести документный mapping (L)
Перенести только подтвержденный контракт: группы материалов, строки ВОР, title block и правила округления. Реализовать именованные slots/таблицы вместо индексов.
## Этап 4 — Word lifecycle (M)
Вынести Word в отдельный STA worker, cleanup каждого COM proxy, temporary copy, validation и диагностические ошибки. Сохранить шаблон неизменным.
## Этап 5 — эквивалентность (L)
Сравнить DOCX package, значения таблиц, headers/footers, PAGE/NUMPAGES, повторное открытие и отсутствие созданного Word process. PDF считать отдельным тестом: старый исходник экспорт PDF не подтверждает.
## Этап 6 — Plant 3D 2026 (XL)
Проверить console helper и DCF schema на копии проекта, затем обновить adapter/SDK. Не смешивать миграцию Plant и переписывание document engine.
### Runtime tests
Минимум: отсутствующие/открытые DWG; SQLite и SQL DCF; пустой проект; компоненты без line group; несколько материалов; пользовательская деталь; измененный шаблон; отсутствующий сетевой файл; Office отсутствует; Word COM cleanup; повторное открытие DOCX; сохранение исходного шаблона.
@@ -0,0 +1,9 @@
# Plant 3D → расчеты → отчет
Основной источник — проектные DCF. `Program.cs:197-210` определяет SQLite/старый SQL формат и читает `Piping.dcf`; `Program.cs:270-283` аналогично читает `ProcessPower.dcf`. Минимальная проверка требует `EngineeringItems` (`Program.cs:216-221`) и связи `P3dLineGroupPartRelationship` (`Program.cs:225-261`).
По исходникам `PipingElements.cs`, `Welds.cs` и `DrawingsAndLinenumbers.cs` используются таблицы/области `EngineeringItems`, `P3dLineGroupPartRelationship`, `P3dLineGroup`, `Pipe`, `PipeBend`, `Nozzle`, `Equipment`, `PartPort`, `Port`, `PnPDataLinks`, `PnPDrawings`, `P3dDrawingLineGroupRelationship` и связанные поля. Это извлечение через DataSet/DataRow, а не через Plant 3D managed API.
Свойства проекта берутся из `ProcessPower.dcf`, таблица `PnPProject`; `SetMainTitle.cs:21-24`, `125-174` связывает их с номером проекта, предприятием, установкой и названием проекта. Пользовательские подписи вводятся в `SetMainTitle` и передаются в title block (`ReportWithWorder.cs:1306-1317`).
`DrawingsInformation.cs:37-158` создает временные CSV/скрипт, копирует `ConsoleGetDrawingInformation.dll`, обращается к `accoreconsole.exe`, читает результаты и удаляет временные файлы. В `DrawingsInformation.cs:132` есть комментарий о пути AutoCAD 2019. Эта ветка требует отдельного adapter и теста в 2026.
@@ -0,0 +1,24 @@
# Повторное использование в DocumentAutomation
| Компонент | Классификация | Решение |
|---|---|---|
| DTO title block и строки таблицы | REUSE_AFTER_ISOLATION | сделать чистые record-модели |
| группировка материалов/элементов | REIMPLEMENT_WITH_SAME_BEHAVIOR | покрыть golden tests, не переносить DataRow-зависимости |
| DCF/Plant чтение | USE_AS_REFERENCE_ONLY | отдельный Plant 2019/2026 adapter |
| жесткое заполнение `Tables[1]`/`Cells[n]` | REIMPLEMENT_WITH_SAME_BEHAVIOR | schema/slot IDs, диагностика отсутствующих слотов |
| копирование шаблона и временный output | REUSE_AFTER_ISOLATION | безопасный atomic output и cleanup |
| Word COM cleanup | DO_NOT_REUSE | переписать с STA worker, try/finally и release proxy |
| SautinSoft fallback | USE_AS_REFERENCE_ONLY | отдельно подтвердить лицензию и round-trip |
| обновление полей | REUSE_AFTER_ISOLATION | адаптер Word/Open XML и тест headers/footers |
DocumentAutomation уже имеет смысл использовать как единый document engine, но контракт P_Rec_BOP сначала нужно зафиксировать на golden sample. Существующий P_Rec_BOP-код не переносить автоматически.
## Required DocumentAutomation Skills
1. Legacy DOCX template inventory и безопасная копия шаблона — источник `Worder.Load`, приоритет P0.
2. Table-slot mapping/clone-row — `Worder.AddNewRowToTable`, P0.
3. Header/footer field update — `Worder.UpdateAllFields` и `WriteOutTitleBlock`, P1.
4. Plant DTO → document slots — `ReportWithWorder`, `SetMainTitle`, P0.
5. Word COM STA lifecycle/cleanup — `Worder.Load/SaveAndUnload`, P0.
6. PDF export и deterministic filename — в старом коде PDF не найден, требуется отдельный контракт, P2.
7. Plant project data adapter — `Program`, `PipingElements`, `Welds`, P0.
@@ -0,0 +1,11 @@
# Риски
* **CRITICAL** — Office PIA 15 с абсолютным HintPath и COM proxy без гарантированного release; результат зависит от Office installation и может оставлять WINWORD.EXE (`P_Rec_BOP.csproj`, `Worder.cs:326-355,383-420`).
* **HIGH** — жёсткие индексы `Tables[1]`, `Sections[1]`, footer tables и ячеек; любое изменение шаблона ломает mapping (`Worder.cs:331-337,812-...`).
* **HIGH** — x86/.NET Framework 4.7 и x32 SQLite; переход на .NET 8 требует отдельного процесса/Windows compatibility и native dependency review.
* **HIGH** — жесткий путь `accoreconsole.exe` AutoCAD 2019 и внешний console DLL (`Settings.xml:7`, `DrawingsInformation.cs:132`).
* **HIGH** — сетевые и производственные зависимости в Settings: XLS, PSPC, НКР Settings.xml; отсутствие ресурса меняет результат.
* **MEDIUM** — исключения часто показываются пользователю, но не превращаются в структурированный результат; после ошибки возможен неполный output (`Worder.cs:372-380,508-519`).
* **MEDIUM** — `Process.Start` открывает результат без отдельной верификации DOCX; PDF export в коде не найден.
Секреты в опубликованных отчетах не копировались; значения конфигурации с потенциально внутренними путями не повторяются сверх необходимого.
@@ -0,0 +1,17 @@
# Инвентаризация исходника
Источник: `\\phpsrv03\NBIM\code\CS\P_Rec_BOP\repo` (только чтение). Git-метаданные в каталоге отсутствуют (`evidence/source-git.txt`: `NO_GIT_DIRECTORY`), поэтому source HEAD/branch/commit не определены.
Инвентаризация содержит 29 C# файлов, один solution, один project, один DOCX-шаблон, 9 DLL, 3 RESX, 2 PNG и конфигурационные/текстовые файлы. Полный относительный список, размеры, даты и SHA-256: `evidence/file-inventory.csv`, `evidence/hashes.csv`.
Основные исходники:
| Область | Файлы | Роль |
|---|---|---|
| Вход и UI | `P_Rec_BOP/Program.cs`, `SetMainTitle.cs`, `SelectDrawingsAndLinenumbers.cs` | проект, проверки, формы ввода и выбора |
| Plant/data | `PipingElements.cs`, `Welds.cs`, `DrawingsAndLinenumbers.cs`, `DrawingsInformation.cs`, `SQLDataBase.cs`, `SQLiteDataBase.cs` | чтение DCF, расчеты, извлечение сведений о DWG |
| Документ | `ReportWithWorder.cs`, `Worder.cs`, `Versions.cs` | заполнение таблицы, колонтитулов, сохранение |
| Настройки | `XMLFile.cs`, `Settings.xml`, `Glob.cs` | пути, фильтры, материалы, имя результата |
| Внешние зависимости | `lib/SautinSoft.Document.dll`, `lib/x32/System.Data.SQLite.dll`, Office PIA, `ConsoleGetDrawingInformation.dll` | Word/RTF, SQLite, AutoCAD console helper |
Проект — legacy MSBuild, `.NET Framework 4.7`, `OutputType=Exe`, `x86`, AssemblyName `P_Rec_BOP`; ссылка на Word PIA с `EmbedInteropTypes=True` и абсолютным HintPath. Фактический проектный файл: `P_Rec_BOP/P_Rec_BOP.csproj:1-177`.
@@ -0,0 +1,9 @@
# Анализ шаблона
Найден один DOCX: `templates\Шаблон.docx`; его размер и SHA-256 — `evidence/template-files.csv`. Содержимое шаблона в Git не добавлялось. Агрегированные сведения Open XML — `evidence/template-structure.txt`.
По коду шаблон должен содержать основную таблицу `Tables[1]` и таблицы в first-page/default footer. Адресация не использует bookmarks или Content Controls: `Worder.cs:331-337`, `ReportWithWorder.cs:1306-1317`, `Worder.cs:812-...` обращаются к таблицам и ячейкам по номерам. Для title block используются ячейки 7, 24, 21, 29 и последующие фиксированные ячейки (`Worder.cs:812-...`).
Шаблон не изменяется напрямую: перед работой копируется во временный файл (`Worder.cs:318-322`), однако подготовка результата заранее удаляет/перемещает существующий output (`Worder.cs:273-301`). Точная карта визуальных полей требует отдельного безопасного просмотра копии на машине с Word; статический аудит не запускает Word и не извлекает проектные данные.
Риск структуры: жесткие `Tables[1]`, `Sections[1]`, `Headers/Footers`, `Cells[n]` и зависимость от наличия конкретной строки-образца. Это не переносимый контракт `.dtemplate`; перед повторным использованием нужен golden template и schema-based mapping.
@@ -0,0 +1,21 @@
# Матрица использования плагинов
Аудит выполнен статически по текстовым логам из указанного источника. Исходные файлы не изменялись. В результаты попали только три атрибута:
1. `plugin_name` — имя плагина;
2. `launch_timestamp` — нормализованные дата и время запуска в формате `yyyy-MM-ddTHH:mm:ss`;
3. `computer_name` — имя компьютера.
Номера проектов, названия проектов, пути к проектам и имена исходных log-файлов намеренно исключены из результатов.
## Результат
Основной файл [plugin-usage-matrix.csv](plugin-usage-matrix.csv) содержит уникальные комбинации трех атрибутов, отсортированные детерминированно по имени плагина, timestamp и имени компьютера. Повторные одинаковые записи не дублируются.
[plugin-usage-summary.csv](plugin-usage-summary.csv) содержит производные агрегаты по плагинам: число уникальных запусков, число компьютеров, первый и последний timestamp.
Обнаружены два плагина: `P_Rec_Update` и `P3DDeleteNewLineInValues`. Детали количества входных строк и результата находятся в [evidence/parse-diagnostics.txt](evidence/parse-diagnostics.txt); там также зафиксировано отсутствие нераспознанных непустых записей.
## Методика
Парсер читает все файлы рекурсивно в стабильном порядке, распознаёт timestamp и имя компьютера регулярным выражением, нормализует двухзначный год как 20xx и удаляет дубликаты только по трём публикуемым полям. Внутренний код плагина и исходный путь используются только для распознавания и в Git не сохраняются.
@@ -0,0 +1,11 @@
Input format: one record per non-empty line; only plugin, timestamp and computer fields are retained.
Input files: 74
Non-empty input records: 667
Blank input lines ignored: 0
Unmatched non-empty records: 0
Parsed records: 667
Unique three-attribute records: 667
Unique plugins: 2
Date normalization: dd.MM.yy and dd.MM.yyyy to yyyy-MM-ddTHH:mm:ss
Sort order: plugin_name, launch_timestamp, computer_name.
Project numbers, project names, project paths and source log filenames are intentionally excluded.
@@ -0,0 +1,668 @@
"plugin_name","launch_timestamp","computer_name"
"P_Rec_Update","2024-01-30T15:46:23","PCP0243"
"P_Rec_Update","2024-01-30T15:52:04","PCP0243"
"P_Rec_Update","2024-01-30T15:52:25","PCP0243"
"P_Rec_Update","2024-02-12T15:43:47","PCP0243"
"P_Rec_Update","2024-02-12T15:45:39","PCP0243"
"P_Rec_Update","2024-02-12T15:48:16","PCP0243"
"P_Rec_Update","2024-02-12T15:50:15","PCP0243"
"P_Rec_Update","2024-02-12T15:57:19","PCP0243"
"P_Rec_Update","2024-02-12T15:59:01","PCP0243"
"P_Rec_Update","2024-02-15T09:53:49","PCP0243"
"P_Rec_Update","2024-02-15T09:57:04","PCP0243"
"P_Rec_Update","2024-02-15T10:09:20","PCP0243"
"P_Rec_Update","2024-02-15T10:11:13","PCP0243"
"P_Rec_Update","2024-02-15T11:07:41","PCP0243"
"P_Rec_Update","2024-02-15T11:35:32","PCP0243"
"P_Rec_Update","2024-02-15T11:36:56","PCP0243"
"P_Rec_Update","2024-02-15T11:39:18","PCP0243"
"P_Rec_Update","2024-02-15T11:40:43","PCP0243"
"P_Rec_Update","2024-02-15T11:42:55","PCP0243"
"P_Rec_Update","2024-02-15T11:48:11","PCP0243"
"P_Rec_Update","2024-02-15T12:47:16","PCP0243"
"P_Rec_Update","2024-02-15T12:48:25","PCP0243"
"P_Rec_Update","2024-02-15T12:50:28","PCP0243"
"P_Rec_Update","2024-02-15T14:07:15","PCP0243"
"P_Rec_Update","2024-02-16T09:20:52","PCP0243"
"P_Rec_Update","2024-02-19T09:37:00","PCP0243"
"P_Rec_Update","2024-02-20T08:23:05","PCP0243"
"P_Rec_Update","2024-02-20T10:34:56","PCP0243"
"P_Rec_Update","2024-02-20T10:45:33","PCP0243"
"P_Rec_Update","2024-02-20T14:16:20","PCP0243"
"P_Rec_Update","2024-02-20T15:40:35","PCP0243"
"P_Rec_Update","2024-02-20T16:26:07","PCP0243"
"P_Rec_Update","2024-02-20T16:29:59","PCP0243"
"P_Rec_Update","2024-02-20T16:37:27","PCP0243"
"P_Rec_Update","2024-02-20T16:47:00","PCP0243"
"P_Rec_Update","2024-02-21T08:27:53","PCP0243"
"P_Rec_Update","2024-02-21T08:36:38","PCP0243"
"P_Rec_Update","2024-02-21T08:56:20","PCP0243"
"P_Rec_Update","2024-02-21T10:02:10","PCP0243"
"P_Rec_Update","2024-02-21T10:03:58","PCP0243"
"P_Rec_Update","2024-02-21T10:06:05","PCP0243"
"P_Rec_Update","2024-02-21T10:08:00","PCP0243"
"P_Rec_Update","2024-02-21T10:09:36","PCP0243"
"P_Rec_Update","2024-02-21T10:40:30","PCP0243"
"P_Rec_Update","2024-02-22T08:09:01","PCP0331"
"P_Rec_Update","2024-02-22T08:30:09","PCP0243"
"P_Rec_Update","2024-02-22T08:30:18","PCP0243"
"P_Rec_Update","2024-02-22T08:57:06","PCP0243"
"P_Rec_Update","2024-02-22T09:31:08","PCP0331"
"P_Rec_Update","2024-02-22T14:11:32","PCP0243"
"P_Rec_Update","2024-02-22T14:19:04","PCP0243"
"P_Rec_Update","2024-02-22T14:25:01","PCP0243"
"P_Rec_Update","2024-02-22T14:25:43","PCP0243"
"P_Rec_Update","2024-02-22T14:25:58","PCP0243"
"P_Rec_Update","2024-02-22T14:35:25","PCP0243"
"P_Rec_Update","2024-02-26T09:05:15","PCP0243"
"P_Rec_Update","2024-02-26T10:01:20","PCP0243"
"P_Rec_Update","2024-02-26T11:47:36","PCP0243"
"P_Rec_Update","2024-02-26T11:49:13","PCP0243"
"P_Rec_Update","2024-02-26T13:26:16","PCP0243"
"P_Rec_Update","2024-02-26T13:48:41","PCP0243"
"P_Rec_Update","2024-02-26T16:54:47","PCP0243"
"P_Rec_Update","2024-02-26T16:59:52","PCP0243"
"P_Rec_Update","2024-02-26T17:01:09","PCP0243"
"P_Rec_Update","2024-02-26T17:04:01","PCP0243"
"P_Rec_Update","2024-02-27T08:14:29","PCP0243"
"P_Rec_Update","2024-02-27T08:17:37","PCP0243"
"P_Rec_Update","2024-02-27T08:23:28","PCP0243"
"P_Rec_Update","2024-02-27T08:32:40","PCP0243"
"P_Rec_Update","2024-02-27T08:34:02","PCP0243"
"P_Rec_Update","2024-02-27T08:36:14","PCP0243"
"P_Rec_Update","2024-02-27T08:38:45","PCP0243"
"P_Rec_Update","2024-02-27T08:39:25","PCP0243"
"P_Rec_Update","2024-02-27T08:40:50","PCP0243"
"P_Rec_Update","2024-02-27T08:41:35","PCP0243"
"P_Rec_Update","2024-02-27T08:42:16","PCP0243"
"P_Rec_Update","2024-02-27T08:45:33","PCP0243"
"P_Rec_Update","2024-02-27T08:46:28","PCP0243"
"P_Rec_Update","2024-02-27T08:47:30","PCP0243"
"P_Rec_Update","2024-02-27T08:55:04","PCP0243"
"P_Rec_Update","2024-02-27T08:55:14","PCP0243"
"P_Rec_Update","2024-02-27T09:03:14","PCP0243"
"P_Rec_Update","2024-02-27T09:06:22","PCP0243"
"P_Rec_Update","2024-02-27T09:12:21","PCP0243"
"P_Rec_Update","2024-02-27T09:12:39","PCP0243"
"P_Rec_Update","2024-02-27T09:13:15","PCP0243"
"P_Rec_Update","2024-02-27T09:20:02","PCP0243"
"P_Rec_Update","2024-02-27T09:30:51","PCP0243"
"P_Rec_Update","2024-02-27T11:32:11","PCP0243"
"P_Rec_Update","2024-02-27T11:35:35","PCP0243"
"P_Rec_Update","2024-02-27T11:40:23","PCP0243"
"P_Rec_Update","2024-02-27T11:41:01","PCP0243"
"P_Rec_Update","2024-02-27T12:48:47","PCP0243"
"P_Rec_Update","2024-02-27T12:51:22","PCP0243"
"P_Rec_Update","2024-02-27T12:54:06","PCP0243"
"P_Rec_Update","2024-02-27T12:58:38","PCP0243"
"P_Rec_Update","2024-02-27T13:00:34","PCP0243"
"P_Rec_Update","2024-02-27T13:11:15","PCP0243"
"P_Rec_Update","2024-02-27T13:15:35","PCP0243"
"P_Rec_Update","2024-02-27T13:19:41","PCP0243"
"P_Rec_Update","2024-02-27T13:20:36","PCP0243"
"P_Rec_Update","2024-02-27T13:39:26","PCP0243"
"P_Rec_Update","2024-02-27T13:42:22","PCP0243"
"P_Rec_Update","2024-02-27T13:48:31","PCP0243"
"P_Rec_Update","2024-02-27T13:51:50","PCP0243"
"P_Rec_Update","2024-02-27T13:55:42","PCP0243"
"P_Rec_Update","2024-02-27T13:57:09","PCP0243"
"P_Rec_Update","2024-02-27T13:59:02","PCP0243"
"P_Rec_Update","2024-02-27T14:05:23","PCP0243"
"P_Rec_Update","2024-02-27T14:06:06","PCP0243"
"P_Rec_Update","2024-02-27T14:13:53","PCP0243"
"P_Rec_Update","2024-02-27T14:15:42","PCP0243"
"P_Rec_Update","2024-02-27T14:17:07","PCP0243"
"P_Rec_Update","2024-02-27T14:19:18","PCP0243"
"P_Rec_Update","2024-02-27T14:21:57","PCP0243"
"P_Rec_Update","2024-02-27T14:25:58","PCP0243"
"P_Rec_Update","2024-02-27T14:29:16","PCP0243"
"P_Rec_Update","2024-02-27T14:52:00","PCP0243"
"P_Rec_Update","2024-02-27T15:02:03","PCP0243"
"P_Rec_Update","2024-02-27T15:15:00","PCP0243"
"P_Rec_Update","2024-02-27T15:18:26","PCP0243"
"P_Rec_Update","2024-02-27T15:20:13","PCP0243"
"P_Rec_Update","2024-02-27T15:50:56","PCP0243"
"P_Rec_Update","2024-02-27T15:51:42","PCP0243"
"P_Rec_Update","2024-02-27T16:04:29","PCP0243"
"P_Rec_Update","2024-02-27T16:04:34","PCP0243"
"P_Rec_Update","2024-02-27T16:09:08","PCP0243"
"P_Rec_Update","2024-02-27T16:30:14","PCP0243"
"P_Rec_Update","2024-02-27T16:30:17","PCP0243"
"P_Rec_Update","2024-02-27T16:41:04","PCP0243"
"P_Rec_Update","2024-02-27T16:48:28","PCP0243"
"P_Rec_Update","2024-02-27T16:48:38","PCP0243"
"P_Rec_Update","2024-02-28T12:53:44","PCP0214"
"P_Rec_Update","2024-02-28T15:13:56","PCP0214"
"P_Rec_Update","2024-02-28T16:28:57","PHPVM05"
"P_Rec_Update","2024-02-28T17:12:36","PHPVM05"
"P_Rec_Update","2024-02-28T17:22:41","PHPVM05"
"P_Rec_Update","2024-02-28T17:26:16","PHPVM05"
"P_Rec_Update","2024-02-28T17:28:00","PHPVM05"
"P_Rec_Update","2024-02-28T17:29:44","PHPVM05"
"P_Rec_Update","2024-02-28T17:38:41","PHPVM05"
"P_Rec_Update","2024-02-28T17:54:40","PHPVM05"
"P_Rec_Update","2024-02-29T06:13:55","PCP0214"
"P_Rec_Update","2024-02-29T06:21:20","PCP0214"
"P_Rec_Update","2024-02-29T09:20:43","PHPVM05"
"P_Rec_Update","2024-02-29T09:27:01","PHPVM05"
"P_Rec_Update","2024-02-29T09:28:37","PHPVM05"
"P_Rec_Update","2024-02-29T09:36:20","PCP0243"
"P_Rec_Update","2024-02-29T09:36:44","PCP0243"
"P_Rec_Update","2024-02-29T15:43:19","PHPVM05"
"P_Rec_Update","2024-02-29T16:13:56","PHPVM05"
"P_Rec_Update","2024-02-29T16:15:27","PHPVM05"
"P_Rec_Update","2024-02-29T16:18:21","PHPVM05"
"P_Rec_Update","2024-02-29T16:33:09","PHPVM05"
"P_Rec_Update","2024-02-29T17:06:16","PHPVM05"
"P_Rec_Update","2024-03-01T07:43:18","PCP0331"
"P_Rec_Update","2024-03-01T07:48:53","PCP0331"
"P_Rec_Update","2024-03-01T08:18:53","PCP0331"
"P_Rec_Update","2024-03-01T08:48:38","PCP0331"
"P_Rec_Update","2024-03-01T11:22:33","PCP0243"
"P_Rec_Update","2024-03-01T11:23:15","PCP0243"
"P_Rec_Update","2024-03-01T11:23:53","PCP0243"
"P_Rec_Update","2024-03-01T11:25:55","PCP0243"
"P_Rec_Update","2024-03-01T11:27:41","PCP0243"
"P_Rec_Update","2024-03-01T13:17:05","PCP0316"
"P_Rec_Update","2024-03-04T13:08:22","PCP0316"
"P_Rec_Update","2024-03-05T14:58:47","PCP0316"
"P_Rec_Update","2024-03-05T15:28:50","PCP0316"
"P_Rec_Update","2024-03-05T16:15:54","PCP0243"
"P_Rec_Update","2024-03-06T09:36:40","PCP0331"
"P_Rec_Update","2024-03-06T09:46:35","PCP0331"
"P_Rec_Update","2024-03-06T10:25:39","PCP0331"
"P_Rec_Update","2024-03-06T10:50:57","PCP0323"
"P_Rec_Update","2024-03-06T11:06:15","PCP0243"
"P_Rec_Update","2024-03-06T13:07:18","PCP0323"
"P_Rec_Update","2024-03-06T14:07:52","PCP0316"
"P_Rec_Update","2024-03-06T15:32:21","PCP0323"
"P_Rec_Update","2024-03-06T15:38:01","PCP0323"
"P_Rec_Update","2024-03-06T15:40:28","PCP0331"
"P_Rec_Update","2024-03-06T15:46:00","PCP0323"
"P_Rec_Update","2024-03-09T12:38:03","PCP0334"
"P_Rec_Update","2024-03-09T13:43:29","PCP0334"
"P_Rec_Update","2024-03-09T14:09:13","PCP0334"
"P_Rec_Update","2024-03-10T13:25:30","PCP0334"
"P_Rec_Update","2024-03-11T10:54:20","PCP0214"
"P_Rec_Update","2024-03-12T11:27:01","PCP0323"
"P_Rec_Update","2024-03-15T08:29:40","PCP0245"
"P_Rec_Update","2024-03-15T15:23:55","PCP0323"
"P_Rec_Update","2024-03-18T13:08:59","PCP0334"
"P_Rec_Update","2024-03-20T08:57:12","PCP0214"
"P_Rec_Update","2024-03-22T14:34:51","PCP0245"
"P_Rec_Update","2024-03-25T14:56:11","PCP0234"
"P_Rec_Update","2024-03-25T14:58:18","PCP0234"
"P_Rec_Update","2024-03-25T15:04:42","PCP0234"
"P_Rec_Update","2024-03-25T16:15:12","PCP0234"
"P_Rec_Update","2024-03-26T16:51:48","PCP0245"
"P_Rec_Update","2024-03-26T18:25:56","PCP0208"
"P_Rec_Update","2024-03-26T19:38:16","PCP0208"
"P_Rec_Update","2024-03-26T19:41:38","PCP0208"
"P_Rec_Update","2024-03-27T10:14:31","PCP0245"
"P_Rec_Update","2024-03-28T13:10:18","PCP0241"
"P_Rec_Update","2024-03-28T13:10:43","PCP0241"
"P_Rec_Update","2024-03-28T13:11:07","PCP0241"
"P_Rec_Update","2024-03-28T17:04:03","PCP0243"
"P_Rec_Update","2024-03-28T17:04:25","PCP0243"
"P_Rec_Update","2024-03-29T07:51:17","PCP0331"
"P_Rec_Update","2024-03-29T07:56:21","PCP0243"
"P_Rec_Update","2024-03-29T08:02:36","PCP0243"
"P_Rec_Update","2024-03-29T08:03:33","PCP0331"
"P_Rec_Update","2024-03-29T11:35:34","PCP0241"
"P_Rec_Update","2024-03-29T13:20:03","PCP0234"
"P_Rec_Update","2024-03-29T13:53:10","PCP0241"
"P_Rec_Update","2024-03-29T13:58:09","PCP0241"
"P_Rec_Update","2024-04-02T15:45:54","PCP0245"
"P_Rec_Update","2024-04-02T15:49:21","PCP0245"
"P_Rec_Update","2024-04-04T10:00:30","PCP0245"
"P_Rec_Update","2024-04-05T08:56:47","PCP0245"
"P_Rec_Update","2024-04-05T09:23:31","PCP0245"
"P_Rec_Update","2024-04-05T13:50:33","PCP0243"
"P_Rec_Update","2024-04-05T13:52:57","PCP0243"
"P_Rec_Update","2024-04-05T14:53:14","PCP0331"
"P_Rec_Update","2024-04-05T14:56:39","PCP0331"
"P_Rec_Update","2024-04-06T13:25:49","PCP0334"
"P_Rec_Update","2024-04-08T12:07:17","PCP0245"
"P_Rec_Update","2024-04-08T16:13:03","PCP0243"
"P_Rec_Update","2024-04-08T16:14:47","PCP0243"
"P_Rec_Update","2024-04-11T11:47:02","PCP0243"
"P_Rec_Update","2024-04-15T20:20:35","PCP0334"
"P_Rec_Update","2024-04-15T20:33:50","PCP0334"
"P_Rec_Update","2024-04-16T18:13:03","PCP0334"
"P_Rec_Update","2024-04-18T14:18:44","PCP0245"
"P_Rec_Update","2024-04-22T11:39:16","PCP0316"
"P_Rec_Update","2024-04-22T15:13:32","PCP0243"
"P_Rec_Update","2024-04-23T09:07:50","PCP0234"
"P_Rec_Update","2024-04-23T13:05:57","PCP0234"
"P_Rec_Update","2024-04-23T14:29:51","PCP0234"
"P_Rec_Update","2024-04-23T16:39:26","PCP0234"
"P_Rec_Update","2024-04-25T08:31:32","PCP0312"
"P_Rec_Update","2024-04-25T14:15:47","PCP0346"
"P_Rec_Update","2024-04-25T16:24:25","PCP0346"
"P_Rec_Update","2024-04-25T17:23:33","PCP0346"
"P_Rec_Update","2024-04-26T12:32:52","PCP0346"
"P_Rec_Update","2024-04-26T15:15:49","PCP0346"
"P_Rec_Update","2024-04-27T09:21:22","PCP0245"
"P_Rec_Update","2024-04-27T10:01:16","PCP0245"
"P_Rec_Update","2024-05-02T16:57:12","PCP0346"
"P_Rec_Update","2024-05-03T09:15:42","PCP0346"
"P_Rec_Update","2024-05-03T10:22:16","PCP0234"
"P_Rec_Update","2024-05-03T10:22:52","PCP0234"
"P_Rec_Update","2024-05-03T10:46:19","PCP0346"
"P_Rec_Update","2024-05-03T12:54:33","PCP0346"
"P_Rec_Update","2024-05-03T14:11:00","PCP0234"
"P_Rec_Update","2024-05-03T14:33:29","PCP0332"
"P_Rec_Update","2024-05-03T14:34:06","PCP0332"
"P_Rec_Update","2024-05-03T14:46:35","PCP0332"
"P_Rec_Update","2024-05-06T09:05:14","PCP0234"
"P_Rec_Update","2024-05-06T13:41:17","PCP0234"
"P_Rec_Update","2024-05-06T13:50:14","PCP0234"
"P_Rec_Update","2024-05-06T13:59:52","PCP0316"
"P_Rec_Update","2024-05-06T14:46:47","PCP0234"
"P_Rec_Update","2024-05-07T08:29:17","PCP0245"
"P_Rec_Update","2024-05-07T10:03:13","PCP0234"
"P_Rec_Update","2024-05-07T11:15:49","PCP0245"
"P_Rec_Update","2024-05-07T13:26:59","PCP0234"
"P_Rec_Update","2024-05-07T13:35:02","PCP0234"
"P_Rec_Update","2024-05-07T14:13:23","PCP0234"
"P_Rec_Update","2024-05-07T14:25:38","PCP0234"
"P_Rec_Update","2024-05-07T14:33:27","PCP0234"
"P_Rec_Update","2024-05-08T14:40:30","PCP0245"
"P_Rec_Update","2024-05-08T14:50:03","PCP0245"
"P_Rec_Update","2024-05-08T14:56:21","PCP0234"
"P_Rec_Update","2024-05-08T14:57:29","PCP0245"
"P_Rec_Update","2024-05-08T15:09:26","PCP0234"
"P_Rec_Update","2024-05-08T15:28:37","PCP0234"
"P_Rec_Update","2024-05-09T11:10:46","PCP0334"
"P_Rec_Update","2024-05-10T13:11:24","PCP0334"
"P_Rec_Update","2024-05-13T07:52:54","PCP0234"
"P_Rec_Update","2024-05-13T08:10:26","PCP0234"
"P_Rec_Update","2024-05-14T07:48:08","PCP0316"
"P_Rec_Update","2024-05-14T10:03:12","PCP0346"
"P_Rec_Update","2024-05-14T13:27:45","PCP0312"
"P_Rec_Update","2024-05-14T13:45:36","PCP0245"
"P_Rec_Update","2024-05-14T14:28:05","PCP0332"
"P_Rec_Update","2024-05-14T15:26:11","PCP0245"
"P_Rec_Update","2024-05-14T15:34:06","PCP0312"
"P_Rec_Update","2024-05-14T16:18:44","PCP0215"
"P_Rec_Update","2024-05-14T17:04:04","PCP0245"
"P_Rec_Update","2024-05-15T09:45:47","PCP0245"
"P_Rec_Update","2024-05-15T10:29:08","PCP0234"
"P_Rec_Update","2024-05-15T11:39:16","PCP0234"
"P_Rec_Update","2024-05-15T14:01:20","PCP0346"
"P_Rec_Update","2024-05-15T14:44:17","PCP0215"
"P_Rec_Update","2024-05-15T15:02:52","PCP0245"
"P_Rec_Update","2024-05-15T18:21:48","PCP0316"
"P_Rec_Update","2024-05-16T08:49:42","PCP0346"
"P_Rec_Update","2024-05-16T11:54:08","PHPVM05"
"P_Rec_Update","2024-05-16T12:01:40","PHPVM05"
"P_Rec_Update","2024-05-16T13:44:52","PHPVM05"
"P_Rec_Update","2024-05-16T15:47:38","PCP0316"
"P_Rec_Update","2024-05-16T15:55:09","PCP0234"
"P_Rec_Update","2024-05-17T09:20:39","PCP0316"
"P_Rec_Update","2024-05-17T09:46:31","PCP0346"
"P_Rec_Update","2024-05-17T09:58:09","PCP0234"
"P_Rec_Update","2024-05-17T10:00:37","PCP0234"
"P_Rec_Update","2024-05-17T10:06:14","PHPVM05"
"P_Rec_Update","2024-05-17T10:56:50","PCP0316"
"P_Rec_Update","2024-05-17T12:46:41","PCP0312"
"P_Rec_Update","2024-05-17T15:15:18","PCP0312"
"P_Rec_Update","2024-05-19T11:23:30","PCP0334"
"P_Rec_Update","2024-05-20T09:15:30","PCP0316"
"P_Rec_Update","2024-05-20T10:20:16","PCP0316"
"P_Rec_Update","2024-05-20T11:08:50","PCP0312"
"P_Rec_Update","2024-05-20T13:24:36","PCP0234"
"P_Rec_Update","2024-05-21T08:37:29","PCP0245"
"P_Rec_Update","2024-05-21T09:21:55","PCP0234"
"P_Rec_Update","2024-05-21T09:46:01","PCP0234"
"P_Rec_Update","2024-05-21T10:31:09","PHPVM05"
"P_Rec_Update","2024-05-21T11:22:00","PHPVM05"
"P_Rec_Update","2024-05-21T18:33:36","PCP0316"
"P_Rec_Update","2024-05-22T15:18:11","PCP0245"
"P_Rec_Update","2024-05-23T09:50:28","PCP0232"
"P_Rec_Update","2024-05-24T08:32:03","PCP0312"
"P_Rec_Update","2024-05-27T09:06:31","PCP0316"
"P_Rec_Update","2024-05-27T09:15:48","PCP0316"
"P_Rec_Update","2024-05-27T09:50:50","PCP0234"
"P_Rec_Update","2024-05-27T10:18:48","PCP0214"
"P_Rec_Update","2024-05-27T10:25:03","PCP0243"
"P_Rec_Update","2024-05-27T10:26:20","PCP0243"
"P_Rec_Update","2024-05-27T10:27:12","PCP0243"
"P_Rec_Update","2024-05-27T10:32:55","PCP0243"
"P_Rec_Update","2024-05-27T10:34:25","PCP0243"
"P_Rec_Update","2024-05-27T11:00:05","PCP0243"
"P_Rec_Update","2024-05-27T11:41:50","PCP0243"
"P_Rec_Update","2024-05-27T11:43:11","PCP0234"
"P_Rec_Update","2024-05-27T11:48:13","PCP0243"
"P_Rec_Update","2024-05-27T11:48:42","PCP0243"
"P_Rec_Update","2024-05-27T11:53:12","PCP0243"
"P_Rec_Update","2024-05-27T13:20:11","PCP0332"
"P_Rec_Update","2024-05-27T13:25:29","PCP0243"
"P_Rec_Update","2024-05-27T13:27:16","PCP0243"
"P_Rec_Update","2024-05-27T13:29:25","PCP0234"
"P_Rec_Update","2024-05-27T13:47:17","PCP0243"
"P_Rec_Update","2024-05-28T06:51:16","PCP0214"
"P_Rec_Update","2024-05-28T06:52:10","PCP0214"
"P_Rec_Update","2024-05-28T08:26:37","PCP0243"
"P_Rec_Update","2024-05-28T08:57:20","PCP0332"
"P_Rec_Update","2024-05-28T11:11:08","PCP0346"
"P_Rec_Update","2024-05-28T13:16:48","PCP0332"
"P_Rec_Update","2024-05-28T14:29:16","PCP0316"
"P_Rec_Update","2024-05-28T15:28:49","PCP0346"
"P_Rec_Update","2024-05-29T08:36:49","PCP0346"
"P_Rec_Update","2024-05-29T14:48:46","PCP0214"
"P_Rec_Update","2024-05-29T15:19:40","PCP0332"
"P_Rec_Update","2024-05-29T15:52:35","PCP0316"
"P_Rec_Update","2024-05-29T15:53:32","PCP0316"
"P_Rec_Update","2024-05-30T09:49:07","PCP0332"
"P_Rec_Update","2024-05-30T15:15:01","PCP0316"
"P_Rec_Update","2024-05-30T17:23:25","PCP0316"
"P_Rec_Update","2024-05-31T03:42:04","PCP0214"
"P_Rec_Update","2024-05-31T08:05:44","PCP0334"
"P_Rec_Update","2024-05-31T14:26:43","PCP0332"
"P_Rec_Update","2024-05-31T14:30:31","PCP0245"
"P_Rec_Update","2024-05-31T15:13:13","PCP0332"
"P_Rec_Update","2024-05-31T16:08:41","PCP0316"
"P_Rec_Update","2024-06-01T18:57:09","PCP0214"
"P_Rec_Update","2024-06-01T18:58:56","PCP0214"
"P_Rec_Update","2024-06-02T07:55:19","PCP0214"
"P_Rec_Update","2024-06-02T07:56:21","PCP0214"
"P_Rec_Update","2024-06-02T08:04:11","PCP0214"
"P_Rec_Update","2024-06-02T08:14:45","PCP0214"
"P_Rec_Update","2024-06-02T08:23:39","PCP0214"
"P_Rec_Update","2024-06-02T08:26:18","PCP0214"
"P_Rec_Update","2024-06-02T08:30:43","PCP0214"
"P_Rec_Update","2024-06-02T08:34:37","PCP0214"
"P_Rec_Update","2024-06-02T16:22:03","PCP0214"
"P_Rec_Update","2024-06-02T16:22:37","PCP0214"
"P_Rec_Update","2024-06-02T16:43:03","PCP0214"
"P_Rec_Update","2024-06-05T03:53:09","PCP0214"
"P_Rec_Update","2024-06-05T11:31:08","PCP0234"
"P_Rec_Update","2024-06-05T11:54:13","PCP0234"
"P_Rec_Update","2024-06-05T11:57:13","PCP0234"
"P_Rec_Update","2024-06-05T12:55:02","PCP0234"
"P_Rec_Update","2024-06-05T13:02:52","PCP0234"
"P_Rec_Update","2024-06-05T13:09:50","PCP0234"
"P_Rec_Update","2024-06-05T13:15:38","PCP0234"
"P_Rec_Update","2024-06-05T13:29:41","PCP0234"
"P_Rec_Update","2024-06-05T13:45:38","PCP0234"
"P_Rec_Update","2024-06-05T14:34:49","PCP0234"
"P_Rec_Update","2024-06-05T15:07:59","PCP0234"
"P_Rec_Update","2024-06-05T15:15:06","PCP0234"
"P_Rec_Update","2024-06-05T15:41:55","PCP0234"
"P_Rec_Update","2024-06-06T08:32:48","PCP0234"
"P_Rec_Update","2024-06-06T08:41:49","PCP0234"
"P_Rec_Update","2024-06-06T10:21:40","PCP0312"
"P_Rec_Update","2024-06-06T11:45:58","PCP0234"
"P_Rec_Update","2024-06-06T11:52:39","PCP0312"
"P_Rec_Update","2024-06-06T12:39:33","PCP0214"
"P_Rec_Update","2024-06-06T13:13:47","PCP0234"
"P_Rec_Update","2024-06-06T16:08:26","PCP0234"
"P_Rec_Update","2024-06-06T16:44:44","PCP0234"
"P_Rec_Update","2024-06-07T10:58:00","PCP0156"
"P_Rec_Update","2024-06-07T11:18:42","PCP0241"
"P_Rec_Update","2024-06-07T11:20:12","PCP0241"
"P_Rec_Update","2024-06-07T11:21:02","PCP0241"
"P_Rec_Update","2024-06-07T14:48:41","PCP0241"
"P_Rec_Update","2024-06-08T09:06:08","PCP0334"
"P_Rec_Update","2024-06-08T09:25:25","PCP0334"
"P_Rec_Update","2024-06-11T03:46:55","PCP0214"
"P_Rec_Update","2024-06-11T08:08:48","PCP0214"
"P_Rec_Update","2024-06-11T08:39:02","PCP0312"
"P_Rec_Update","2024-06-11T08:39:24","PCP0312"
"P_Rec_Update","2024-06-11T08:52:12","PCP0312"
"P_Rec_Update","2024-06-11T08:58:35","PCP0312"
"P_Rec_Update","2024-06-11T10:19:30","PCP0312"
"P_Rec_Update","2024-06-11T11:49:48","PCP0214"
"P_Rec_Update","2024-06-11T15:29:04","PCP0312"
"P_Rec_Update","2024-06-12T11:32:55","PCP0214"
"P_Rec_Update","2024-06-12T16:05:30","PCP0245"
"P_Rec_Update","2024-06-13T03:52:21","PCP0214"
"P_Rec_Update","2024-06-13T04:14:59","PCP0214"
"P_Rec_Update","2024-06-13T09:20:25","PCP0245"
"P_Rec_Update","2024-06-13T09:42:23","PCP0312"
"P_Rec_Update","2024-06-13T11:31:37","PCP0346"
"P_Rec_Update","2024-06-13T11:35:18","PCP0346"
"P_Rec_Update","2024-06-13T11:37:46","PCP0346"
"P_Rec_Update","2024-06-13T13:57:33","PCP0245"
"P_Rec_Update","2024-06-13T15:22:51","PCP0312"
"P_Rec_Update","2024-06-14T08:24:35","PCP0331"
"P_Rec_Update","2024-06-14T10:16:04","PCP0243"
"P_Rec_Update","2024-06-14T10:17:39","PCP0245"
"P_Rec_Update","2024-06-14T13:21:59","PCP0245"
"P_Rec_Update","2024-06-14T13:22:18","PCP0243"
"P_Rec_Update","2024-06-14T13:22:57","PCP0243"
"P_Rec_Update","2024-06-14T13:23:16","PCP0243"
"P_Rec_Update","2024-06-14T13:24:02","PCP0245"
"P_Rec_Update","2024-06-14T13:24:09","PCP0245"
"P_Rec_Update","2024-06-14T13:27:26","PCP0245"
"P_Rec_Update","2024-06-14T13:27:44","PCP0243"
"P_Rec_Update","2024-06-14T13:35:05","PCP0243"
"P_Rec_Update","2024-06-14T13:39:00","PCP0243"
"P_Rec_Update","2024-06-14T13:42:11","PCP0243"
"P_Rec_Update","2024-06-14T13:44:29","PCP0243"
"P_Rec_Update","2024-06-14T13:45:59","PCP0243"
"P_Rec_Update","2024-06-14T15:19:56","PCP0346"
"P_Rec_Update","2024-06-14T15:23:10","PCP0243"
"P_Rec_Update","2024-06-17T08:19:54","PCP0346"
"P_Rec_Update","2024-06-17T08:21:10","PCP0346"
"P_Rec_Update","2024-06-17T08:47:40","PCP0214"
"P_Rec_Update","2024-06-17T14:21:00","PCP0245"
"P_Rec_Update","2024-06-18T09:29:00","PCP0245"
"P_Rec_Update","2024-06-18T09:29:29","PCP0245"
"P_Rec_Update","2024-06-18T10:32:04","PCP0332"
"P_Rec_Update","2024-06-18T11:14:49","PCP0234"
"P_Rec_Update","2024-06-18T12:50:03","PCP0245"
"P_Rec_Update","2024-06-18T14:32:25","PCP0234"
"P_Rec_Update","2024-06-18T16:10:30","PCP0346"
"P_Rec_Update","2024-06-19T08:54:07","PCP0234"
"P_Rec_Update","2024-06-19T08:57:21","PCP0234"
"P_Rec_Update","2024-06-19T09:08:28","PCP0346"
"P_Rec_Update","2024-06-19T11:25:56","PCP0346"
"P_Rec_Update","2024-06-19T14:01:19","PCP0208"
"P_Rec_Update","2024-06-19T15:17:01","PCP0316"
"P_Rec_Update","2024-06-19T19:00:08","PCP0208"
"P_Rec_Update","2024-06-20T10:52:58","PCP0346"
"P_Rec_Update","2024-06-20T13:15:03","PCP0214"
"P_Rec_Update","2024-06-20T13:49:00","PCP0214"
"P_Rec_Update","2024-06-20T23:16:40","PCP0208"
"P_Rec_Update","2024-06-21T11:35:15","PCP0316"
"P_Rec_Update","2024-06-21T13:11:14","PCP0208"
"P_Rec_Update","2024-06-21T15:08:55","PCP0208"
"P_Rec_Update","2024-06-26T13:05:10","PCP0346"
"P_Rec_Update","2024-06-26T14:08:25","PCP0346"
"P_Rec_Update","2024-06-26T14:11:10","PCP0232"
"P_Rec_Update","2024-06-26T14:37:01","PCP0232"
"P_Rec_Update","2024-06-26T15:35:51","PCP0232"
"P_Rec_Update","2024-06-27T09:38:21","PCP0345"
"P_Rec_Update","2024-06-28T09:10:41","PCP0346"
"P_Rec_Update","2024-07-01T14:21:40","PCP0312"
"P_Rec_Update","2024-07-02T14:59:11","PCP0245"
"P_Rec_Update","2024-07-03T15:41:54","PCP0332"
"P_Rec_Update","2024-07-03T16:34:54","PCP0332"
"P_Rec_Update","2024-07-03T16:35:03","PCP0332"
"P_Rec_Update","2024-07-03T17:11:38","PCP0312"
"P_Rec_Update","2024-07-04T09:21:29","PCP0245"
"P_Rec_Update","2024-07-04T11:22:59","PCP0245"
"P_Rec_Update","2024-07-04T15:25:03","PCP0245"
"P_Rec_Update","2024-07-08T16:20:34","PCP0245"
"P_Rec_Update","2024-07-08T16:51:24","PCP0245"
"P_Rec_Update","2024-07-09T09:12:53","PCP0245"
"P_Rec_Update","2024-07-09T11:08:04","PCP0245"
"P_Rec_Update","2024-07-09T12:51:22","PCP0245"
"P_Rec_Update","2024-07-09T13:10:35","PCP0245"
"P_Rec_Update","2024-07-11T05:06:53","PCP0214"
"P_Rec_Update","2024-07-11T10:32:28","PCP0214"
"P_Rec_Update","2024-07-11T10:40:04","PCP0245"
"P_Rec_Update","2024-07-11T10:54:44","PCP0346"
"P_Rec_Update","2024-07-11T11:24:28","PCP0214"
"P_Rec_Update","2024-07-11T13:55:35","PCP0214"
"P_Rec_Update","2024-07-12T10:03:12","PCP0214"
"P_Rec_Update","2024-07-12T10:23:44","PCP0214"
"P_Rec_Update","2024-07-12T10:26:25","PCP0346"
"P_Rec_Update","2024-07-12T10:32:08","PCP0214"
"P_Rec_Update","2024-07-12T10:32:41","PCP0346"
"P_Rec_Update","2024-07-12T10:51:56","PCP0346"
"P_Rec_Update","2024-07-12T13:01:21","PCP0346"
"P_Rec_Update","2024-07-12T13:09:03","PCP0234"
"P_Rec_Update","2024-07-12T13:50:04","PCP0346"
"P_Rec_Update","2024-07-15T14:05:42","PCP0312"
"P_Rec_Update","2024-07-15T14:17:24","PCP0316"
"P_Rec_Update","2024-07-15T14:39:46","PCP0346"
"P_Rec_Update","2024-07-15T14:40:27","PCP0346"
"P_Rec_Update","2024-07-15T16:08:07","PCP0316"
"P_Rec_Update","2024-07-15T16:10:18","PCP0316"
"P_Rec_Update","2024-07-15T16:11:14","PCP0316"
"P_Rec_Update","2024-07-16T10:03:24","PCP0346"
"P_Rec_Update","2024-07-16T10:33:39","PCP0346"
"P_Rec_Update","2024-07-16T12:56:26","PCP0346"
"P_Rec_Update","2024-07-16T14:48:11","PCP0234"
"P_Rec_Update","2024-07-17T12:06:56","PCP0245"
"P_Rec_Update","2024-07-17T12:58:41","PCP0312"
"P_Rec_Update","2024-07-17T13:00:34","PCP0312"
"P_Rec_Update","2024-07-17T13:26:53","PCP0208"
"P_Rec_Update","2024-07-17T13:47:54","PCP0234"
"P_Rec_Update","2024-07-17T17:27:06","PCP0234"
"P_Rec_Update","2024-07-18T08:02:45","PCP0234"
"P_Rec_Update","2024-07-18T08:08:48","PCP0346"
"P_Rec_Update","2024-07-18T09:47:34","PCP0245"
"P_Rec_Update","2024-07-18T15:26:17","PCP0245"
"P_Rec_Update","2024-07-18T16:19:49","PCP0312"
"P_Rec_Update","2024-07-19T09:24:28","PCP0241"
"P_Rec_Update","2024-07-19T11:29:49","PCP0331"
"P_Rec_Update","2024-07-22T08:52:12","PCP0245"
"P_Rec_Update","2024-07-22T08:56:46","PCP0245"
"P_Rec_Update","2024-07-22T08:57:06","PCP0245"
"P_Rec_Update","2024-07-22T09:38:36","PCP0241"
"P_Rec_Update","2024-07-22T12:14:15","PCP0245"
"P_Rec_Update","2024-07-22T13:48:18","PCP0346"
"P_Rec_Update","2024-07-22T16:09:39","PCP0245"
"P_Rec_Update","2024-07-23T08:52:57","PCP0346"
"P_Rec_Update","2024-07-25T08:45:27","PCP0214"
"P_Rec_Update","2024-07-25T14:04:56","PCP0245"
"P_Rec_Update","2024-07-25T15:58:37","PCP0334"
"P_Rec_Update","2024-07-25T16:02:40","PCP0343"
"P_Rec_Update","2024-07-26T08:46:01","PCP0332"
"P_Rec_Update","2024-07-26T12:31:10","PCP0258"
"P_Rec_Update","2024-07-26T12:37:14","PCP0258"
"P_Rec_Update","2024-07-26T13:02:26","PCP0258"
"P_Rec_Update","2024-07-26T13:16:26","PCP0258"
"P_Rec_Update","2024-07-26T13:20:02","PCP0258"
"P_Rec_Update","2024-07-26T13:56:18","PCP0208"
"P_Rec_Update","2024-07-26T14:56:09","PCP0208"
"P_Rec_Update","2024-07-26T15:58:51","PCP0334"
"P_Rec_Update","2024-07-26T16:00:50","PCP0334"
"P_Rec_Update","2024-07-29T10:57:14","PCP0346"
"P_Rec_Update","2024-07-29T11:09:32","PCP0214"
"P_Rec_Update","2024-07-29T11:39:04","PCP0258"
"P_Rec_Update","2024-07-29T12:21:56","PCP0208"
"P_Rec_Update","2024-07-30T07:44:53","PCP0346"
"P_Rec_Update","2024-07-30T13:07:00","PCP0258"
"P_Rec_Update","2024-07-30T13:16:17","PCP0258"
"P_Rec_Update","2024-07-31T11:25:22","PCP0258"
"P_Rec_Update","2024-07-31T16:19:56","PCP0346"
"P_Rec_Update","2024-07-31T18:20:08","PCP0334"
"P_Rec_Update","2024-07-31T18:23:48","PCP0334"
"P_Rec_Update","2024-08-01T10:20:56","PCP0343"
"P_Rec_Update","2024-08-01T10:22:18","PCP0343"
"P_Rec_Update","2024-08-01T10:38:11","PCP0343"
"P_Rec_Update","2024-08-01T13:10:05","PCP0343"
"P_Rec_Update","2024-08-02T10:45:35","PCP0245"
"P_Rec_Update","2024-08-02T10:53:31","PCP0346"
"P_Rec_Update","2024-08-05T06:15:25","PCP0214"
"P_Rec_Update","2024-08-05T06:58:00","PCP0214"
"P_Rec_Update","2024-08-05T08:34:12","PCP0346"
"P_Rec_Update","2024-08-05T09:51:00","PCP0214"
"P_Rec_Update","2024-08-05T12:54:28","PCP0334"
"P_Rec_Update","2024-08-05T12:57:33","PCP0334"
"P_Rec_Update","2024-08-05T17:12:39","PCP0232"
"P_Rec_Update","2024-08-05T19:25:39","PCP0232"
"P_Rec_Update","2024-08-05T19:25:58","PCP0232"
"P_Rec_Update","2024-08-05T19:29:38","PCP0205"
"P_Rec_Update","2024-08-05T19:57:34","PCP0232"
"P_Rec_Update","2024-08-06T10:35:24","PCP0343"
"P_Rec_Update","2024-08-06T12:40:23","PCP0214"
"P_Rec_Update","2024-08-06T13:20:17","PCP0208"
"P_Rec_Update","2024-08-06T14:01:17","PCP0208"
"P_Rec_Update","2024-08-06T17:37:26","PCP0334"
"P_Rec_Update","2024-08-08T13:21:18","PCP0258"
"P_Rec_Update","2024-08-08T21:18:39","PCP0208"
"P_Rec_Update","2024-08-08T21:55:36","PCP0208"
"P_Rec_Update","2024-08-08T21:55:54","PCP0208"
"P_Rec_Update","2024-08-09T09:20:34","PCP0258"
"P_Rec_Update","2024-08-12T11:52:07","PCP0343"
"P_Rec_Update","2024-08-12T11:53:31","PCP0234"
"P_Rec_Update","2024-08-12T12:54:46","PCP0343"
"P_Rec_Update","2024-08-13T09:21:00","PCP0218"
"P_Rec_Update","2024-08-13T09:36:39","PCP0218"
"P_Rec_Update","2024-08-13T11:01:28","PCP0218"
"P_Rec_Update","2024-08-13T11:45:25","PCP0245"
"P_Rec_Update","2024-08-30T10:56:47","PCP0234"
"P_Rec_Update","2024-09-06T10:52:05","PCP0332"
"P_Rec_Update","2024-09-06T13:04:59","PCP0332"
"P_Rec_Update","2024-09-06T14:32:24","PHPVM05"
"P_Rec_Update","2024-09-12T13:41:10","PCP0332"
"P_Rec_Update","2024-09-14T14:40:26","PCP0218"
"P_Rec_Update","2024-09-14T15:25:20","PCP0218"
"P_Rec_Update","2024-09-14T15:36:12","PCP0218"
"P_Rec_Update","2024-09-16T14:36:41","PHPVM05"
"P_Rec_Update","2024-09-17T09:45:05","PCP0218"
"P_Rec_Update","2024-09-17T10:14:03","PCP0218"
"P_Rec_Update","2024-09-18T12:55:16","PCP0218"
"P_Rec_Update","2024-09-18T13:50:41","PCP0218"
"P_Rec_Update","2024-09-18T16:27:19","PCP0218"
"P_Rec_Update","2024-09-18T20:31:11","PCP0241"
"P_Rec_Update","2024-09-19T07:39:51","PCP0218"
"P_Rec_Update","2024-09-19T07:57:19","PCP0241"
"P_Rec_Update","2024-09-19T13:16:16","PCP0218"
"P_Rec_Update","2024-09-19T13:27:29","PCP0218"
"P_Rec_Update","2024-09-19T14:05:56","PCP0218"
"P_Rec_Update","2024-09-19T14:20:37","PCP0218"
"P_Rec_Update","2024-09-19T15:29:58","PCP0218"
"P_Rec_Update","2024-09-19T15:45:30","PCP0218"
"P_Rec_Update","2024-09-19T15:49:35","PCP0218"
"P_Rec_Update","2024-09-20T14:28:20","PCP0331"
"P_Rec_Update","2024-09-20T14:34:14","PCP0331"
"P_Rec_Update","2024-09-23T07:38:58","PCP0218"
"P_Rec_Update","2024-09-23T07:43:01","PCP0218"
"P_Rec_Update","2024-09-23T07:45:29","PCP0218"
"P_Rec_Update","2024-09-23T08:05:05","PCP0218"
"P_Rec_Update","2024-09-23T08:43:47","PCP0218"
"P_Rec_Update","2024-09-23T16:20:38","PCP0316"
"P_Rec_Update","2024-09-25T15:55:27","PCP0316"
"P_Rec_Update","2024-09-26T08:19:46","PCP0316"
"P_Rec_Update","2024-09-26T10:53:22","PCP0316"
"P_Rec_Update","2024-09-26T15:03:37","PCP0316"
"P_Rec_Update","2024-09-26T15:34:02","PCP0316"
"P_Rec_Update","2024-09-26T15:37:04","PCP0316"
"P_Rec_Update","2024-09-30T14:55:13","PCP0218"
"P_Rec_Update","2024-10-07T08:19:28","PCP0331"
"P_Rec_Update","2024-10-07T08:21:10","PCP0331"
"P_Rec_Update","2024-10-15T08:04:44","PCP0356"
"P_Rec_Update","2024-10-15T08:31:31","PCP0356"
"P_Rec_Update","2024-10-15T08:40:26","PCP0356"
"P_Rec_Update","2024-10-15T09:06:23","PCP0356"
"P_Rec_Update","2024-10-15T09:50:03","PCP0356"
"P_Rec_Update","2024-10-15T10:00:17","PCP0356"
"P_Rec_Update","2024-10-15T10:06:55","PCP0356"
"P_Rec_Update","2024-10-15T10:47:09","PCP0356"
"P_Rec_Update","2024-10-15T10:59:57","PCP0356"
"P_Rec_Update","2024-10-15T11:06:06","PCP0356"
"P_Rec_Update","2024-10-15T11:08:03","PCP0356"
"P_Rec_Update","2024-10-15T11:14:54","PCP0356"
"P_Rec_Update","2024-10-15T11:17:40","PCP0356"
"P_Rec_Update","2024-10-15T11:21:01","PCP0356"
"P_Rec_Update","2024-10-15T11:25:48","PCP0356"
"P_Rec_Update","2024-10-29T10:05:12","PCP0345"
"P_Rec_Update","2024-10-30T11:23:48","PCP0356"
"P_Rec_Update","2024-10-31T14:13:24","PCP0238"
"P_Rec_Update","2024-10-31T16:39:04","PCP0238"
"P_Rec_Update","2024-11-02T14:00:02","PCP0356"
"P_Rec_Update","2024-11-05T15:53:36","PCP0356"
"P3DDeleteNewLineInValues","2024-01-30T15:48:15","PCP0243"
"P3DDeleteNewLineInValues","2024-01-30T15:48:22","PCP0243"
"P3DDeleteNewLineInValues","2024-01-30T15:52:12","PCP0243"
"P3DDeleteNewLineInValues","2024-01-30T15:52:18","PCP0243"
"P3DDeleteNewLineInValues","2024-01-30T15:52:34","PCP0243"
"P3DDeleteNewLineInValues","2024-01-30T15:52:40","PCP0243"
"P3DDeleteNewLineInValues","2024-01-30T15:52:46","PCP0243"
1 plugin_name launch_timestamp computer_name
2 P_Rec_Update 2024-01-30T15:46:23 PCP0243
3 P_Rec_Update 2024-01-30T15:52:04 PCP0243
4 P_Rec_Update 2024-01-30T15:52:25 PCP0243
5 P_Rec_Update 2024-02-12T15:43:47 PCP0243
6 P_Rec_Update 2024-02-12T15:45:39 PCP0243
7 P_Rec_Update 2024-02-12T15:48:16 PCP0243
8 P_Rec_Update 2024-02-12T15:50:15 PCP0243
9 P_Rec_Update 2024-02-12T15:57:19 PCP0243
10 P_Rec_Update 2024-02-12T15:59:01 PCP0243
11 P_Rec_Update 2024-02-15T09:53:49 PCP0243
12 P_Rec_Update 2024-02-15T09:57:04 PCP0243
13 P_Rec_Update 2024-02-15T10:09:20 PCP0243
14 P_Rec_Update 2024-02-15T10:11:13 PCP0243
15 P_Rec_Update 2024-02-15T11:07:41 PCP0243
16 P_Rec_Update 2024-02-15T11:35:32 PCP0243
17 P_Rec_Update 2024-02-15T11:36:56 PCP0243
18 P_Rec_Update 2024-02-15T11:39:18 PCP0243
19 P_Rec_Update 2024-02-15T11:40:43 PCP0243
20 P_Rec_Update 2024-02-15T11:42:55 PCP0243
21 P_Rec_Update 2024-02-15T11:48:11 PCP0243
22 P_Rec_Update 2024-02-15T12:47:16 PCP0243
23 P_Rec_Update 2024-02-15T12:48:25 PCP0243
24 P_Rec_Update 2024-02-15T12:50:28 PCP0243
25 P_Rec_Update 2024-02-15T14:07:15 PCP0243
26 P_Rec_Update 2024-02-16T09:20:52 PCP0243
27 P_Rec_Update 2024-02-19T09:37:00 PCP0243
28 P_Rec_Update 2024-02-20T08:23:05 PCP0243
29 P_Rec_Update 2024-02-20T10:34:56 PCP0243
30 P_Rec_Update 2024-02-20T10:45:33 PCP0243
31 P_Rec_Update 2024-02-20T14:16:20 PCP0243
32 P_Rec_Update 2024-02-20T15:40:35 PCP0243
33 P_Rec_Update 2024-02-20T16:26:07 PCP0243
34 P_Rec_Update 2024-02-20T16:29:59 PCP0243
35 P_Rec_Update 2024-02-20T16:37:27 PCP0243
36 P_Rec_Update 2024-02-20T16:47:00 PCP0243
37 P_Rec_Update 2024-02-21T08:27:53 PCP0243
38 P_Rec_Update 2024-02-21T08:36:38 PCP0243
39 P_Rec_Update 2024-02-21T08:56:20 PCP0243
40 P_Rec_Update 2024-02-21T10:02:10 PCP0243
41 P_Rec_Update 2024-02-21T10:03:58 PCP0243
42 P_Rec_Update 2024-02-21T10:06:05 PCP0243
43 P_Rec_Update 2024-02-21T10:08:00 PCP0243
44 P_Rec_Update 2024-02-21T10:09:36 PCP0243
45 P_Rec_Update 2024-02-21T10:40:30 PCP0243
46 P_Rec_Update 2024-02-22T08:09:01 PCP0331
47 P_Rec_Update 2024-02-22T08:30:09 PCP0243
48 P_Rec_Update 2024-02-22T08:30:18 PCP0243
49 P_Rec_Update 2024-02-22T08:57:06 PCP0243
50 P_Rec_Update 2024-02-22T09:31:08 PCP0331
51 P_Rec_Update 2024-02-22T14:11:32 PCP0243
52 P_Rec_Update 2024-02-22T14:19:04 PCP0243
53 P_Rec_Update 2024-02-22T14:25:01 PCP0243
54 P_Rec_Update 2024-02-22T14:25:43 PCP0243
55 P_Rec_Update 2024-02-22T14:25:58 PCP0243
56 P_Rec_Update 2024-02-22T14:35:25 PCP0243
57 P_Rec_Update 2024-02-26T09:05:15 PCP0243
58 P_Rec_Update 2024-02-26T10:01:20 PCP0243
59 P_Rec_Update 2024-02-26T11:47:36 PCP0243
60 P_Rec_Update 2024-02-26T11:49:13 PCP0243
61 P_Rec_Update 2024-02-26T13:26:16 PCP0243
62 P_Rec_Update 2024-02-26T13:48:41 PCP0243
63 P_Rec_Update 2024-02-26T16:54:47 PCP0243
64 P_Rec_Update 2024-02-26T16:59:52 PCP0243
65 P_Rec_Update 2024-02-26T17:01:09 PCP0243
66 P_Rec_Update 2024-02-26T17:04:01 PCP0243
67 P_Rec_Update 2024-02-27T08:14:29 PCP0243
68 P_Rec_Update 2024-02-27T08:17:37 PCP0243
69 P_Rec_Update 2024-02-27T08:23:28 PCP0243
70 P_Rec_Update 2024-02-27T08:32:40 PCP0243
71 P_Rec_Update 2024-02-27T08:34:02 PCP0243
72 P_Rec_Update 2024-02-27T08:36:14 PCP0243
73 P_Rec_Update 2024-02-27T08:38:45 PCP0243
74 P_Rec_Update 2024-02-27T08:39:25 PCP0243
75 P_Rec_Update 2024-02-27T08:40:50 PCP0243
76 P_Rec_Update 2024-02-27T08:41:35 PCP0243
77 P_Rec_Update 2024-02-27T08:42:16 PCP0243
78 P_Rec_Update 2024-02-27T08:45:33 PCP0243
79 P_Rec_Update 2024-02-27T08:46:28 PCP0243
80 P_Rec_Update 2024-02-27T08:47:30 PCP0243
81 P_Rec_Update 2024-02-27T08:55:04 PCP0243
82 P_Rec_Update 2024-02-27T08:55:14 PCP0243
83 P_Rec_Update 2024-02-27T09:03:14 PCP0243
84 P_Rec_Update 2024-02-27T09:06:22 PCP0243
85 P_Rec_Update 2024-02-27T09:12:21 PCP0243
86 P_Rec_Update 2024-02-27T09:12:39 PCP0243
87 P_Rec_Update 2024-02-27T09:13:15 PCP0243
88 P_Rec_Update 2024-02-27T09:20:02 PCP0243
89 P_Rec_Update 2024-02-27T09:30:51 PCP0243
90 P_Rec_Update 2024-02-27T11:32:11 PCP0243
91 P_Rec_Update 2024-02-27T11:35:35 PCP0243
92 P_Rec_Update 2024-02-27T11:40:23 PCP0243
93 P_Rec_Update 2024-02-27T11:41:01 PCP0243
94 P_Rec_Update 2024-02-27T12:48:47 PCP0243
95 P_Rec_Update 2024-02-27T12:51:22 PCP0243
96 P_Rec_Update 2024-02-27T12:54:06 PCP0243
97 P_Rec_Update 2024-02-27T12:58:38 PCP0243
98 P_Rec_Update 2024-02-27T13:00:34 PCP0243
99 P_Rec_Update 2024-02-27T13:11:15 PCP0243
100 P_Rec_Update 2024-02-27T13:15:35 PCP0243
101 P_Rec_Update 2024-02-27T13:19:41 PCP0243
102 P_Rec_Update 2024-02-27T13:20:36 PCP0243
103 P_Rec_Update 2024-02-27T13:39:26 PCP0243
104 P_Rec_Update 2024-02-27T13:42:22 PCP0243
105 P_Rec_Update 2024-02-27T13:48:31 PCP0243
106 P_Rec_Update 2024-02-27T13:51:50 PCP0243
107 P_Rec_Update 2024-02-27T13:55:42 PCP0243
108 P_Rec_Update 2024-02-27T13:57:09 PCP0243
109 P_Rec_Update 2024-02-27T13:59:02 PCP0243
110 P_Rec_Update 2024-02-27T14:05:23 PCP0243
111 P_Rec_Update 2024-02-27T14:06:06 PCP0243
112 P_Rec_Update 2024-02-27T14:13:53 PCP0243
113 P_Rec_Update 2024-02-27T14:15:42 PCP0243
114 P_Rec_Update 2024-02-27T14:17:07 PCP0243
115 P_Rec_Update 2024-02-27T14:19:18 PCP0243
116 P_Rec_Update 2024-02-27T14:21:57 PCP0243
117 P_Rec_Update 2024-02-27T14:25:58 PCP0243
118 P_Rec_Update 2024-02-27T14:29:16 PCP0243
119 P_Rec_Update 2024-02-27T14:52:00 PCP0243
120 P_Rec_Update 2024-02-27T15:02:03 PCP0243
121 P_Rec_Update 2024-02-27T15:15:00 PCP0243
122 P_Rec_Update 2024-02-27T15:18:26 PCP0243
123 P_Rec_Update 2024-02-27T15:20:13 PCP0243
124 P_Rec_Update 2024-02-27T15:50:56 PCP0243
125 P_Rec_Update 2024-02-27T15:51:42 PCP0243
126 P_Rec_Update 2024-02-27T16:04:29 PCP0243
127 P_Rec_Update 2024-02-27T16:04:34 PCP0243
128 P_Rec_Update 2024-02-27T16:09:08 PCP0243
129 P_Rec_Update 2024-02-27T16:30:14 PCP0243
130 P_Rec_Update 2024-02-27T16:30:17 PCP0243
131 P_Rec_Update 2024-02-27T16:41:04 PCP0243
132 P_Rec_Update 2024-02-27T16:48:28 PCP0243
133 P_Rec_Update 2024-02-27T16:48:38 PCP0243
134 P_Rec_Update 2024-02-28T12:53:44 PCP0214
135 P_Rec_Update 2024-02-28T15:13:56 PCP0214
136 P_Rec_Update 2024-02-28T16:28:57 PHPVM05
137 P_Rec_Update 2024-02-28T17:12:36 PHPVM05
138 P_Rec_Update 2024-02-28T17:22:41 PHPVM05
139 P_Rec_Update 2024-02-28T17:26:16 PHPVM05
140 P_Rec_Update 2024-02-28T17:28:00 PHPVM05
141 P_Rec_Update 2024-02-28T17:29:44 PHPVM05
142 P_Rec_Update 2024-02-28T17:38:41 PHPVM05
143 P_Rec_Update 2024-02-28T17:54:40 PHPVM05
144 P_Rec_Update 2024-02-29T06:13:55 PCP0214
145 P_Rec_Update 2024-02-29T06:21:20 PCP0214
146 P_Rec_Update 2024-02-29T09:20:43 PHPVM05
147 P_Rec_Update 2024-02-29T09:27:01 PHPVM05
148 P_Rec_Update 2024-02-29T09:28:37 PHPVM05
149 P_Rec_Update 2024-02-29T09:36:20 PCP0243
150 P_Rec_Update 2024-02-29T09:36:44 PCP0243
151 P_Rec_Update 2024-02-29T15:43:19 PHPVM05
152 P_Rec_Update 2024-02-29T16:13:56 PHPVM05
153 P_Rec_Update 2024-02-29T16:15:27 PHPVM05
154 P_Rec_Update 2024-02-29T16:18:21 PHPVM05
155 P_Rec_Update 2024-02-29T16:33:09 PHPVM05
156 P_Rec_Update 2024-02-29T17:06:16 PHPVM05
157 P_Rec_Update 2024-03-01T07:43:18 PCP0331
158 P_Rec_Update 2024-03-01T07:48:53 PCP0331
159 P_Rec_Update 2024-03-01T08:18:53 PCP0331
160 P_Rec_Update 2024-03-01T08:48:38 PCP0331
161 P_Rec_Update 2024-03-01T11:22:33 PCP0243
162 P_Rec_Update 2024-03-01T11:23:15 PCP0243
163 P_Rec_Update 2024-03-01T11:23:53 PCP0243
164 P_Rec_Update 2024-03-01T11:25:55 PCP0243
165 P_Rec_Update 2024-03-01T11:27:41 PCP0243
166 P_Rec_Update 2024-03-01T13:17:05 PCP0316
167 P_Rec_Update 2024-03-04T13:08:22 PCP0316
168 P_Rec_Update 2024-03-05T14:58:47 PCP0316
169 P_Rec_Update 2024-03-05T15:28:50 PCP0316
170 P_Rec_Update 2024-03-05T16:15:54 PCP0243
171 P_Rec_Update 2024-03-06T09:36:40 PCP0331
172 P_Rec_Update 2024-03-06T09:46:35 PCP0331
173 P_Rec_Update 2024-03-06T10:25:39 PCP0331
174 P_Rec_Update 2024-03-06T10:50:57 PCP0323
175 P_Rec_Update 2024-03-06T11:06:15 PCP0243
176 P_Rec_Update 2024-03-06T13:07:18 PCP0323
177 P_Rec_Update 2024-03-06T14:07:52 PCP0316
178 P_Rec_Update 2024-03-06T15:32:21 PCP0323
179 P_Rec_Update 2024-03-06T15:38:01 PCP0323
180 P_Rec_Update 2024-03-06T15:40:28 PCP0331
181 P_Rec_Update 2024-03-06T15:46:00 PCP0323
182 P_Rec_Update 2024-03-09T12:38:03 PCP0334
183 P_Rec_Update 2024-03-09T13:43:29 PCP0334
184 P_Rec_Update 2024-03-09T14:09:13 PCP0334
185 P_Rec_Update 2024-03-10T13:25:30 PCP0334
186 P_Rec_Update 2024-03-11T10:54:20 PCP0214
187 P_Rec_Update 2024-03-12T11:27:01 PCP0323
188 P_Rec_Update 2024-03-15T08:29:40 PCP0245
189 P_Rec_Update 2024-03-15T15:23:55 PCP0323
190 P_Rec_Update 2024-03-18T13:08:59 PCP0334
191 P_Rec_Update 2024-03-20T08:57:12 PCP0214
192 P_Rec_Update 2024-03-22T14:34:51 PCP0245
193 P_Rec_Update 2024-03-25T14:56:11 PCP0234
194 P_Rec_Update 2024-03-25T14:58:18 PCP0234
195 P_Rec_Update 2024-03-25T15:04:42 PCP0234
196 P_Rec_Update 2024-03-25T16:15:12 PCP0234
197 P_Rec_Update 2024-03-26T16:51:48 PCP0245
198 P_Rec_Update 2024-03-26T18:25:56 PCP0208
199 P_Rec_Update 2024-03-26T19:38:16 PCP0208
200 P_Rec_Update 2024-03-26T19:41:38 PCP0208
201 P_Rec_Update 2024-03-27T10:14:31 PCP0245
202 P_Rec_Update 2024-03-28T13:10:18 PCP0241
203 P_Rec_Update 2024-03-28T13:10:43 PCP0241
204 P_Rec_Update 2024-03-28T13:11:07 PCP0241
205 P_Rec_Update 2024-03-28T17:04:03 PCP0243
206 P_Rec_Update 2024-03-28T17:04:25 PCP0243
207 P_Rec_Update 2024-03-29T07:51:17 PCP0331
208 P_Rec_Update 2024-03-29T07:56:21 PCP0243
209 P_Rec_Update 2024-03-29T08:02:36 PCP0243
210 P_Rec_Update 2024-03-29T08:03:33 PCP0331
211 P_Rec_Update 2024-03-29T11:35:34 PCP0241
212 P_Rec_Update 2024-03-29T13:20:03 PCP0234
213 P_Rec_Update 2024-03-29T13:53:10 PCP0241
214 P_Rec_Update 2024-03-29T13:58:09 PCP0241
215 P_Rec_Update 2024-04-02T15:45:54 PCP0245
216 P_Rec_Update 2024-04-02T15:49:21 PCP0245
217 P_Rec_Update 2024-04-04T10:00:30 PCP0245
218 P_Rec_Update 2024-04-05T08:56:47 PCP0245
219 P_Rec_Update 2024-04-05T09:23:31 PCP0245
220 P_Rec_Update 2024-04-05T13:50:33 PCP0243
221 P_Rec_Update 2024-04-05T13:52:57 PCP0243
222 P_Rec_Update 2024-04-05T14:53:14 PCP0331
223 P_Rec_Update 2024-04-05T14:56:39 PCP0331
224 P_Rec_Update 2024-04-06T13:25:49 PCP0334
225 P_Rec_Update 2024-04-08T12:07:17 PCP0245
226 P_Rec_Update 2024-04-08T16:13:03 PCP0243
227 P_Rec_Update 2024-04-08T16:14:47 PCP0243
228 P_Rec_Update 2024-04-11T11:47:02 PCP0243
229 P_Rec_Update 2024-04-15T20:20:35 PCP0334
230 P_Rec_Update 2024-04-15T20:33:50 PCP0334
231 P_Rec_Update 2024-04-16T18:13:03 PCP0334
232 P_Rec_Update 2024-04-18T14:18:44 PCP0245
233 P_Rec_Update 2024-04-22T11:39:16 PCP0316
234 P_Rec_Update 2024-04-22T15:13:32 PCP0243
235 P_Rec_Update 2024-04-23T09:07:50 PCP0234
236 P_Rec_Update 2024-04-23T13:05:57 PCP0234
237 P_Rec_Update 2024-04-23T14:29:51 PCP0234
238 P_Rec_Update 2024-04-23T16:39:26 PCP0234
239 P_Rec_Update 2024-04-25T08:31:32 PCP0312
240 P_Rec_Update 2024-04-25T14:15:47 PCP0346
241 P_Rec_Update 2024-04-25T16:24:25 PCP0346
242 P_Rec_Update 2024-04-25T17:23:33 PCP0346
243 P_Rec_Update 2024-04-26T12:32:52 PCP0346
244 P_Rec_Update 2024-04-26T15:15:49 PCP0346
245 P_Rec_Update 2024-04-27T09:21:22 PCP0245
246 P_Rec_Update 2024-04-27T10:01:16 PCP0245
247 P_Rec_Update 2024-05-02T16:57:12 PCP0346
248 P_Rec_Update 2024-05-03T09:15:42 PCP0346
249 P_Rec_Update 2024-05-03T10:22:16 PCP0234
250 P_Rec_Update 2024-05-03T10:22:52 PCP0234
251 P_Rec_Update 2024-05-03T10:46:19 PCP0346
252 P_Rec_Update 2024-05-03T12:54:33 PCP0346
253 P_Rec_Update 2024-05-03T14:11:00 PCP0234
254 P_Rec_Update 2024-05-03T14:33:29 PCP0332
255 P_Rec_Update 2024-05-03T14:34:06 PCP0332
256 P_Rec_Update 2024-05-03T14:46:35 PCP0332
257 P_Rec_Update 2024-05-06T09:05:14 PCP0234
258 P_Rec_Update 2024-05-06T13:41:17 PCP0234
259 P_Rec_Update 2024-05-06T13:50:14 PCP0234
260 P_Rec_Update 2024-05-06T13:59:52 PCP0316
261 P_Rec_Update 2024-05-06T14:46:47 PCP0234
262 P_Rec_Update 2024-05-07T08:29:17 PCP0245
263 P_Rec_Update 2024-05-07T10:03:13 PCP0234
264 P_Rec_Update 2024-05-07T11:15:49 PCP0245
265 P_Rec_Update 2024-05-07T13:26:59 PCP0234
266 P_Rec_Update 2024-05-07T13:35:02 PCP0234
267 P_Rec_Update 2024-05-07T14:13:23 PCP0234
268 P_Rec_Update 2024-05-07T14:25:38 PCP0234
269 P_Rec_Update 2024-05-07T14:33:27 PCP0234
270 P_Rec_Update 2024-05-08T14:40:30 PCP0245
271 P_Rec_Update 2024-05-08T14:50:03 PCP0245
272 P_Rec_Update 2024-05-08T14:56:21 PCP0234
273 P_Rec_Update 2024-05-08T14:57:29 PCP0245
274 P_Rec_Update 2024-05-08T15:09:26 PCP0234
275 P_Rec_Update 2024-05-08T15:28:37 PCP0234
276 P_Rec_Update 2024-05-09T11:10:46 PCP0334
277 P_Rec_Update 2024-05-10T13:11:24 PCP0334
278 P_Rec_Update 2024-05-13T07:52:54 PCP0234
279 P_Rec_Update 2024-05-13T08:10:26 PCP0234
280 P_Rec_Update 2024-05-14T07:48:08 PCP0316
281 P_Rec_Update 2024-05-14T10:03:12 PCP0346
282 P_Rec_Update 2024-05-14T13:27:45 PCP0312
283 P_Rec_Update 2024-05-14T13:45:36 PCP0245
284 P_Rec_Update 2024-05-14T14:28:05 PCP0332
285 P_Rec_Update 2024-05-14T15:26:11 PCP0245
286 P_Rec_Update 2024-05-14T15:34:06 PCP0312
287 P_Rec_Update 2024-05-14T16:18:44 PCP0215
288 P_Rec_Update 2024-05-14T17:04:04 PCP0245
289 P_Rec_Update 2024-05-15T09:45:47 PCP0245
290 P_Rec_Update 2024-05-15T10:29:08 PCP0234
291 P_Rec_Update 2024-05-15T11:39:16 PCP0234
292 P_Rec_Update 2024-05-15T14:01:20 PCP0346
293 P_Rec_Update 2024-05-15T14:44:17 PCP0215
294 P_Rec_Update 2024-05-15T15:02:52 PCP0245
295 P_Rec_Update 2024-05-15T18:21:48 PCP0316
296 P_Rec_Update 2024-05-16T08:49:42 PCP0346
297 P_Rec_Update 2024-05-16T11:54:08 PHPVM05
298 P_Rec_Update 2024-05-16T12:01:40 PHPVM05
299 P_Rec_Update 2024-05-16T13:44:52 PHPVM05
300 P_Rec_Update 2024-05-16T15:47:38 PCP0316
301 P_Rec_Update 2024-05-16T15:55:09 PCP0234
302 P_Rec_Update 2024-05-17T09:20:39 PCP0316
303 P_Rec_Update 2024-05-17T09:46:31 PCP0346
304 P_Rec_Update 2024-05-17T09:58:09 PCP0234
305 P_Rec_Update 2024-05-17T10:00:37 PCP0234
306 P_Rec_Update 2024-05-17T10:06:14 PHPVM05
307 P_Rec_Update 2024-05-17T10:56:50 PCP0316
308 P_Rec_Update 2024-05-17T12:46:41 PCP0312
309 P_Rec_Update 2024-05-17T15:15:18 PCP0312
310 P_Rec_Update 2024-05-19T11:23:30 PCP0334
311 P_Rec_Update 2024-05-20T09:15:30 PCP0316
312 P_Rec_Update 2024-05-20T10:20:16 PCP0316
313 P_Rec_Update 2024-05-20T11:08:50 PCP0312
314 P_Rec_Update 2024-05-20T13:24:36 PCP0234
315 P_Rec_Update 2024-05-21T08:37:29 PCP0245
316 P_Rec_Update 2024-05-21T09:21:55 PCP0234
317 P_Rec_Update 2024-05-21T09:46:01 PCP0234
318 P_Rec_Update 2024-05-21T10:31:09 PHPVM05
319 P_Rec_Update 2024-05-21T11:22:00 PHPVM05
320 P_Rec_Update 2024-05-21T18:33:36 PCP0316
321 P_Rec_Update 2024-05-22T15:18:11 PCP0245
322 P_Rec_Update 2024-05-23T09:50:28 PCP0232
323 P_Rec_Update 2024-05-24T08:32:03 PCP0312
324 P_Rec_Update 2024-05-27T09:06:31 PCP0316
325 P_Rec_Update 2024-05-27T09:15:48 PCP0316
326 P_Rec_Update 2024-05-27T09:50:50 PCP0234
327 P_Rec_Update 2024-05-27T10:18:48 PCP0214
328 P_Rec_Update 2024-05-27T10:25:03 PCP0243
329 P_Rec_Update 2024-05-27T10:26:20 PCP0243
330 P_Rec_Update 2024-05-27T10:27:12 PCP0243
331 P_Rec_Update 2024-05-27T10:32:55 PCP0243
332 P_Rec_Update 2024-05-27T10:34:25 PCP0243
333 P_Rec_Update 2024-05-27T11:00:05 PCP0243
334 P_Rec_Update 2024-05-27T11:41:50 PCP0243
335 P_Rec_Update 2024-05-27T11:43:11 PCP0234
336 P_Rec_Update 2024-05-27T11:48:13 PCP0243
337 P_Rec_Update 2024-05-27T11:48:42 PCP0243
338 P_Rec_Update 2024-05-27T11:53:12 PCP0243
339 P_Rec_Update 2024-05-27T13:20:11 PCP0332
340 P_Rec_Update 2024-05-27T13:25:29 PCP0243
341 P_Rec_Update 2024-05-27T13:27:16 PCP0243
342 P_Rec_Update 2024-05-27T13:29:25 PCP0234
343 P_Rec_Update 2024-05-27T13:47:17 PCP0243
344 P_Rec_Update 2024-05-28T06:51:16 PCP0214
345 P_Rec_Update 2024-05-28T06:52:10 PCP0214
346 P_Rec_Update 2024-05-28T08:26:37 PCP0243
347 P_Rec_Update 2024-05-28T08:57:20 PCP0332
348 P_Rec_Update 2024-05-28T11:11:08 PCP0346
349 P_Rec_Update 2024-05-28T13:16:48 PCP0332
350 P_Rec_Update 2024-05-28T14:29:16 PCP0316
351 P_Rec_Update 2024-05-28T15:28:49 PCP0346
352 P_Rec_Update 2024-05-29T08:36:49 PCP0346
353 P_Rec_Update 2024-05-29T14:48:46 PCP0214
354 P_Rec_Update 2024-05-29T15:19:40 PCP0332
355 P_Rec_Update 2024-05-29T15:52:35 PCP0316
356 P_Rec_Update 2024-05-29T15:53:32 PCP0316
357 P_Rec_Update 2024-05-30T09:49:07 PCP0332
358 P_Rec_Update 2024-05-30T15:15:01 PCP0316
359 P_Rec_Update 2024-05-30T17:23:25 PCP0316
360 P_Rec_Update 2024-05-31T03:42:04 PCP0214
361 P_Rec_Update 2024-05-31T08:05:44 PCP0334
362 P_Rec_Update 2024-05-31T14:26:43 PCP0332
363 P_Rec_Update 2024-05-31T14:30:31 PCP0245
364 P_Rec_Update 2024-05-31T15:13:13 PCP0332
365 P_Rec_Update 2024-05-31T16:08:41 PCP0316
366 P_Rec_Update 2024-06-01T18:57:09 PCP0214
367 P_Rec_Update 2024-06-01T18:58:56 PCP0214
368 P_Rec_Update 2024-06-02T07:55:19 PCP0214
369 P_Rec_Update 2024-06-02T07:56:21 PCP0214
370 P_Rec_Update 2024-06-02T08:04:11 PCP0214
371 P_Rec_Update 2024-06-02T08:14:45 PCP0214
372 P_Rec_Update 2024-06-02T08:23:39 PCP0214
373 P_Rec_Update 2024-06-02T08:26:18 PCP0214
374 P_Rec_Update 2024-06-02T08:30:43 PCP0214
375 P_Rec_Update 2024-06-02T08:34:37 PCP0214
376 P_Rec_Update 2024-06-02T16:22:03 PCP0214
377 P_Rec_Update 2024-06-02T16:22:37 PCP0214
378 P_Rec_Update 2024-06-02T16:43:03 PCP0214
379 P_Rec_Update 2024-06-05T03:53:09 PCP0214
380 P_Rec_Update 2024-06-05T11:31:08 PCP0234
381 P_Rec_Update 2024-06-05T11:54:13 PCP0234
382 P_Rec_Update 2024-06-05T11:57:13 PCP0234
383 P_Rec_Update 2024-06-05T12:55:02 PCP0234
384 P_Rec_Update 2024-06-05T13:02:52 PCP0234
385 P_Rec_Update 2024-06-05T13:09:50 PCP0234
386 P_Rec_Update 2024-06-05T13:15:38 PCP0234
387 P_Rec_Update 2024-06-05T13:29:41 PCP0234
388 P_Rec_Update 2024-06-05T13:45:38 PCP0234
389 P_Rec_Update 2024-06-05T14:34:49 PCP0234
390 P_Rec_Update 2024-06-05T15:07:59 PCP0234
391 P_Rec_Update 2024-06-05T15:15:06 PCP0234
392 P_Rec_Update 2024-06-05T15:41:55 PCP0234
393 P_Rec_Update 2024-06-06T08:32:48 PCP0234
394 P_Rec_Update 2024-06-06T08:41:49 PCP0234
395 P_Rec_Update 2024-06-06T10:21:40 PCP0312
396 P_Rec_Update 2024-06-06T11:45:58 PCP0234
397 P_Rec_Update 2024-06-06T11:52:39 PCP0312
398 P_Rec_Update 2024-06-06T12:39:33 PCP0214
399 P_Rec_Update 2024-06-06T13:13:47 PCP0234
400 P_Rec_Update 2024-06-06T16:08:26 PCP0234
401 P_Rec_Update 2024-06-06T16:44:44 PCP0234
402 P_Rec_Update 2024-06-07T10:58:00 PCP0156
403 P_Rec_Update 2024-06-07T11:18:42 PCP0241
404 P_Rec_Update 2024-06-07T11:20:12 PCP0241
405 P_Rec_Update 2024-06-07T11:21:02 PCP0241
406 P_Rec_Update 2024-06-07T14:48:41 PCP0241
407 P_Rec_Update 2024-06-08T09:06:08 PCP0334
408 P_Rec_Update 2024-06-08T09:25:25 PCP0334
409 P_Rec_Update 2024-06-11T03:46:55 PCP0214
410 P_Rec_Update 2024-06-11T08:08:48 PCP0214
411 P_Rec_Update 2024-06-11T08:39:02 PCP0312
412 P_Rec_Update 2024-06-11T08:39:24 PCP0312
413 P_Rec_Update 2024-06-11T08:52:12 PCP0312
414 P_Rec_Update 2024-06-11T08:58:35 PCP0312
415 P_Rec_Update 2024-06-11T10:19:30 PCP0312
416 P_Rec_Update 2024-06-11T11:49:48 PCP0214
417 P_Rec_Update 2024-06-11T15:29:04 PCP0312
418 P_Rec_Update 2024-06-12T11:32:55 PCP0214
419 P_Rec_Update 2024-06-12T16:05:30 PCP0245
420 P_Rec_Update 2024-06-13T03:52:21 PCP0214
421 P_Rec_Update 2024-06-13T04:14:59 PCP0214
422 P_Rec_Update 2024-06-13T09:20:25 PCP0245
423 P_Rec_Update 2024-06-13T09:42:23 PCP0312
424 P_Rec_Update 2024-06-13T11:31:37 PCP0346
425 P_Rec_Update 2024-06-13T11:35:18 PCP0346
426 P_Rec_Update 2024-06-13T11:37:46 PCP0346
427 P_Rec_Update 2024-06-13T13:57:33 PCP0245
428 P_Rec_Update 2024-06-13T15:22:51 PCP0312
429 P_Rec_Update 2024-06-14T08:24:35 PCP0331
430 P_Rec_Update 2024-06-14T10:16:04 PCP0243
431 P_Rec_Update 2024-06-14T10:17:39 PCP0245
432 P_Rec_Update 2024-06-14T13:21:59 PCP0245
433 P_Rec_Update 2024-06-14T13:22:18 PCP0243
434 P_Rec_Update 2024-06-14T13:22:57 PCP0243
435 P_Rec_Update 2024-06-14T13:23:16 PCP0243
436 P_Rec_Update 2024-06-14T13:24:02 PCP0245
437 P_Rec_Update 2024-06-14T13:24:09 PCP0245
438 P_Rec_Update 2024-06-14T13:27:26 PCP0245
439 P_Rec_Update 2024-06-14T13:27:44 PCP0243
440 P_Rec_Update 2024-06-14T13:35:05 PCP0243
441 P_Rec_Update 2024-06-14T13:39:00 PCP0243
442 P_Rec_Update 2024-06-14T13:42:11 PCP0243
443 P_Rec_Update 2024-06-14T13:44:29 PCP0243
444 P_Rec_Update 2024-06-14T13:45:59 PCP0243
445 P_Rec_Update 2024-06-14T15:19:56 PCP0346
446 P_Rec_Update 2024-06-14T15:23:10 PCP0243
447 P_Rec_Update 2024-06-17T08:19:54 PCP0346
448 P_Rec_Update 2024-06-17T08:21:10 PCP0346
449 P_Rec_Update 2024-06-17T08:47:40 PCP0214
450 P_Rec_Update 2024-06-17T14:21:00 PCP0245
451 P_Rec_Update 2024-06-18T09:29:00 PCP0245
452 P_Rec_Update 2024-06-18T09:29:29 PCP0245
453 P_Rec_Update 2024-06-18T10:32:04 PCP0332
454 P_Rec_Update 2024-06-18T11:14:49 PCP0234
455 P_Rec_Update 2024-06-18T12:50:03 PCP0245
456 P_Rec_Update 2024-06-18T14:32:25 PCP0234
457 P_Rec_Update 2024-06-18T16:10:30 PCP0346
458 P_Rec_Update 2024-06-19T08:54:07 PCP0234
459 P_Rec_Update 2024-06-19T08:57:21 PCP0234
460 P_Rec_Update 2024-06-19T09:08:28 PCP0346
461 P_Rec_Update 2024-06-19T11:25:56 PCP0346
462 P_Rec_Update 2024-06-19T14:01:19 PCP0208
463 P_Rec_Update 2024-06-19T15:17:01 PCP0316
464 P_Rec_Update 2024-06-19T19:00:08 PCP0208
465 P_Rec_Update 2024-06-20T10:52:58 PCP0346
466 P_Rec_Update 2024-06-20T13:15:03 PCP0214
467 P_Rec_Update 2024-06-20T13:49:00 PCP0214
468 P_Rec_Update 2024-06-20T23:16:40 PCP0208
469 P_Rec_Update 2024-06-21T11:35:15 PCP0316
470 P_Rec_Update 2024-06-21T13:11:14 PCP0208
471 P_Rec_Update 2024-06-21T15:08:55 PCP0208
472 P_Rec_Update 2024-06-26T13:05:10 PCP0346
473 P_Rec_Update 2024-06-26T14:08:25 PCP0346
474 P_Rec_Update 2024-06-26T14:11:10 PCP0232
475 P_Rec_Update 2024-06-26T14:37:01 PCP0232
476 P_Rec_Update 2024-06-26T15:35:51 PCP0232
477 P_Rec_Update 2024-06-27T09:38:21 PCP0345
478 P_Rec_Update 2024-06-28T09:10:41 PCP0346
479 P_Rec_Update 2024-07-01T14:21:40 PCP0312
480 P_Rec_Update 2024-07-02T14:59:11 PCP0245
481 P_Rec_Update 2024-07-03T15:41:54 PCP0332
482 P_Rec_Update 2024-07-03T16:34:54 PCP0332
483 P_Rec_Update 2024-07-03T16:35:03 PCP0332
484 P_Rec_Update 2024-07-03T17:11:38 PCP0312
485 P_Rec_Update 2024-07-04T09:21:29 PCP0245
486 P_Rec_Update 2024-07-04T11:22:59 PCP0245
487 P_Rec_Update 2024-07-04T15:25:03 PCP0245
488 P_Rec_Update 2024-07-08T16:20:34 PCP0245
489 P_Rec_Update 2024-07-08T16:51:24 PCP0245
490 P_Rec_Update 2024-07-09T09:12:53 PCP0245
491 P_Rec_Update 2024-07-09T11:08:04 PCP0245
492 P_Rec_Update 2024-07-09T12:51:22 PCP0245
493 P_Rec_Update 2024-07-09T13:10:35 PCP0245
494 P_Rec_Update 2024-07-11T05:06:53 PCP0214
495 P_Rec_Update 2024-07-11T10:32:28 PCP0214
496 P_Rec_Update 2024-07-11T10:40:04 PCP0245
497 P_Rec_Update 2024-07-11T10:54:44 PCP0346
498 P_Rec_Update 2024-07-11T11:24:28 PCP0214
499 P_Rec_Update 2024-07-11T13:55:35 PCP0214
500 P_Rec_Update 2024-07-12T10:03:12 PCP0214
501 P_Rec_Update 2024-07-12T10:23:44 PCP0214
502 P_Rec_Update 2024-07-12T10:26:25 PCP0346
503 P_Rec_Update 2024-07-12T10:32:08 PCP0214
504 P_Rec_Update 2024-07-12T10:32:41 PCP0346
505 P_Rec_Update 2024-07-12T10:51:56 PCP0346
506 P_Rec_Update 2024-07-12T13:01:21 PCP0346
507 P_Rec_Update 2024-07-12T13:09:03 PCP0234
508 P_Rec_Update 2024-07-12T13:50:04 PCP0346
509 P_Rec_Update 2024-07-15T14:05:42 PCP0312
510 P_Rec_Update 2024-07-15T14:17:24 PCP0316
511 P_Rec_Update 2024-07-15T14:39:46 PCP0346
512 P_Rec_Update 2024-07-15T14:40:27 PCP0346
513 P_Rec_Update 2024-07-15T16:08:07 PCP0316
514 P_Rec_Update 2024-07-15T16:10:18 PCP0316
515 P_Rec_Update 2024-07-15T16:11:14 PCP0316
516 P_Rec_Update 2024-07-16T10:03:24 PCP0346
517 P_Rec_Update 2024-07-16T10:33:39 PCP0346
518 P_Rec_Update 2024-07-16T12:56:26 PCP0346
519 P_Rec_Update 2024-07-16T14:48:11 PCP0234
520 P_Rec_Update 2024-07-17T12:06:56 PCP0245
521 P_Rec_Update 2024-07-17T12:58:41 PCP0312
522 P_Rec_Update 2024-07-17T13:00:34 PCP0312
523 P_Rec_Update 2024-07-17T13:26:53 PCP0208
524 P_Rec_Update 2024-07-17T13:47:54 PCP0234
525 P_Rec_Update 2024-07-17T17:27:06 PCP0234
526 P_Rec_Update 2024-07-18T08:02:45 PCP0234
527 P_Rec_Update 2024-07-18T08:08:48 PCP0346
528 P_Rec_Update 2024-07-18T09:47:34 PCP0245
529 P_Rec_Update 2024-07-18T15:26:17 PCP0245
530 P_Rec_Update 2024-07-18T16:19:49 PCP0312
531 P_Rec_Update 2024-07-19T09:24:28 PCP0241
532 P_Rec_Update 2024-07-19T11:29:49 PCP0331
533 P_Rec_Update 2024-07-22T08:52:12 PCP0245
534 P_Rec_Update 2024-07-22T08:56:46 PCP0245
535 P_Rec_Update 2024-07-22T08:57:06 PCP0245
536 P_Rec_Update 2024-07-22T09:38:36 PCP0241
537 P_Rec_Update 2024-07-22T12:14:15 PCP0245
538 P_Rec_Update 2024-07-22T13:48:18 PCP0346
539 P_Rec_Update 2024-07-22T16:09:39 PCP0245
540 P_Rec_Update 2024-07-23T08:52:57 PCP0346
541 P_Rec_Update 2024-07-25T08:45:27 PCP0214
542 P_Rec_Update 2024-07-25T14:04:56 PCP0245
543 P_Rec_Update 2024-07-25T15:58:37 PCP0334
544 P_Rec_Update 2024-07-25T16:02:40 PCP0343
545 P_Rec_Update 2024-07-26T08:46:01 PCP0332
546 P_Rec_Update 2024-07-26T12:31:10 PCP0258
547 P_Rec_Update 2024-07-26T12:37:14 PCP0258
548 P_Rec_Update 2024-07-26T13:02:26 PCP0258
549 P_Rec_Update 2024-07-26T13:16:26 PCP0258
550 P_Rec_Update 2024-07-26T13:20:02 PCP0258
551 P_Rec_Update 2024-07-26T13:56:18 PCP0208
552 P_Rec_Update 2024-07-26T14:56:09 PCP0208
553 P_Rec_Update 2024-07-26T15:58:51 PCP0334
554 P_Rec_Update 2024-07-26T16:00:50 PCP0334
555 P_Rec_Update 2024-07-29T10:57:14 PCP0346
556 P_Rec_Update 2024-07-29T11:09:32 PCP0214
557 P_Rec_Update 2024-07-29T11:39:04 PCP0258
558 P_Rec_Update 2024-07-29T12:21:56 PCP0208
559 P_Rec_Update 2024-07-30T07:44:53 PCP0346
560 P_Rec_Update 2024-07-30T13:07:00 PCP0258
561 P_Rec_Update 2024-07-30T13:16:17 PCP0258
562 P_Rec_Update 2024-07-31T11:25:22 PCP0258
563 P_Rec_Update 2024-07-31T16:19:56 PCP0346
564 P_Rec_Update 2024-07-31T18:20:08 PCP0334
565 P_Rec_Update 2024-07-31T18:23:48 PCP0334
566 P_Rec_Update 2024-08-01T10:20:56 PCP0343
567 P_Rec_Update 2024-08-01T10:22:18 PCP0343
568 P_Rec_Update 2024-08-01T10:38:11 PCP0343
569 P_Rec_Update 2024-08-01T13:10:05 PCP0343
570 P_Rec_Update 2024-08-02T10:45:35 PCP0245
571 P_Rec_Update 2024-08-02T10:53:31 PCP0346
572 P_Rec_Update 2024-08-05T06:15:25 PCP0214
573 P_Rec_Update 2024-08-05T06:58:00 PCP0214
574 P_Rec_Update 2024-08-05T08:34:12 PCP0346
575 P_Rec_Update 2024-08-05T09:51:00 PCP0214
576 P_Rec_Update 2024-08-05T12:54:28 PCP0334
577 P_Rec_Update 2024-08-05T12:57:33 PCP0334
578 P_Rec_Update 2024-08-05T17:12:39 PCP0232
579 P_Rec_Update 2024-08-05T19:25:39 PCP0232
580 P_Rec_Update 2024-08-05T19:25:58 PCP0232
581 P_Rec_Update 2024-08-05T19:29:38 PCP0205
582 P_Rec_Update 2024-08-05T19:57:34 PCP0232
583 P_Rec_Update 2024-08-06T10:35:24 PCP0343
584 P_Rec_Update 2024-08-06T12:40:23 PCP0214
585 P_Rec_Update 2024-08-06T13:20:17 PCP0208
586 P_Rec_Update 2024-08-06T14:01:17 PCP0208
587 P_Rec_Update 2024-08-06T17:37:26 PCP0334
588 P_Rec_Update 2024-08-08T13:21:18 PCP0258
589 P_Rec_Update 2024-08-08T21:18:39 PCP0208
590 P_Rec_Update 2024-08-08T21:55:36 PCP0208
591 P_Rec_Update 2024-08-08T21:55:54 PCP0208
592 P_Rec_Update 2024-08-09T09:20:34 PCP0258
593 P_Rec_Update 2024-08-12T11:52:07 PCP0343
594 P_Rec_Update 2024-08-12T11:53:31 PCP0234
595 P_Rec_Update 2024-08-12T12:54:46 PCP0343
596 P_Rec_Update 2024-08-13T09:21:00 PCP0218
597 P_Rec_Update 2024-08-13T09:36:39 PCP0218
598 P_Rec_Update 2024-08-13T11:01:28 PCP0218
599 P_Rec_Update 2024-08-13T11:45:25 PCP0245
600 P_Rec_Update 2024-08-30T10:56:47 PCP0234
601 P_Rec_Update 2024-09-06T10:52:05 PCP0332
602 P_Rec_Update 2024-09-06T13:04:59 PCP0332
603 P_Rec_Update 2024-09-06T14:32:24 PHPVM05
604 P_Rec_Update 2024-09-12T13:41:10 PCP0332
605 P_Rec_Update 2024-09-14T14:40:26 PCP0218
606 P_Rec_Update 2024-09-14T15:25:20 PCP0218
607 P_Rec_Update 2024-09-14T15:36:12 PCP0218
608 P_Rec_Update 2024-09-16T14:36:41 PHPVM05
609 P_Rec_Update 2024-09-17T09:45:05 PCP0218
610 P_Rec_Update 2024-09-17T10:14:03 PCP0218
611 P_Rec_Update 2024-09-18T12:55:16 PCP0218
612 P_Rec_Update 2024-09-18T13:50:41 PCP0218
613 P_Rec_Update 2024-09-18T16:27:19 PCP0218
614 P_Rec_Update 2024-09-18T20:31:11 PCP0241
615 P_Rec_Update 2024-09-19T07:39:51 PCP0218
616 P_Rec_Update 2024-09-19T07:57:19 PCP0241
617 P_Rec_Update 2024-09-19T13:16:16 PCP0218
618 P_Rec_Update 2024-09-19T13:27:29 PCP0218
619 P_Rec_Update 2024-09-19T14:05:56 PCP0218
620 P_Rec_Update 2024-09-19T14:20:37 PCP0218
621 P_Rec_Update 2024-09-19T15:29:58 PCP0218
622 P_Rec_Update 2024-09-19T15:45:30 PCP0218
623 P_Rec_Update 2024-09-19T15:49:35 PCP0218
624 P_Rec_Update 2024-09-20T14:28:20 PCP0331
625 P_Rec_Update 2024-09-20T14:34:14 PCP0331
626 P_Rec_Update 2024-09-23T07:38:58 PCP0218
627 P_Rec_Update 2024-09-23T07:43:01 PCP0218
628 P_Rec_Update 2024-09-23T07:45:29 PCP0218
629 P_Rec_Update 2024-09-23T08:05:05 PCP0218
630 P_Rec_Update 2024-09-23T08:43:47 PCP0218
631 P_Rec_Update 2024-09-23T16:20:38 PCP0316
632 P_Rec_Update 2024-09-25T15:55:27 PCP0316
633 P_Rec_Update 2024-09-26T08:19:46 PCP0316
634 P_Rec_Update 2024-09-26T10:53:22 PCP0316
635 P_Rec_Update 2024-09-26T15:03:37 PCP0316
636 P_Rec_Update 2024-09-26T15:34:02 PCP0316
637 P_Rec_Update 2024-09-26T15:37:04 PCP0316
638 P_Rec_Update 2024-09-30T14:55:13 PCP0218
639 P_Rec_Update 2024-10-07T08:19:28 PCP0331
640 P_Rec_Update 2024-10-07T08:21:10 PCP0331
641 P_Rec_Update 2024-10-15T08:04:44 PCP0356
642 P_Rec_Update 2024-10-15T08:31:31 PCP0356
643 P_Rec_Update 2024-10-15T08:40:26 PCP0356
644 P_Rec_Update 2024-10-15T09:06:23 PCP0356
645 P_Rec_Update 2024-10-15T09:50:03 PCP0356
646 P_Rec_Update 2024-10-15T10:00:17 PCP0356
647 P_Rec_Update 2024-10-15T10:06:55 PCP0356
648 P_Rec_Update 2024-10-15T10:47:09 PCP0356
649 P_Rec_Update 2024-10-15T10:59:57 PCP0356
650 P_Rec_Update 2024-10-15T11:06:06 PCP0356
651 P_Rec_Update 2024-10-15T11:08:03 PCP0356
652 P_Rec_Update 2024-10-15T11:14:54 PCP0356
653 P_Rec_Update 2024-10-15T11:17:40 PCP0356
654 P_Rec_Update 2024-10-15T11:21:01 PCP0356
655 P_Rec_Update 2024-10-15T11:25:48 PCP0356
656 P_Rec_Update 2024-10-29T10:05:12 PCP0345
657 P_Rec_Update 2024-10-30T11:23:48 PCP0356
658 P_Rec_Update 2024-10-31T14:13:24 PCP0238
659 P_Rec_Update 2024-10-31T16:39:04 PCP0238
660 P_Rec_Update 2024-11-02T14:00:02 PCP0356
661 P_Rec_Update 2024-11-05T15:53:36 PCP0356
662 P3DDeleteNewLineInValues 2024-01-30T15:48:15 PCP0243
663 P3DDeleteNewLineInValues 2024-01-30T15:48:22 PCP0243
664 P3DDeleteNewLineInValues 2024-01-30T15:52:12 PCP0243
665 P3DDeleteNewLineInValues 2024-01-30T15:52:18 PCP0243
666 P3DDeleteNewLineInValues 2024-01-30T15:52:34 PCP0243
667 P3DDeleteNewLineInValues 2024-01-30T15:52:40 PCP0243
668 P3DDeleteNewLineInValues 2024-01-30T15:52:46 PCP0243
@@ -0,0 +1,3 @@
"plugin_name","unique_launches","unique_computers","first_launch_timestamp","last_launch_timestamp"
"P_Rec_Update","660","24","2024-01-30T15:46:23","2024-11-05T15:53:36"
"P3DDeleteNewLineInValues","7","1","2024-01-30T15:48:15","2024-01-30T15:52:46"
1 plugin_name unique_launches unique_computers first_launch_timestamp last_launch_timestamp
2 P_Rec_Update 660 24 2024-01-30T15:46:23 2024-11-05T15:53:36
3 P3DDeleteNewLineInValues 7 1 2024-01-30T15:48:15 2024-01-30T15:52:46
@@ -0,0 +1,16 @@
# Functional inventory: Plant 3D plugin purpose
Date: 2026-07-30. Read-only source: C:\dev\autodesk\link. No EXE/DLL/ARX/DBX/LISP/PowerShell/BAT was run; no build/restore/SQL/runtime was performed.
Unique normalized families: 43. Project/module rows: 229. Raw candidate P_/P3D directories: 138.
P_Rec_Annot is a confirmed Ortho annotation/DataLinks/PnP family and is classified KEEP_REDESIGN. P_Rec_Spec contains spec/catalog helpers and SQLite-oriented programs and is classified KEEP_REDESIGN. Bolt/update families are BUG_WORKAROUND_RETEST, not deletions. Report families may overlap Data Manager/Report Creator, but field parity is not proven. Revit/Hydra/Insul integrations remain research/review items.
Status counts:
- BUG_WORKAROUND_RETEST: 5
- KEEP_REDESIGN: 27
- OFFICIAL_RESEARCH_REQUIRED: 5
- REVIEW_USAGE: 8
- UNKNOWN: 14
All classifications are static and do not approve deletion. See official-sources.md, evidence, retirement-candidates.md, migration-candidates.md, runtime-tests-required.md and unknowns.md.
@@ -0,0 +1,130 @@
"family","path","version_signal","selection","duplicate_or_history"
"P_Check_CompP3D","_v2.5\Applications\P_Check_CompP3D","v2","latest probable version not runtime validated","unknown"
"P_Check_CompP3D","_v2.5\P_Check_CompP3D","v2","latest probable version not runtime validated","unknown"
"P_Check_CompP3D","_v2.5\P_Check_CompP3D\P_Check_CompP3D","v2","latest probable version not runtime validated","unknown"
"P_Check_Pipe","_v2.5\Applications\P_Check_Pipe","v2","latest probable version not runtime validated","unknown"
"P_Check_Pipe","_v2.5\P_Check_Pipe","v2","latest probable version not runtime validated","unknown"
"P_Check_Pipe","_v2.5\P_Check_Pipe\P_Check_Pipe","v2","latest probable version not runtime validated","unknown"
"P_Check_Project","_v2.5\Applications\P_Check_Project","v2","latest probable version not runtime validated","unknown"
"P_Check_Project","_v2.5\P_Check_Project","v2","latest probable version not runtime validated","unknown"
"P_Check_Project","_v2.5\P_Check_Project\P_Check_Project","v2","latest probable version not runtime validated","unknown"
"P_Exp_EquipToRevit","P_Exp_EquipToRevit","none","latest probable version not runtime validated","unknown"
"P_Exp_To5DSmeta","P_Exp_To5DSmeta","none","latest probable version not runtime validated","unknown"
"P_Exp_ToHydra","_v2.5\Applications\P_Exp_ToHydra","v2","latest probable version not runtime validated","unknown"
"P_Exp_ToHydra","_v2.5\P_Exp_ToHydra","v2","latest probable version not runtime validated","unknown"
"P_Exp_ToHydra","_v2.5\P_Exp_ToHydra\P_Exp_ToHydra","v2","latest probable version not runtime validated","unknown"
"P_Exp_ToInsul","_v2.5\P_Exp_ToInsul","v2","latest probable version not runtime validated","unknown"
"P_Exp_ToInsul","_v2.5\P_Exp_ToInsul\info\prev\P_Exp_ToInsul","v2","latest probable version not runtime validated","possible"
"P_Exp_ToInsul","_v2.5\P_Exp_ToInsul\repo\P_Exp_ToInsul","v2","latest probable version not runtime validated","unknown"
"P_Exp_ToRevit_MS","_v2.5\Applications\P_Exp_ToRevit_MS","v2","latest probable version not runtime validated","unknown"
"P_Exp_ToRevit_MS","_v2.5\P_Exp_ToRevit_MS","v2","latest probable version not runtime validated","unknown"
"P_Exp_ToRevit_MS","_v2.5\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS","v2","latest probable version not runtime validated","unknown"
"P_Exp_ToRevit_MS","P_Exp_ToRevit_MS","none","latest probable version not runtime validated","unknown"
"P_Exp_ToRevit_MS","P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0","none","latest probable version not runtime validated","unknown"
"P_Exp_ToRevit_MS","P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0\P_Exp_ToRevit_MS","none","latest probable version not runtime validated","unknown"
"P_Exp_ToStart","_v2.5\P_Exp_ToStart","v2","latest probable version not runtime validated","unknown"
"P_Exp_ToStart","_v2.5\P_Exp_ToStart\P_Exp_ToStart","v2","latest probable version not runtime validated","unknown"
"P_Imp_FromPTH","_v2.5\Applications\P_Imp_FromPTH","v2","latest probable version not runtime validated","unknown"
"P_Imp_FromPTH","_v2.5\P_Imp_FromPTH","v2","latest probable version not runtime validated","unknown"
"P_Imp_FromPTH","_v2.5\P_Imp_FromPTH\P_Imp_FromPTH","v2","latest probable version not runtime validated","unknown"
"P_Rec_Annot","_v2.5\Applications\P_Rec_Annot","v2","latest probable version not runtime validated","unknown"
"P_Rec_Annot","_v2.5\P_Rec_Annot","v2","latest probable version not runtime validated","unknown"
"P_Rec_Annot","P_Rec_Annot","none","latest probable version not runtime validated","unknown"
"P_Rec_Annot","P_Rec_Annot\v1.0.2.6\P_Rec_Annot v1.0.2","v1","latest probable version not runtime validated","unknown"
"P_Rec_Annot","P_Rec_Annot\v1.0.2\release\P_Rec_Annot v1.0.2","v1","latest probable version not runtime validated","possible"
"P_Rec_Annot","P_Rec_Annot\v1.0.4\release\P_Rec_Annot v1.0.4.2","v1","latest probable version not runtime validated","possible"
"P_Rec_BOP","_v2.5\P_Rec_BOP (old)","v2","latest probable version not runtime validated","possible"
"P_Rec_BOP","_v2.5\P_Rec_BOP (old)\P_Rec_BOP","v2","latest probable version not runtime validated","possible"
"P_Rec_BOP","P_Rec_BOP","none","latest probable version not runtime validated","unknown"
"P_Rec_BOP","P_Rec_BOP\repo\P_Rec_BOP","repo","latest probable version not runtime validated","unknown"
"P_Rec_Brac","_v2.5\Applications\P_Rec_Brac","v2","latest probable version not runtime validated","unknown"
"P_Rec_Brac","_v2.5\P_Rec_Brac","v2","latest probable version not runtime validated","unknown"
"P_Rec_Brac","_v2.5\P_Rec_Brac\P_Rec_Brac","v2","latest probable version not runtime validated","unknown"
"P_Rec_Color","_v2.5\P_Rec_Color","v2","latest probable version not runtime validated","unknown"
"P_Rec_PipelineList","P_Rec_PipelineList","none","latest probable version not runtime validated","unknown"
"P_Rec_Print","_v2.5\Applications\P_Rec_Print","v2","latest probable version not runtime validated","unknown"
"P_Rec_Print","_v2.5\P_Rec_Print","v2","latest probable version not runtime validated","unknown"
"P_Rec_Print","_v2.5\P_Rec_Print\P_Rec_Print","v2","latest probable version not runtime validated","unknown"
"P_Rec_Spec","_v2.5\P_Rec_Spec","v2","latest probable version not runtime validated","unknown"
"P_Rec_TextDoc","_v2.5\P_Rec_TextDoc","v2","latest probable version not runtime validated","unknown"
"P_Rec_TextDoc","_v2.5\P_Rec_TextDoc\P_Rec_TextDoc","v2","latest probable version not runtime validated","unknown"
"P_Rec_Update","_v2.1\P_Rec_Update","v2","latest probable version not runtime validated","unknown"
"P_Rec_Update","_v2.1\P_Rec_Update\P_Rec_Update","v2","latest probable version not runtime validated","unknown"
"P_Rec_Update","P_Rec_Update","none","latest probable version not runtime validated","unknown"
"P_Rec_Update","P_Rec_Update\P_Rec_Update","none","latest probable version not runtime validated","unknown"
"P_Serv_ActualizeProjectBySpec","_v3.0\P_Serv_ActualizeProjectBySpec","v3","latest probable version not runtime validated","unknown"
"P_Serv_ActualizeProjectBySpec","_v3.0\P_Serv_ActualizeProjectBySpec\releases\P_Serv_ActualizeProjectBySpec v.0.100.0","v3","latest probable version not runtime validated","possible"
"P_Serv_ActualizeProjectBySpec","_v3.0\P_Serv_ActualizeProjectBySpec\repo\P_Serv_ActualizeProjectBySpec","v3","latest probable version not runtime validated","unknown"
"P_Serv_CompP3D","_v2.5\Applications\P_Serv_CompP3D","v2","latest probable version not runtime validated","unknown"
"P_Serv_CompP3D","_v2.5\P_Serv_CompP3D","v2","latest probable version not runtime validated","unknown"
"P_Serv_CompP3D","_v2.5\P_Serv_CompP3D\P_Serv_CompP3D","v2","latest probable version not runtime validated","unknown"
"P_Serv_CreateLineGroupAnnotationText","P_Serv_CreateLineGroupAnnotationText","none","latest probable version not runtime validated","unknown"
"P_Serv_CreateLineGroupAnnotationText","P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText","none","latest probable version not runtime validated","unknown"
"P_Serv_CreateLineGroupAnnotationText","P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText","none","latest probable version not runtime validated","unknown"
"P_Serv_Master","_v2.5\P_Serv_Master","v2","latest probable version not runtime validated","unknown"
"P_Serv_Master","_v2.5\P_Serv_Master\P_Serv_Master","v2","latest probable version not runtime validated","unknown"
"P_Serv_OpenProject","P_Serv_OpenProject","none","latest probable version not runtime validated","unknown"
"P_Serv_Starter","P_Serv_Starter","none","latest probable version not runtime validated","unknown"
"P_Serv_UpdateLinearWeight","_v3.0\P_Serv_UpdateLinearWeight","v3","latest probable version not runtime validated","unknown"
"P_Serv_UpdateLinearWeight","_v3.0\P_Serv_UpdateLinearWeight\releases\P_Serv_UpdateLinearWeight v.0.100.0","v3","latest probable version not runtime validated","possible"
"P_Serv_UpdateLinearWeight","_v3.0\P_Serv_UpdateLinearWeight\repo\P_Serv_UpdateLinearWeight","v3","latest probable version not runtime validated","unknown"
"P_Serv_UpSpecs","_v2.5\P_Serv_UpSpecs","v2","latest probable version not runtime validated","unknown"
"P_Serv_UpSpecs","_v2.5\P_Serv_UpSpecs\P_Serv_UpSpecs","v2","latest probable version not runtime validated","unknown"
"P_Task_MO07","_v2.5\Applications\P_Task_MO07","v2","latest probable version not runtime validated","unknown"
"P_Task_MO07","_v2.5\P_Task_MO07","v2","latest probable version not runtime validated","unknown"
"P_Task_MO07","_v2.5\P_Task_MO07\P_Task_MO07","v2","latest probable version not runtime validated","unknown"
"P3DCheckProject","_v2.0\P3DCheckProject","v2","latest probable version not runtime validated","unknown"
"P3DCheckProject","_v2.0\P3DCheckProject\P3DCheckProject","v2","latest probable version not runtime validated","unknown"
"P3DCheckProject","_v2.0\P3DCheckProject\P3DCheckProject\P3DCheckProject","v2","latest probable version not runtime validated","unknown"
"P3DCommands","_v2.0\P3DCommands","v2","latest probable version not runtime validated","unknown"
"P3DCommands","_v2.0\P3DCommands\P3DCommands","v2","latest probable version not runtime validated","unknown"
"P3DCommands","_v2.0\P3DCommands\P3DCommands\P3DCommands","v2","latest probable version not runtime validated","unknown"
"P3DCommands","_v2.5\Applications\P3DCommands v.0.0.1","v2","latest probable version not runtime validated","unknown"
"P3DCommands","_v2.5\P3DCommands","v2","latest probable version not runtime validated","unknown"
"P3DCommands","_v2.5\P3DCommands\P3DCommands","v2","latest probable version not runtime validated","unknown"
"P3DCommands","_v2.5\P3DCommands\P3DCommands\P3DCommands","v2","latest probable version not runtime validated","unknown"
"P3DCorrectBoltsetLengths","P3DCorrectBoltsetLengths","none","latest probable version not runtime validated","unknown"
"P3DCorrectBoltsetLengths","P3DCorrectBoltsetLengths\old\P3DCorrectBoltsetLengths","old","latest probable version not runtime validated","possible"
"P3DCorrectBoltsetLengths","P3DCorrectBoltsetLengths\repo\P3DCorrectBoltsetLengths","repo","latest probable version not runtime validated","unknown"
"P3DCreateIsoBOM","_v2.5\Applications\P3DCreateIsoBOM v.0.0.4","v2","latest probable version not runtime validated","unknown"
"P3DDeleteNewLineInValues","_v2.0\P3DDeleteNewLineInValues","v2","latest probable version not runtime validated","unknown"
"P3DDeleteNewLineInValues","_v2.0\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues","v2","latest probable version not runtime validated","unknown"
"P3DDeleteNewLineInValues","_v2.0\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues","v2","latest probable version not runtime validated","unknown"
"P3DDeleteNewLineInValues","_v2.5\P3DDeleteNewLineInValues","v2","latest probable version not runtime validated","unknown"
"P3DDeleteNewLineInValues","_v2.5\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues","v2","latest probable version not runtime validated","unknown"
"P3DEnumerateSupports","_v2.0\P3DEnumerateSupports","v2","latest probable version not runtime validated","unknown"
"P3DEnumerateSupports","_v2.0\P3DEnumerateSupports\P3DEnumerateSupports","v2","latest probable version not runtime validated","unknown"
"P3DEnumerateSupports","_v2.0\P3DEnumerateSupports\P3DEnumerateSupports\P3DEnumerateSupports","v2","latest probable version not runtime validated","unknown"
"P3DGetBoltsetReport","P3DGetBoltsetReport","Repo","latest probable version not runtime validated","unknown"
"P3DGetBoltsetReport","P3DGetBoltsetReport\P3DGetBoltsetReport","Repo","latest probable version not runtime validated","unknown"
"P3DGetPnPId","_v2.0\P3DGetPnPId","v2","latest probable version not runtime validated","unknown"
"P3DGetPnPId","_v2.0\P3DGetPnPId\P3DGetPnPId","v2","latest probable version not runtime validated","unknown"
"P3DGetPnPId","_v2.0\P3DGetPnPId\P3DGetPnPId\P3DGetPnPId","v2","latest probable version not runtime validated","unknown"
"P3DGetReportNew","_v2.0\Отчет элементов по линиям\P3DGetReportNew","v2","latest probable version not runtime validated","unknown"
"P3DGetReportNew","_v2.0\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew","v2","latest probable version not runtime validated","unknown"
"P3DGetReportNew","_v2.5\Отчет элементов по линиям\P3DGetReportNew","v2","latest probable version not runtime validated","unknown"
"P3DGetReportNew","_v2.5\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew","v2","latest probable version not runtime validated","unknown"
"P3DPlotToPdfIsoMasterfile","_v2.0\P3DPlotToPdfIsoMasterfile","v2","latest probable version not runtime validated","unknown"
"P3DPlotToPdfIsoMasterfile","_v2.0\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile","v2","latest probable version not runtime validated","unknown"
"P3DPlotToPdfIsoMasterfile","_v2.0\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile","v2","latest probable version not runtime validated","unknown"
"P3DSelectComponents","_v2.0\P3DSelectComponents","v2","latest probable version not runtime validated","unknown"
"P3DSelectComponents","_v2.0\P3DSelectComponents\P3DSelectComponents","v2","latest probable version not runtime validated","unknown"
"P3DSelectComponents","_v2.0\P3DSelectComponents\P3DSelectComponents\P3DSelectComponents","v2","latest probable version not runtime validated","unknown"
"P3DSetLayerForViewport","_v2.0\OrthoTools.2019\P3DSetLayerForViewport","v2","latest probable version not runtime validated","unknown"
"P3DSetLayerForViewport","_v2.0\OrthoTools.2019\P3DSetLayerForViewport\P3DSetLayerForViewport","v2","latest probable version not runtime validated","unknown"
"P3DUpdateFixedPipeLengths","_v2.0\P3DUpdateFixedPipeLengths","v2","latest probable version not runtime validated","unknown"
"P3DUpdateFixedPipeLengths","_v2.5\Applications\P3DUpdateFixedPipeLengths v.0.0.4","v2","latest probable version not runtime validated","unknown"
"P3DUpdateFixedPipeLengths","_v2.5\P3DUpdateFixedPipeLengths","v2","latest probable version not runtime validated","unknown"
"P3DUpdateFixedPipeLengths","_v2.5\P3DUpdateFixedPipeLengths\P3DUpdateFixedPipeLengths","v2","latest probable version not runtime validated","unknown"
"P3DUpdateFlanges","_v2.0\P3DUpdateFlanges","v2","latest probable version not runtime validated","unknown"
"P3DUpdateFlanges","_v2.0\P3DUpdateFlanges\P3DUpdateFlanges","v2","latest probable version not runtime validated","unknown"
"P3DUpdateFlanges","_v2.5\Applications\P3DUpdateFlanges v.0.0.8","v2","latest probable version not runtime validated","unknown"
"P3DUpdateFlanges","_v2.5\P3DUpdateFlanges","v2","latest probable version not runtime validated","unknown"
"P3DUpdateFlanges","_v2.5\P3DUpdateFlanges\_prev v.0.0.8\P3DUpdateFlanges","v2","latest probable version not runtime validated","possible"
"P3DUpdateFlanges","_v2.5\P3DUpdateFlanges\releases\P3DUpdateFlanges v.0.0.11","v2","latest probable version not runtime validated","possible"
"P3DUpdateFlanges","_v2.5\P3DUpdateFlanges\repo\P3DUpdateFlanges","v2","latest probable version not runtime validated","unknown"
"P3DUpdateValves","_v2.0\P3DUpdateValves","v2","latest probable version not runtime validated","unknown"
"P3DUpdateValves","_v2.0\P3DUpdateValves\P3DUpdateValves","v2","latest probable version not runtime validated","unknown"
"P3DUpdateValves","_v2.5\Applications\P3DUpdateValves v.0.0.3","v2","latest probable version not runtime validated","unknown"
"P3DUpdateValves","_v2.5\P3DUpdateValves","v2","latest probable version not runtime validated","unknown"
"P3DUpdateValves","_v2.5\P3DUpdateValves\P3DUpdateValves","v2","latest probable version not runtime validated","unknown"
1 family path version_signal selection duplicate_or_history
2 P_Check_CompP3D _v2.5\Applications\P_Check_CompP3D v2 latest probable version not runtime validated unknown
3 P_Check_CompP3D _v2.5\P_Check_CompP3D v2 latest probable version not runtime validated unknown
4 P_Check_CompP3D _v2.5\P_Check_CompP3D\P_Check_CompP3D v2 latest probable version not runtime validated unknown
5 P_Check_Pipe _v2.5\Applications\P_Check_Pipe v2 latest probable version not runtime validated unknown
6 P_Check_Pipe _v2.5\P_Check_Pipe v2 latest probable version not runtime validated unknown
7 P_Check_Pipe _v2.5\P_Check_Pipe\P_Check_Pipe v2 latest probable version not runtime validated unknown
8 P_Check_Project _v2.5\Applications\P_Check_Project v2 latest probable version not runtime validated unknown
9 P_Check_Project _v2.5\P_Check_Project v2 latest probable version not runtime validated unknown
10 P_Check_Project _v2.5\P_Check_Project\P_Check_Project v2 latest probable version not runtime validated unknown
11 P_Exp_EquipToRevit P_Exp_EquipToRevit none latest probable version not runtime validated unknown
12 P_Exp_To5DSmeta P_Exp_To5DSmeta none latest probable version not runtime validated unknown
13 P_Exp_ToHydra _v2.5\Applications\P_Exp_ToHydra v2 latest probable version not runtime validated unknown
14 P_Exp_ToHydra _v2.5\P_Exp_ToHydra v2 latest probable version not runtime validated unknown
15 P_Exp_ToHydra _v2.5\P_Exp_ToHydra\P_Exp_ToHydra v2 latest probable version not runtime validated unknown
16 P_Exp_ToInsul _v2.5\P_Exp_ToInsul v2 latest probable version not runtime validated unknown
17 P_Exp_ToInsul _v2.5\P_Exp_ToInsul\info\prev\P_Exp_ToInsul v2 latest probable version not runtime validated possible
18 P_Exp_ToInsul _v2.5\P_Exp_ToInsul\repo\P_Exp_ToInsul v2 latest probable version not runtime validated unknown
19 P_Exp_ToRevit_MS _v2.5\Applications\P_Exp_ToRevit_MS v2 latest probable version not runtime validated unknown
20 P_Exp_ToRevit_MS _v2.5\P_Exp_ToRevit_MS v2 latest probable version not runtime validated unknown
21 P_Exp_ToRevit_MS _v2.5\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v2 latest probable version not runtime validated unknown
22 P_Exp_ToRevit_MS P_Exp_ToRevit_MS none latest probable version not runtime validated unknown
23 P_Exp_ToRevit_MS P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0 none latest probable version not runtime validated unknown
24 P_Exp_ToRevit_MS P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0\P_Exp_ToRevit_MS none latest probable version not runtime validated unknown
25 P_Exp_ToStart _v2.5\P_Exp_ToStart v2 latest probable version not runtime validated unknown
26 P_Exp_ToStart _v2.5\P_Exp_ToStart\P_Exp_ToStart v2 latest probable version not runtime validated unknown
27 P_Imp_FromPTH _v2.5\Applications\P_Imp_FromPTH v2 latest probable version not runtime validated unknown
28 P_Imp_FromPTH _v2.5\P_Imp_FromPTH v2 latest probable version not runtime validated unknown
29 P_Imp_FromPTH _v2.5\P_Imp_FromPTH\P_Imp_FromPTH v2 latest probable version not runtime validated unknown
30 P_Rec_Annot _v2.5\Applications\P_Rec_Annot v2 latest probable version not runtime validated unknown
31 P_Rec_Annot _v2.5\P_Rec_Annot v2 latest probable version not runtime validated unknown
32 P_Rec_Annot P_Rec_Annot none latest probable version not runtime validated unknown
33 P_Rec_Annot P_Rec_Annot\v1.0.2.6\P_Rec_Annot v1.0.2 v1 latest probable version not runtime validated unknown
34 P_Rec_Annot P_Rec_Annot\v1.0.2\release\P_Rec_Annot v1.0.2 v1 latest probable version not runtime validated possible
35 P_Rec_Annot P_Rec_Annot\v1.0.4\release\P_Rec_Annot v1.0.4.2 v1 latest probable version not runtime validated possible
36 P_Rec_BOP _v2.5\P_Rec_BOP (old) v2 latest probable version not runtime validated possible
37 P_Rec_BOP _v2.5\P_Rec_BOP (old)\P_Rec_BOP v2 latest probable version not runtime validated possible
38 P_Rec_BOP P_Rec_BOP none latest probable version not runtime validated unknown
39 P_Rec_BOP P_Rec_BOP\repo\P_Rec_BOP repo latest probable version not runtime validated unknown
40 P_Rec_Brac _v2.5\Applications\P_Rec_Brac v2 latest probable version not runtime validated unknown
41 P_Rec_Brac _v2.5\P_Rec_Brac v2 latest probable version not runtime validated unknown
42 P_Rec_Brac _v2.5\P_Rec_Brac\P_Rec_Brac v2 latest probable version not runtime validated unknown
43 P_Rec_Color _v2.5\P_Rec_Color v2 latest probable version not runtime validated unknown
44 P_Rec_PipelineList P_Rec_PipelineList none latest probable version not runtime validated unknown
45 P_Rec_Print _v2.5\Applications\P_Rec_Print v2 latest probable version not runtime validated unknown
46 P_Rec_Print _v2.5\P_Rec_Print v2 latest probable version not runtime validated unknown
47 P_Rec_Print _v2.5\P_Rec_Print\P_Rec_Print v2 latest probable version not runtime validated unknown
48 P_Rec_Spec _v2.5\P_Rec_Spec v2 latest probable version not runtime validated unknown
49 P_Rec_TextDoc _v2.5\P_Rec_TextDoc v2 latest probable version not runtime validated unknown
50 P_Rec_TextDoc _v2.5\P_Rec_TextDoc\P_Rec_TextDoc v2 latest probable version not runtime validated unknown
51 P_Rec_Update _v2.1\P_Rec_Update v2 latest probable version not runtime validated unknown
52 P_Rec_Update _v2.1\P_Rec_Update\P_Rec_Update v2 latest probable version not runtime validated unknown
53 P_Rec_Update P_Rec_Update none latest probable version not runtime validated unknown
54 P_Rec_Update P_Rec_Update\P_Rec_Update none latest probable version not runtime validated unknown
55 P_Serv_ActualizeProjectBySpec _v3.0\P_Serv_ActualizeProjectBySpec v3 latest probable version not runtime validated unknown
56 P_Serv_ActualizeProjectBySpec _v3.0\P_Serv_ActualizeProjectBySpec\releases\P_Serv_ActualizeProjectBySpec v.0.100.0 v3 latest probable version not runtime validated possible
57 P_Serv_ActualizeProjectBySpec _v3.0\P_Serv_ActualizeProjectBySpec\repo\P_Serv_ActualizeProjectBySpec v3 latest probable version not runtime validated unknown
58 P_Serv_CompP3D _v2.5\Applications\P_Serv_CompP3D v2 latest probable version not runtime validated unknown
59 P_Serv_CompP3D _v2.5\P_Serv_CompP3D v2 latest probable version not runtime validated unknown
60 P_Serv_CompP3D _v2.5\P_Serv_CompP3D\P_Serv_CompP3D v2 latest probable version not runtime validated unknown
61 P_Serv_CreateLineGroupAnnotationText P_Serv_CreateLineGroupAnnotationText none latest probable version not runtime validated unknown
62 P_Serv_CreateLineGroupAnnotationText P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText none latest probable version not runtime validated unknown
63 P_Serv_CreateLineGroupAnnotationText P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText none latest probable version not runtime validated unknown
64 P_Serv_Master _v2.5\P_Serv_Master v2 latest probable version not runtime validated unknown
65 P_Serv_Master _v2.5\P_Serv_Master\P_Serv_Master v2 latest probable version not runtime validated unknown
66 P_Serv_OpenProject P_Serv_OpenProject none latest probable version not runtime validated unknown
67 P_Serv_Starter P_Serv_Starter none latest probable version not runtime validated unknown
68 P_Serv_UpdateLinearWeight _v3.0\P_Serv_UpdateLinearWeight v3 latest probable version not runtime validated unknown
69 P_Serv_UpdateLinearWeight _v3.0\P_Serv_UpdateLinearWeight\releases\P_Serv_UpdateLinearWeight v.0.100.0 v3 latest probable version not runtime validated possible
70 P_Serv_UpdateLinearWeight _v3.0\P_Serv_UpdateLinearWeight\repo\P_Serv_UpdateLinearWeight v3 latest probable version not runtime validated unknown
71 P_Serv_UpSpecs _v2.5\P_Serv_UpSpecs v2 latest probable version not runtime validated unknown
72 P_Serv_UpSpecs _v2.5\P_Serv_UpSpecs\P_Serv_UpSpecs v2 latest probable version not runtime validated unknown
73 P_Task_MO07 _v2.5\Applications\P_Task_MO07 v2 latest probable version not runtime validated unknown
74 P_Task_MO07 _v2.5\P_Task_MO07 v2 latest probable version not runtime validated unknown
75 P_Task_MO07 _v2.5\P_Task_MO07\P_Task_MO07 v2 latest probable version not runtime validated unknown
76 P3DCheckProject _v2.0\P3DCheckProject v2 latest probable version not runtime validated unknown
77 P3DCheckProject _v2.0\P3DCheckProject\P3DCheckProject v2 latest probable version not runtime validated unknown
78 P3DCheckProject _v2.0\P3DCheckProject\P3DCheckProject\P3DCheckProject v2 latest probable version not runtime validated unknown
79 P3DCommands _v2.0\P3DCommands v2 latest probable version not runtime validated unknown
80 P3DCommands _v2.0\P3DCommands\P3DCommands v2 latest probable version not runtime validated unknown
81 P3DCommands _v2.0\P3DCommands\P3DCommands\P3DCommands v2 latest probable version not runtime validated unknown
82 P3DCommands _v2.5\Applications\P3DCommands v.0.0.1 v2 latest probable version not runtime validated unknown
83 P3DCommands _v2.5\P3DCommands v2 latest probable version not runtime validated unknown
84 P3DCommands _v2.5\P3DCommands\P3DCommands v2 latest probable version not runtime validated unknown
85 P3DCommands _v2.5\P3DCommands\P3DCommands\P3DCommands v2 latest probable version not runtime validated unknown
86 P3DCorrectBoltsetLengths P3DCorrectBoltsetLengths none latest probable version not runtime validated unknown
87 P3DCorrectBoltsetLengths P3DCorrectBoltsetLengths\old\P3DCorrectBoltsetLengths old latest probable version not runtime validated possible
88 P3DCorrectBoltsetLengths P3DCorrectBoltsetLengths\repo\P3DCorrectBoltsetLengths repo latest probable version not runtime validated unknown
89 P3DCreateIsoBOM _v2.5\Applications\P3DCreateIsoBOM v.0.0.4 v2 latest probable version not runtime validated unknown
90 P3DDeleteNewLineInValues _v2.0\P3DDeleteNewLineInValues v2 latest probable version not runtime validated unknown
91 P3DDeleteNewLineInValues _v2.0\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues v2 latest probable version not runtime validated unknown
92 P3DDeleteNewLineInValues _v2.0\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues v2 latest probable version not runtime validated unknown
93 P3DDeleteNewLineInValues _v2.5\P3DDeleteNewLineInValues v2 latest probable version not runtime validated unknown
94 P3DDeleteNewLineInValues _v2.5\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues v2 latest probable version not runtime validated unknown
95 P3DEnumerateSupports _v2.0\P3DEnumerateSupports v2 latest probable version not runtime validated unknown
96 P3DEnumerateSupports _v2.0\P3DEnumerateSupports\P3DEnumerateSupports v2 latest probable version not runtime validated unknown
97 P3DEnumerateSupports _v2.0\P3DEnumerateSupports\P3DEnumerateSupports\P3DEnumerateSupports v2 latest probable version not runtime validated unknown
98 P3DGetBoltsetReport P3DGetBoltsetReport Repo latest probable version not runtime validated unknown
99 P3DGetBoltsetReport P3DGetBoltsetReport\P3DGetBoltsetReport Repo latest probable version not runtime validated unknown
100 P3DGetPnPId _v2.0\P3DGetPnPId v2 latest probable version not runtime validated unknown
101 P3DGetPnPId _v2.0\P3DGetPnPId\P3DGetPnPId v2 latest probable version not runtime validated unknown
102 P3DGetPnPId _v2.0\P3DGetPnPId\P3DGetPnPId\P3DGetPnPId v2 latest probable version not runtime validated unknown
103 P3DGetReportNew _v2.0\Отчет элементов по линиям\P3DGetReportNew v2 latest probable version not runtime validated unknown
104 P3DGetReportNew _v2.0\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew v2 latest probable version not runtime validated unknown
105 P3DGetReportNew _v2.5\Отчет элементов по линиям\P3DGetReportNew v2 latest probable version not runtime validated unknown
106 P3DGetReportNew _v2.5\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew v2 latest probable version not runtime validated unknown
107 P3DPlotToPdfIsoMasterfile _v2.0\P3DPlotToPdfIsoMasterfile v2 latest probable version not runtime validated unknown
108 P3DPlotToPdfIsoMasterfile _v2.0\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile v2 latest probable version not runtime validated unknown
109 P3DPlotToPdfIsoMasterfile _v2.0\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile v2 latest probable version not runtime validated unknown
110 P3DSelectComponents _v2.0\P3DSelectComponents v2 latest probable version not runtime validated unknown
111 P3DSelectComponents _v2.0\P3DSelectComponents\P3DSelectComponents v2 latest probable version not runtime validated unknown
112 P3DSelectComponents _v2.0\P3DSelectComponents\P3DSelectComponents\P3DSelectComponents v2 latest probable version not runtime validated unknown
113 P3DSetLayerForViewport _v2.0\OrthoTools.2019\P3DSetLayerForViewport v2 latest probable version not runtime validated unknown
114 P3DSetLayerForViewport _v2.0\OrthoTools.2019\P3DSetLayerForViewport\P3DSetLayerForViewport v2 latest probable version not runtime validated unknown
115 P3DUpdateFixedPipeLengths _v2.0\P3DUpdateFixedPipeLengths v2 latest probable version not runtime validated unknown
116 P3DUpdateFixedPipeLengths _v2.5\Applications\P3DUpdateFixedPipeLengths v.0.0.4 v2 latest probable version not runtime validated unknown
117 P3DUpdateFixedPipeLengths _v2.5\P3DUpdateFixedPipeLengths v2 latest probable version not runtime validated unknown
118 P3DUpdateFixedPipeLengths _v2.5\P3DUpdateFixedPipeLengths\P3DUpdateFixedPipeLengths v2 latest probable version not runtime validated unknown
119 P3DUpdateFlanges _v2.0\P3DUpdateFlanges v2 latest probable version not runtime validated unknown
120 P3DUpdateFlanges _v2.0\P3DUpdateFlanges\P3DUpdateFlanges v2 latest probable version not runtime validated unknown
121 P3DUpdateFlanges _v2.5\Applications\P3DUpdateFlanges v.0.0.8 v2 latest probable version not runtime validated unknown
122 P3DUpdateFlanges _v2.5\P3DUpdateFlanges v2 latest probable version not runtime validated unknown
123 P3DUpdateFlanges _v2.5\P3DUpdateFlanges\_prev v.0.0.8\P3DUpdateFlanges v2 latest probable version not runtime validated possible
124 P3DUpdateFlanges _v2.5\P3DUpdateFlanges\releases\P3DUpdateFlanges v.0.0.11 v2 latest probable version not runtime validated possible
125 P3DUpdateFlanges _v2.5\P3DUpdateFlanges\repo\P3DUpdateFlanges v2 latest probable version not runtime validated unknown
126 P3DUpdateValves _v2.0\P3DUpdateValves v2 latest probable version not runtime validated unknown
127 P3DUpdateValves _v2.0\P3DUpdateValves\P3DUpdateValves v2 latest probable version not runtime validated unknown
128 P3DUpdateValves _v2.5\Applications\P3DUpdateValves v.0.0.3 v2 latest probable version not runtime validated unknown
129 P3DUpdateValves _v2.5\P3DUpdateValves v2 latest probable version not runtime validated unknown
130 P3DUpdateValves _v2.5\P3DUpdateValves\P3DUpdateValves v2 latest probable version not runtime validated unknown
File diff suppressed because it is too large Load Diff
@@ -0,0 +1 @@
Generated 2026-07-30T11:10:31
@@ -0,0 +1,7 @@
# Migration candidates
Highest priority redesign/port: P_Rec_Annot, P_Rec_Update, P_Serv_ActualizeProjectBySpec, P_Serv_UpdateLinearWeight, P_Serv_CompP3D, P_Rec_Spec and P_Imp_FromPTH.
Targeted port/retest: P3DCorrectBoltsetLengths, P3DUpdateFixedPipeLengths, P3DUpdateFlanges, P3DUpdateValves, P3DDeleteNewLineInValues, P3DCommands and P3DEnumerateSupports.
Architecture review: P_Exp_EquipToRevit, P_Exp_ToRevit_MS, P_Exp_ToHydra, P_Exp_ToInsul and P_Exp_To5DSmeta.
@@ -0,0 +1,5 @@
# Official research required
Official sources confirm Ortho generation/update, annotation styles, Spec/Catalog Editor, calculated properties, bolt length mapping and Data Manager/Report Creator. They do not establish one-to-one replacements for corporate Hydra/Insul/Revit schemas, direct PnP/SQLite repair tools or every batch operation.
Verify API compatibility of each referenced PnP/Ortho assembly, supported bolt repair automation, exact export schemas and supported batch annotation APIs.
@@ -0,0 +1,13 @@
# Official Autodesk sources used
- https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-WhatsNew/files/GUID-384C71E7-9012-48B1-95B2-D4C42EBCF423.htm (What's New 2026/2026.1)
- https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-WhatsNew/files/GUID-1D0F9938-E23A-4870-A4AB-E544701D20CB.htm (Spec Editor redesign)
- https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-ReleaseNotes/files/AUTOCAD_PLNT3D_2026_RELEASE_NOTES.html (release notes)
- https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-UserGuide/files/GUID-EEDF2AA7-B50B-484B-B47F-B48986A51C3D.htm (update multiple Ortho drawings)
- https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-UserGuide/files/GUID-DAD70DC1-32F2-45E4-8685-0C574EF31299.htm (Ortho annotations)
- https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-UserGuide/files/GUID-6D5E3975-53AA-4495-B727-BBB2B599B464.htm (annotation format/project setup)
- https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-UserGuide/files/GUID-E0A54B13-5318-418B-B274-4D02673EC2ED.htm (calculated properties)
- https://help.autodesk.com/view/PLNT3D/2026/ENU/?guid=GUID-6EF131FA-E852-4B8C-A21E-E2B2ED1016AC (Data Manager/Report Creator)
- https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-UserGuide/files/GUID-7C60418E-3A86-47E0-ABED-1E5BB2F5C48A.htm (bolt length mapping)
- https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-UserGuide/files/GUID-B82D8701-7101-428E-A475-7B093A36DF01.htm (piping connections/fasteners)
- https://help.autodesk.com/cloudhelp/2026/ENU/Plant3D-SpecEditor/files/GUID-0B871505-A498-42C0-AAA7-B83A244CE5C4.htm (spec creation)
@@ -0,0 +1,5 @@
# Plugin dependency graph
Plant 3D/AutoCAD host -> custom loader or NETLOAD/APPLOAD workflow (runtime not confirmed) -> P_Rec_Annot Ortho modules -> Plant DataLinks/PnPDatabase/ProjectManager/Ortho assemblies. P_Rec_Update/P_Serv/P_Rec_Spec -> Plant managed API and/or SQLite/CSV/XML/Excel. P3D bolt/update/report families -> Plant PnP/spec/catalog/report data. P_Exp_* -> Revit/Navisworks/corporate outputs.
Edges are static from project references and source markers; no DLL was loaded.
@@ -0,0 +1,130 @@
"family","path","is_root_candidate"
"P_Check_CompP3D","_v2.5\Applications\P_Check_CompP3D","yes"
"P_Check_CompP3D","_v2.5\P_Check_CompP3D","yes"
"P_Check_CompP3D","_v2.5\P_Check_CompP3D\P_Check_CompP3D","yes"
"P_Check_Pipe","_v2.5\Applications\P_Check_Pipe","yes"
"P_Check_Pipe","_v2.5\P_Check_Pipe","yes"
"P_Check_Pipe","_v2.5\P_Check_Pipe\P_Check_Pipe","yes"
"P_Check_Project","_v2.5\Applications\P_Check_Project","yes"
"P_Check_Project","_v2.5\P_Check_Project","yes"
"P_Check_Project","_v2.5\P_Check_Project\P_Check_Project","yes"
"P_Exp_EquipToRevit","P_Exp_EquipToRevit","yes"
"P_Exp_To5DSmeta","P_Exp_To5DSmeta","yes"
"P_Exp_ToHydra","_v2.5\Applications\P_Exp_ToHydra","yes"
"P_Exp_ToHydra","_v2.5\P_Exp_ToHydra","yes"
"P_Exp_ToHydra","_v2.5\P_Exp_ToHydra\P_Exp_ToHydra","yes"
"P_Exp_ToInsul","_v2.5\P_Exp_ToInsul","yes"
"P_Exp_ToInsul","_v2.5\P_Exp_ToInsul\info\prev\P_Exp_ToInsul","yes"
"P_Exp_ToInsul","_v2.5\P_Exp_ToInsul\repo\P_Exp_ToInsul","yes"
"P_Exp_ToRevit_MS","_v2.5\Applications\P_Exp_ToRevit_MS","yes"
"P_Exp_ToRevit_MS","_v2.5\P_Exp_ToRevit_MS","yes"
"P_Exp_ToRevit_MS","_v2.5\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS","yes"
"P_Exp_ToRevit_MS","P_Exp_ToRevit_MS","yes"
"P_Exp_ToRevit_MS","P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0","yes"
"P_Exp_ToRevit_MS","P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0\P_Exp_ToRevit_MS","yes"
"P_Exp_ToStart","_v2.5\P_Exp_ToStart","yes"
"P_Exp_ToStart","_v2.5\P_Exp_ToStart\P_Exp_ToStart","yes"
"P_Imp_FromPTH","_v2.5\Applications\P_Imp_FromPTH","yes"
"P_Imp_FromPTH","_v2.5\P_Imp_FromPTH","yes"
"P_Imp_FromPTH","_v2.5\P_Imp_FromPTH\P_Imp_FromPTH","yes"
"P_Rec_Annot","_v2.5\Applications\P_Rec_Annot","yes"
"P_Rec_Annot","_v2.5\P_Rec_Annot","yes"
"P_Rec_Annot","P_Rec_Annot","yes"
"P_Rec_Annot","P_Rec_Annot\v1.0.2.6\P_Rec_Annot v1.0.2","yes"
"P_Rec_Annot","P_Rec_Annot\v1.0.2\release\P_Rec_Annot v1.0.2","yes"
"P_Rec_Annot","P_Rec_Annot\v1.0.4\release\P_Rec_Annot v1.0.4.2","yes"
"P_Rec_BOP","_v2.5\P_Rec_BOP (old)","yes"
"P_Rec_BOP","_v2.5\P_Rec_BOP (old)\P_Rec_BOP","yes"
"P_Rec_BOP","P_Rec_BOP","yes"
"P_Rec_BOP","P_Rec_BOP\repo\P_Rec_BOP","yes"
"P_Rec_Brac","_v2.5\Applications\P_Rec_Brac","yes"
"P_Rec_Brac","_v2.5\P_Rec_Brac","yes"
"P_Rec_Brac","_v2.5\P_Rec_Brac\P_Rec_Brac","yes"
"P_Rec_Color","_v2.5\P_Rec_Color","yes"
"P_Rec_PipelineList","P_Rec_PipelineList","yes"
"P_Rec_Print","_v2.5\Applications\P_Rec_Print","yes"
"P_Rec_Print","_v2.5\P_Rec_Print","yes"
"P_Rec_Print","_v2.5\P_Rec_Print\P_Rec_Print","yes"
"P_Rec_Spec","_v2.5\P_Rec_Spec","yes"
"P_Rec_TextDoc","_v2.5\P_Rec_TextDoc","yes"
"P_Rec_TextDoc","_v2.5\P_Rec_TextDoc\P_Rec_TextDoc","yes"
"P_Rec_Update","_v2.1\P_Rec_Update","yes"
"P_Rec_Update","_v2.1\P_Rec_Update\P_Rec_Update","yes"
"P_Rec_Update","P_Rec_Update","yes"
"P_Rec_Update","P_Rec_Update\P_Rec_Update","yes"
"P_Serv_ActualizeProjectBySpec","_v3.0\P_Serv_ActualizeProjectBySpec","yes"
"P_Serv_ActualizeProjectBySpec","_v3.0\P_Serv_ActualizeProjectBySpec\releases\P_Serv_ActualizeProjectBySpec v.0.100.0","yes"
"P_Serv_ActualizeProjectBySpec","_v3.0\P_Serv_ActualizeProjectBySpec\repo\P_Serv_ActualizeProjectBySpec","yes"
"P_Serv_CompP3D","_v2.5\Applications\P_Serv_CompP3D","yes"
"P_Serv_CompP3D","_v2.5\P_Serv_CompP3D","yes"
"P_Serv_CompP3D","_v2.5\P_Serv_CompP3D\P_Serv_CompP3D","yes"
"P_Serv_CreateLineGroupAnnotationText","P_Serv_CreateLineGroupAnnotationText","yes"
"P_Serv_CreateLineGroupAnnotationText","P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText","yes"
"P_Serv_CreateLineGroupAnnotationText","P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText","yes"
"P_Serv_Master","_v2.5\P_Serv_Master","yes"
"P_Serv_Master","_v2.5\P_Serv_Master\P_Serv_Master","yes"
"P_Serv_OpenProject","P_Serv_OpenProject","yes"
"P_Serv_Starter","P_Serv_Starter","yes"
"P_Serv_UpdateLinearWeight","_v3.0\P_Serv_UpdateLinearWeight","yes"
"P_Serv_UpdateLinearWeight","_v3.0\P_Serv_UpdateLinearWeight\releases\P_Serv_UpdateLinearWeight v.0.100.0","yes"
"P_Serv_UpdateLinearWeight","_v3.0\P_Serv_UpdateLinearWeight\repo\P_Serv_UpdateLinearWeight","yes"
"P_Serv_UpSpecs","_v2.5\P_Serv_UpSpecs","yes"
"P_Serv_UpSpecs","_v2.5\P_Serv_UpSpecs\P_Serv_UpSpecs","yes"
"P_Task_MO07","_v2.5\Applications\P_Task_MO07","yes"
"P_Task_MO07","_v2.5\P_Task_MO07","yes"
"P_Task_MO07","_v2.5\P_Task_MO07\P_Task_MO07","yes"
"P3DCheckProject","_v2.0\P3DCheckProject","yes"
"P3DCheckProject","_v2.0\P3DCheckProject\P3DCheckProject","yes"
"P3DCheckProject","_v2.0\P3DCheckProject\P3DCheckProject\P3DCheckProject","yes"
"P3DCommands","_v2.0\P3DCommands","yes"
"P3DCommands","_v2.0\P3DCommands\P3DCommands","yes"
"P3DCommands","_v2.0\P3DCommands\P3DCommands\P3DCommands","yes"
"P3DCommands","_v2.5\Applications\P3DCommands v.0.0.1","yes"
"P3DCommands","_v2.5\P3DCommands","yes"
"P3DCommands","_v2.5\P3DCommands\P3DCommands","yes"
"P3DCommands","_v2.5\P3DCommands\P3DCommands\P3DCommands","yes"
"P3DCorrectBoltsetLengths","P3DCorrectBoltsetLengths","yes"
"P3DCorrectBoltsetLengths","P3DCorrectBoltsetLengths\old\P3DCorrectBoltsetLengths","yes"
"P3DCorrectBoltsetLengths","P3DCorrectBoltsetLengths\repo\P3DCorrectBoltsetLengths","yes"
"P3DCreateIsoBOM","_v2.5\Applications\P3DCreateIsoBOM v.0.0.4","yes"
"P3DDeleteNewLineInValues","_v2.0\P3DDeleteNewLineInValues","yes"
"P3DDeleteNewLineInValues","_v2.0\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues","yes"
"P3DDeleteNewLineInValues","_v2.0\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues","yes"
"P3DDeleteNewLineInValues","_v2.5\P3DDeleteNewLineInValues","yes"
"P3DDeleteNewLineInValues","_v2.5\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues","yes"
"P3DEnumerateSupports","_v2.0\P3DEnumerateSupports","yes"
"P3DEnumerateSupports","_v2.0\P3DEnumerateSupports\P3DEnumerateSupports","yes"
"P3DEnumerateSupports","_v2.0\P3DEnumerateSupports\P3DEnumerateSupports\P3DEnumerateSupports","yes"
"P3DGetBoltsetReport","P3DGetBoltsetReport","yes"
"P3DGetBoltsetReport","P3DGetBoltsetReport\P3DGetBoltsetReport","yes"
"P3DGetPnPId","_v2.0\P3DGetPnPId","yes"
"P3DGetPnPId","_v2.0\P3DGetPnPId\P3DGetPnPId","yes"
"P3DGetPnPId","_v2.0\P3DGetPnPId\P3DGetPnPId\P3DGetPnPId","yes"
"P3DGetReportNew","_v2.0\Отчет элементов по линиям\P3DGetReportNew","yes"
"P3DGetReportNew","_v2.0\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew","yes"
"P3DGetReportNew","_v2.5\Отчет элементов по линиям\P3DGetReportNew","yes"
"P3DGetReportNew","_v2.5\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew","yes"
"P3DPlotToPdfIsoMasterfile","_v2.0\P3DPlotToPdfIsoMasterfile","yes"
"P3DPlotToPdfIsoMasterfile","_v2.0\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile","yes"
"P3DPlotToPdfIsoMasterfile","_v2.0\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile","yes"
"P3DSelectComponents","_v2.0\P3DSelectComponents","yes"
"P3DSelectComponents","_v2.0\P3DSelectComponents\P3DSelectComponents","yes"
"P3DSelectComponents","_v2.0\P3DSelectComponents\P3DSelectComponents\P3DSelectComponents","yes"
"P3DSetLayerForViewport","_v2.0\OrthoTools.2019\P3DSetLayerForViewport","yes"
"P3DSetLayerForViewport","_v2.0\OrthoTools.2019\P3DSetLayerForViewport\P3DSetLayerForViewport","yes"
"P3DUpdateFixedPipeLengths","_v2.0\P3DUpdateFixedPipeLengths","yes"
"P3DUpdateFixedPipeLengths","_v2.5\Applications\P3DUpdateFixedPipeLengths v.0.0.4","yes"
"P3DUpdateFixedPipeLengths","_v2.5\P3DUpdateFixedPipeLengths","yes"
"P3DUpdateFixedPipeLengths","_v2.5\P3DUpdateFixedPipeLengths\P3DUpdateFixedPipeLengths","yes"
"P3DUpdateFlanges","_v2.0\P3DUpdateFlanges","yes"
"P3DUpdateFlanges","_v2.0\P3DUpdateFlanges\P3DUpdateFlanges","yes"
"P3DUpdateFlanges","_v2.5\Applications\P3DUpdateFlanges v.0.0.8","yes"
"P3DUpdateFlanges","_v2.5\P3DUpdateFlanges","yes"
"P3DUpdateFlanges","_v2.5\P3DUpdateFlanges\_prev v.0.0.8\P3DUpdateFlanges","yes"
"P3DUpdateFlanges","_v2.5\P3DUpdateFlanges\releases\P3DUpdateFlanges v.0.0.11","yes"
"P3DUpdateFlanges","_v2.5\P3DUpdateFlanges\repo\P3DUpdateFlanges","yes"
"P3DUpdateValves","_v2.0\P3DUpdateValves","yes"
"P3DUpdateValves","_v2.0\P3DUpdateValves\P3DUpdateValves","yes"
"P3DUpdateValves","_v2.5\Applications\P3DUpdateValves v.0.0.3","yes"
"P3DUpdateValves","_v2.5\P3DUpdateValves","yes"
"P3DUpdateValves","_v2.5\P3DUpdateValves\P3DUpdateValves","yes"
1 family path is_root_candidate
2 P_Check_CompP3D _v2.5\Applications\P_Check_CompP3D yes
3 P_Check_CompP3D _v2.5\P_Check_CompP3D yes
4 P_Check_CompP3D _v2.5\P_Check_CompP3D\P_Check_CompP3D yes
5 P_Check_Pipe _v2.5\Applications\P_Check_Pipe yes
6 P_Check_Pipe _v2.5\P_Check_Pipe yes
7 P_Check_Pipe _v2.5\P_Check_Pipe\P_Check_Pipe yes
8 P_Check_Project _v2.5\Applications\P_Check_Project yes
9 P_Check_Project _v2.5\P_Check_Project yes
10 P_Check_Project _v2.5\P_Check_Project\P_Check_Project yes
11 P_Exp_EquipToRevit P_Exp_EquipToRevit yes
12 P_Exp_To5DSmeta P_Exp_To5DSmeta yes
13 P_Exp_ToHydra _v2.5\Applications\P_Exp_ToHydra yes
14 P_Exp_ToHydra _v2.5\P_Exp_ToHydra yes
15 P_Exp_ToHydra _v2.5\P_Exp_ToHydra\P_Exp_ToHydra yes
16 P_Exp_ToInsul _v2.5\P_Exp_ToInsul yes
17 P_Exp_ToInsul _v2.5\P_Exp_ToInsul\info\prev\P_Exp_ToInsul yes
18 P_Exp_ToInsul _v2.5\P_Exp_ToInsul\repo\P_Exp_ToInsul yes
19 P_Exp_ToRevit_MS _v2.5\Applications\P_Exp_ToRevit_MS yes
20 P_Exp_ToRevit_MS _v2.5\P_Exp_ToRevit_MS yes
21 P_Exp_ToRevit_MS _v2.5\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS yes
22 P_Exp_ToRevit_MS P_Exp_ToRevit_MS yes
23 P_Exp_ToRevit_MS P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0 yes
24 P_Exp_ToRevit_MS P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0\P_Exp_ToRevit_MS yes
25 P_Exp_ToStart _v2.5\P_Exp_ToStart yes
26 P_Exp_ToStart _v2.5\P_Exp_ToStart\P_Exp_ToStart yes
27 P_Imp_FromPTH _v2.5\Applications\P_Imp_FromPTH yes
28 P_Imp_FromPTH _v2.5\P_Imp_FromPTH yes
29 P_Imp_FromPTH _v2.5\P_Imp_FromPTH\P_Imp_FromPTH yes
30 P_Rec_Annot _v2.5\Applications\P_Rec_Annot yes
31 P_Rec_Annot _v2.5\P_Rec_Annot yes
32 P_Rec_Annot P_Rec_Annot yes
33 P_Rec_Annot P_Rec_Annot\v1.0.2.6\P_Rec_Annot v1.0.2 yes
34 P_Rec_Annot P_Rec_Annot\v1.0.2\release\P_Rec_Annot v1.0.2 yes
35 P_Rec_Annot P_Rec_Annot\v1.0.4\release\P_Rec_Annot v1.0.4.2 yes
36 P_Rec_BOP _v2.5\P_Rec_BOP (old) yes
37 P_Rec_BOP _v2.5\P_Rec_BOP (old)\P_Rec_BOP yes
38 P_Rec_BOP P_Rec_BOP yes
39 P_Rec_BOP P_Rec_BOP\repo\P_Rec_BOP yes
40 P_Rec_Brac _v2.5\Applications\P_Rec_Brac yes
41 P_Rec_Brac _v2.5\P_Rec_Brac yes
42 P_Rec_Brac _v2.5\P_Rec_Brac\P_Rec_Brac yes
43 P_Rec_Color _v2.5\P_Rec_Color yes
44 P_Rec_PipelineList P_Rec_PipelineList yes
45 P_Rec_Print _v2.5\Applications\P_Rec_Print yes
46 P_Rec_Print _v2.5\P_Rec_Print yes
47 P_Rec_Print _v2.5\P_Rec_Print\P_Rec_Print yes
48 P_Rec_Spec _v2.5\P_Rec_Spec yes
49 P_Rec_TextDoc _v2.5\P_Rec_TextDoc yes
50 P_Rec_TextDoc _v2.5\P_Rec_TextDoc\P_Rec_TextDoc yes
51 P_Rec_Update _v2.1\P_Rec_Update yes
52 P_Rec_Update _v2.1\P_Rec_Update\P_Rec_Update yes
53 P_Rec_Update P_Rec_Update yes
54 P_Rec_Update P_Rec_Update\P_Rec_Update yes
55 P_Serv_ActualizeProjectBySpec _v3.0\P_Serv_ActualizeProjectBySpec yes
56 P_Serv_ActualizeProjectBySpec _v3.0\P_Serv_ActualizeProjectBySpec\releases\P_Serv_ActualizeProjectBySpec v.0.100.0 yes
57 P_Serv_ActualizeProjectBySpec _v3.0\P_Serv_ActualizeProjectBySpec\repo\P_Serv_ActualizeProjectBySpec yes
58 P_Serv_CompP3D _v2.5\Applications\P_Serv_CompP3D yes
59 P_Serv_CompP3D _v2.5\P_Serv_CompP3D yes
60 P_Serv_CompP3D _v2.5\P_Serv_CompP3D\P_Serv_CompP3D yes
61 P_Serv_CreateLineGroupAnnotationText P_Serv_CreateLineGroupAnnotationText yes
62 P_Serv_CreateLineGroupAnnotationText P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText yes
63 P_Serv_CreateLineGroupAnnotationText P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText yes
64 P_Serv_Master _v2.5\P_Serv_Master yes
65 P_Serv_Master _v2.5\P_Serv_Master\P_Serv_Master yes
66 P_Serv_OpenProject P_Serv_OpenProject yes
67 P_Serv_Starter P_Serv_Starter yes
68 P_Serv_UpdateLinearWeight _v3.0\P_Serv_UpdateLinearWeight yes
69 P_Serv_UpdateLinearWeight _v3.0\P_Serv_UpdateLinearWeight\releases\P_Serv_UpdateLinearWeight v.0.100.0 yes
70 P_Serv_UpdateLinearWeight _v3.0\P_Serv_UpdateLinearWeight\repo\P_Serv_UpdateLinearWeight yes
71 P_Serv_UpSpecs _v2.5\P_Serv_UpSpecs yes
72 P_Serv_UpSpecs _v2.5\P_Serv_UpSpecs\P_Serv_UpSpecs yes
73 P_Task_MO07 _v2.5\Applications\P_Task_MO07 yes
74 P_Task_MO07 _v2.5\P_Task_MO07 yes
75 P_Task_MO07 _v2.5\P_Task_MO07\P_Task_MO07 yes
76 P3DCheckProject _v2.0\P3DCheckProject yes
77 P3DCheckProject _v2.0\P3DCheckProject\P3DCheckProject yes
78 P3DCheckProject _v2.0\P3DCheckProject\P3DCheckProject\P3DCheckProject yes
79 P3DCommands _v2.0\P3DCommands yes
80 P3DCommands _v2.0\P3DCommands\P3DCommands yes
81 P3DCommands _v2.0\P3DCommands\P3DCommands\P3DCommands yes
82 P3DCommands _v2.5\Applications\P3DCommands v.0.0.1 yes
83 P3DCommands _v2.5\P3DCommands yes
84 P3DCommands _v2.5\P3DCommands\P3DCommands yes
85 P3DCommands _v2.5\P3DCommands\P3DCommands\P3DCommands yes
86 P3DCorrectBoltsetLengths P3DCorrectBoltsetLengths yes
87 P3DCorrectBoltsetLengths P3DCorrectBoltsetLengths\old\P3DCorrectBoltsetLengths yes
88 P3DCorrectBoltsetLengths P3DCorrectBoltsetLengths\repo\P3DCorrectBoltsetLengths yes
89 P3DCreateIsoBOM _v2.5\Applications\P3DCreateIsoBOM v.0.0.4 yes
90 P3DDeleteNewLineInValues _v2.0\P3DDeleteNewLineInValues yes
91 P3DDeleteNewLineInValues _v2.0\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues yes
92 P3DDeleteNewLineInValues _v2.0\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues yes
93 P3DDeleteNewLineInValues _v2.5\P3DDeleteNewLineInValues yes
94 P3DDeleteNewLineInValues _v2.5\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues yes
95 P3DEnumerateSupports _v2.0\P3DEnumerateSupports yes
96 P3DEnumerateSupports _v2.0\P3DEnumerateSupports\P3DEnumerateSupports yes
97 P3DEnumerateSupports _v2.0\P3DEnumerateSupports\P3DEnumerateSupports\P3DEnumerateSupports yes
98 P3DGetBoltsetReport P3DGetBoltsetReport yes
99 P3DGetBoltsetReport P3DGetBoltsetReport\P3DGetBoltsetReport yes
100 P3DGetPnPId _v2.0\P3DGetPnPId yes
101 P3DGetPnPId _v2.0\P3DGetPnPId\P3DGetPnPId yes
102 P3DGetPnPId _v2.0\P3DGetPnPId\P3DGetPnPId\P3DGetPnPId yes
103 P3DGetReportNew _v2.0\Отчет элементов по линиям\P3DGetReportNew yes
104 P3DGetReportNew _v2.0\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew yes
105 P3DGetReportNew _v2.5\Отчет элементов по линиям\P3DGetReportNew yes
106 P3DGetReportNew _v2.5\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew yes
107 P3DPlotToPdfIsoMasterfile _v2.0\P3DPlotToPdfIsoMasterfile yes
108 P3DPlotToPdfIsoMasterfile _v2.0\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile yes
109 P3DPlotToPdfIsoMasterfile _v2.0\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile yes
110 P3DSelectComponents _v2.0\P3DSelectComponents yes
111 P3DSelectComponents _v2.0\P3DSelectComponents\P3DSelectComponents yes
112 P3DSelectComponents _v2.0\P3DSelectComponents\P3DSelectComponents\P3DSelectComponents yes
113 P3DSetLayerForViewport _v2.0\OrthoTools.2019\P3DSetLayerForViewport yes
114 P3DSetLayerForViewport _v2.0\OrthoTools.2019\P3DSetLayerForViewport\P3DSetLayerForViewport yes
115 P3DUpdateFixedPipeLengths _v2.0\P3DUpdateFixedPipeLengths yes
116 P3DUpdateFixedPipeLengths _v2.5\Applications\P3DUpdateFixedPipeLengths v.0.0.4 yes
117 P3DUpdateFixedPipeLengths _v2.5\P3DUpdateFixedPipeLengths yes
118 P3DUpdateFixedPipeLengths _v2.5\P3DUpdateFixedPipeLengths\P3DUpdateFixedPipeLengths yes
119 P3DUpdateFlanges _v2.0\P3DUpdateFlanges yes
120 P3DUpdateFlanges _v2.0\P3DUpdateFlanges\P3DUpdateFlanges yes
121 P3DUpdateFlanges _v2.5\Applications\P3DUpdateFlanges v.0.0.8 yes
122 P3DUpdateFlanges _v2.5\P3DUpdateFlanges yes
123 P3DUpdateFlanges _v2.5\P3DUpdateFlanges\_prev v.0.0.8\P3DUpdateFlanges yes
124 P3DUpdateFlanges _v2.5\P3DUpdateFlanges\releases\P3DUpdateFlanges v.0.0.11 yes
125 P3DUpdateFlanges _v2.5\P3DUpdateFlanges\repo\P3DUpdateFlanges yes
126 P3DUpdateValves _v2.0\P3DUpdateValves yes
127 P3DUpdateValves _v2.0\P3DUpdateValves\P3DUpdateValves yes
128 P3DUpdateValves _v2.5\Applications\P3DUpdateValves v.0.0.3 yes
129 P3DUpdateValves _v2.5\P3DUpdateValves yes
130 P3DUpdateValves _v2.5\P3DUpdateValves\P3DUpdateValves yes
@@ -0,0 +1,230 @@
"family","module","source_path","target_framework","platform_target","output_type","assembly_name","references","autodesk_refs","sqlite","com","source_present"
"P_Check_CompP3D","P_Check_CompP3D","_v2.5\P_Check_CompP3D\P_Check_CompP3D\P_Check_CompP3D.csproj","v4.7",,"Library","P_Check_CompP3D","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Windows.Forms|Microsoft.CSharp|System.XML|","acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","possible","yes"
"P_Check_Pipe","P_Check_Pipe","_v2.5\P_Check_Pipe\P_Check_Pipe\P_Check_Pipe.csproj","v4.7","x86","Library","P_Check_Pipe","|accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|System|System.Data|System.Drawing|System.Windows.Forms|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Check_Project","P3DCheckProject","_v2.5\P_Check_Project\P_Check_Project\P3DCheckProject.csproj","v4.7",,"Library","P_Check_Project","accoremgd|acdbmgd|acmgd|EnablerLoader|HelpDesk|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Exp_ToHydra","P_Exp_ToHydra","_v2.5\P_Exp_ToHydra\P_Exp_ToHydra\P_Exp_ToHydra.csproj","v4.7","x64","Library","P_Exp_ToHydra","accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|||","acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Exp_ToInsul","ExportToInsulation","_v2.5\P_Exp_ToInsul\info\prev\P_Exp_ToInsul\ExportToInsulation.csproj","v4.7","x86","Exe","P_Exp_ToInsul","|Excel|PresentationCore|PresentationFramework|System|System.Data|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Drawing|System.Windows.Forms|System.Xaml|System.XML|System.Xml.Linq|TaskDialog|WindowsBase|||","","yes","possible","yes"
"P_Exp_ToInsul","ExportToInsulation","_v2.5\P_Exp_ToInsul\repo\P_Exp_ToInsul\ExportToInsulation.csproj","v4.7","x86","Exe","P_Exp_ToInsul","|Excel, Version=2.1.0.0, Culture=neutral, PublicKeyToken=93517dbe6a4012fa, processorArchitecture=MSIL|PresentationCore|PresentationFramework|System|System.Data|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Drawing|System.Windows.Forms|System.Xaml|System.XML|System.Xml.Linq|TaskDialog, Version=1.0.4372.18283, Culture=neutral, processorArchitecture=MSIL|WindowsBase||||","","yes","possible","yes"
"P_Exp_ToRevit_MS","P_Exp_ToRevit_MS","_v2.5\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS.csproj","v4.7",,"Library","P_Exp_ToRevit_MS","accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|PnPProjectManagerMgd","yes","not observed","yes"
"P_Exp_ToRevit_MS","P_Exp_ToRevit_MS","P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS.csproj","v4.8","x64","Library","P_Exp_ToRevit_MS","accoremgd|acdbmgd|acmgd|AdWindows|PnPProjectManagerMgd|PresentationCore|PresentationFramework|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|WindowsBase|||","acmgd|PnPProjectManagerMgd","yes","not observed","yes"
"P_Exp_ToRevit_MS","p2r","_v2.5\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS\Old\p2r.csproj","v4.7.2",,"Library","p2r","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common","yes","possible","yes"
"P_Exp_ToRevit_MS","p2r","_v2.5\P_Exp_ToRevit_MS\versions\01 v1.0.0.0\p2r\Old\p2r.csproj","v4.7.2",,"Library","p2r","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common","yes","possible","yes"
"P_Exp_ToRevit_MS","p2r","_v2.5\P_Exp_ToRevit_MS\versions\01 v1.0.0.0\p2r\p2r.csproj","v4.7.2",,"Library","p2r","accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|PnPProjectManagerMgd","yes","not observed","yes"
"P_Exp_ToRevit_MS","p2r","_v2.5\P_Exp_ToRevit_MS\versions\v1.0.0.1\p2r\Old\p2r.csproj","v4.7.2",,"Library","p2r","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common","yes","possible","yes"
"P_Exp_ToRevit_MS","p2r","_v2.5\P_Exp_ToRevit_MS\versions\v1.0.0.1\p2r\p2r.csproj","v4.7.2",,"Library","p2r","accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|PnPProjectManagerMgd","yes","not observed","yes"
"P_Exp_ToRevit_MS","p2r","_v2.5\P_Exp_ToRevit_MS\versions\v1.0.0.2\p2r\Old\p2r.csproj","v4.7.2",,"Library","p2r","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common","yes","possible","yes"
"P_Exp_ToRevit_MS","p2r","_v2.5\P_Exp_ToRevit_MS\versions\v1.0.0.2\p2r\p2r.csproj","v4.7.2",,"Library","p2r","accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|PnPProjectManagerMgd","yes","not observed","yes"
"P_Exp_ToRevit_MS","p2r","P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0\P_Exp_ToRevit_MS\Old\p2r.csproj","v4.7.2",,"Library","p2r","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common","yes","possible","yes"
"P_Exp_ToStart","P_Exp_ToStart","_v2.5\P_Exp_ToStart\P_Exp_ToStart\P_Exp_ToStart.csproj","v4.7","x64","Library","P_Exp_ToStart","accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|||","acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Imp_FromPTH","P_Imp_FromPTH","_v2.5\P_Imp_FromPTH\P_Imp_FromPTH\P_Imp_FromPTH.csproj","v4.7",,"Library","P_Imp_FromPTH","accoremgd|acdbmgd|Excel|PnP3dPipeUI|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|PresentationFramework|System|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|System.Data|System.Xml|WindowsBase||","PnP3dPipeUI|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","AnnotateLineNumbers","_v2.5\P_Rec_Annot\2019_AnnotateLineNumbers\2019_AnnotateLineNumbers\AnnotateLineNumbers.csproj","v4.7",,"Library","AnnotateLineNumbers","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|GetLinenumberAnnotationText, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DSetLayerForViewport, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","AnnotateLineNumbers","P_Rec_Annot\v1.0.2\repo\AnnotateLineNumbers\AnnotateLineNumbers.csproj","v4.7","x64","Library","AnnotateLineNumbers","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|EnablerLoader|GetLinenumberAnnotationText|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||||","acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","AnnotateLineNumbers","P_Rec_Annot\v1.0.4\repo\AnnotateLineNumbers\AnnotateLineNumbers.csproj","v4.7","x64","Library","AnnotateLineNumbers","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|EnablerLoader|GetLinenumberAnnotationText|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||||","acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","AutoAnnotateView","_v2.5\P_Rec_Annot\2019_AutoAnnotateView\2019_AutoAnnotateView\AutoAnnotateView.csproj","v4.7",,"Library","AutoAnnotateView","accoremgd|acdbmgd|acmgd|CheckOrthoView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|ExtentsIntersect, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DSetLayerForViewport, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","AutoAnnotateView","P_Rec_Annot\v1.0.2\repo\AutoAnnotateView\AutoAnnotateView.csproj","v4.7","AnyCPU","Library","AutoAnnotateView","accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|ExtentsIntersect|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","AutoAnnotateView","P_Rec_Annot\v1.0.4\repo\AutoAnnotateView\AutoAnnotateView.csproj","v4.7","x64","Library","AutoAnnotateView","accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|ExtentsIntersect|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","AutoElevation","_v2.5\P_Rec_Annot\2019_AutoElevation\2019_AutoElevation\AutoElevation.csproj","v4.7",,"Library","AutoElevation","accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","AutoElevation","P_Rec_Annot\v1.0.2\repo\AutoElevation\AutoElevation.csproj","v4.7","x64","Library","AutoElevation","accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","AutoElevation","P_Rec_Annot\v1.0.4\repo\AutoElevation\AutoElevation.csproj","v4.7","x64","Library","AutoElevation","accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","AutoLinenumberConnections","_v2.5\P_Rec_Annot\2019_AutoLinenumberConnections\2019_AutoLinenumberConnections\AutoLinenumberConnections.csproj","v4.7",,"Library","AutoLinenumberConnections","accoremgd|acdbmgd|acmgd|CheckOrthoView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|ExtentsIntersect, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|GetLinenumberAnnotationText, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DSetLayerForViewport, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","AutoLinenumberConnections","P_Rec_Annot\v1.0.2\repo\AutoLinenumberConnections\AutoLinenumberConnections.csproj","v4.7","x64","Library","AutoLinenumberConnections","accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|ExtentsIntersect|GetLinenumberAnnotationText|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","AutoLinenumberConnections","P_Rec_Annot\v1.0.4\repo\AutoLinenumberConnections\AutoLinenumberConnections.csproj","v4.7","x64","Library","AutoLinenumberConnections","accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|ExtentsIntersect|GetLinenumberAnnotationText|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","CheckOrthoView","_v2.5\P_Rec_Annot\2019_CheckOrthoView\2019_CheckOrthoView\CheckOrthoView.csproj","v4.7",,"Library","CheckOrthoView","accoremgd|acdbmgd|acmgd|EnablerLoader|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","CheckOrthoView","P_Rec_Annot\v1.0.2\repo\CheckOrthoView\CheckOrthoView.csproj","v4.7","x64","Library","CheckOrthoView","accoremgd|acdbmgd|acmgd|EnablerLoader|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","CheckOrthoView","P_Rec_Annot\v1.0.4\repo\CheckOrthoView\CheckOrthoView.csproj","v4.7","x64","Library","CheckOrthoView","accoremgd|acdbmgd|acmgd|EnablerLoader|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","EnablerLoader","_v2.5\P_Rec_Annot\EnablerLoader\EnablerLoader\EnablerLoader.csproj","v4.7",,"Library","EnablerLoader","accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms|","","no","not observed","yes"
"P_Rec_Annot","EnablerLoader","P_Rec_Annot\v1.0.2\repo\EnablerLoader\EnablerLoader.csproj","v4.7","x64","Library","EnablerLoader","accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms|","","no","not observed","yes"
"P_Rec_Annot","EnablerLoader","P_Rec_Annot\v1.0.4\repo\EnablerLoader\EnablerLoader.csproj","v4.7","x64","Library","EnablerLoader","accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms|","","no","not observed","yes"
"P_Rec_Annot","ExtentsIntersect","_v2.5\P_Rec_Annot\ExtentsIntersect\ExtentsIntersect\ExtentsIntersect.csproj","v4.7",,"Library","ExtentsIntersect","accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd","no","not observed","yes"
"P_Rec_Annot","ExtentsIntersect","P_Rec_Annot\v1.0.2\repo\ExtentsIntersect\ExtentsIntersect.csproj","v4.7","x64","Library","ExtentsIntersect","accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd","no","not observed","yes"
"P_Rec_Annot","ExtentsIntersect","P_Rec_Annot\v1.0.4\repo\ExtentsIntersect\ExtentsIntersect.csproj","v4.7","x64","Library","ExtentsIntersect","accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd","no","not observed","yes"
"P_Rec_Annot","GetComponentGeometry","P_Rec_Annot\v1.0.2\repo\GetComponentGeometry\GetComponentGeometry.csproj","v4.7","x64","Library","GetComponentGeometry","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|GetPlantScriptFolderPath|GetScriptParameters|PnP3dObjectsMgd|PnP3dPartsRepository|System|Microsoft.CSharp|","acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository","no","possible","yes"
"P_Rec_Annot","GetComponentGeometry","P_Rec_Annot\v1.0.4\repo\GetComponentGeometry\GetComponentGeometry.csproj","v4.7","x64","Library","GetComponentGeometry","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|GetPlantScriptFolderPath|GetScriptParameters|PnP3dObjectsMgd|PnP3dPartsRepository|System|Microsoft.CSharp|","acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository","no","possible","yes"
"P_Rec_Annot","GetComponentGeometryDescription","_v2.5\P_Rec_Annot\2019_GetComponentGeometryDescription (без ReferenceFiler)\2019_GetComponentGeometryDescription\GetComponentGeometryDescription.csproj","v4.7",,"Library","GetComponentGeometry","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|GetPlantScriptFolderPath, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|GetScriptParameters, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|System|Microsoft.CSharp|","acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository","no","possible","yes"
"P_Rec_Annot","GetLinenumberAnnotationText","_v2.5\P_Rec_Annot\2019_GetLinenumberAnnotationText\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj","v4.7",,"Library","GetLinenumberAnnotationText","Excel, Version=2.1.0.0, Culture=neutral, PublicKeyToken=93517dbe6a4012fa, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","PnPDataLinks|PnPDataObjects","no","possible","yes"
"P_Rec_Annot","GetLinenumberAnnotationText","_v2.5\P_Rec_Annot\2019_GetLinenumberAnnotationText_ТАИФ\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj","v4.7",,"Library","GetLinenumberAnnotationText","Excel, Version=2.1.0.0, Culture=neutral, PublicKeyToken=93517dbe6a4012fa, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","PnPDataLinks|PnPDataObjects","no","possible","yes"
"P_Rec_Annot","GetLinenumberAnnotationText","P_Rec_Annot\v1.0.2\repo\_archive\2019_GetLinenumberAnnotationText\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj","v4.7",,"Library","GetLinenumberAnnotationText","Excel|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","PnPDataLinks|PnPDataObjects","no","possible","yes"
"P_Rec_Annot","GetLinenumberAnnotationText","P_Rec_Annot\v1.0.2\repo\_archive\2019_GetLinenumberAnnotationText_ТАИФ\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj","v4.7",,"Library","GetLinenumberAnnotationText","Excel|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","PnPDataLinks|PnPDataObjects","no","possible","yes"
"P_Rec_Annot","GetLinenumberAnnotationText","P_Rec_Annot\v1.0.2\repo\GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj","v4.7","x64","Library","GetLinenumberAnnotationText","accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","GetLinenumberAnnotationText","P_Rec_Annot\v1.0.4\repo\_archive\2019_GetLinenumberAnnotationText\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj","v4.7",,"Library","GetLinenumberAnnotationText","Excel|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","PnPDataLinks|PnPDataObjects","no","possible","yes"
"P_Rec_Annot","GetLinenumberAnnotationText","P_Rec_Annot\v1.0.4\repo\_archive\2019_GetLinenumberAnnotationText_ТАИФ\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj","v4.7",,"Library","GetLinenumberAnnotationText","Excel|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","PnPDataLinks|PnPDataObjects","no","possible","yes"
"P_Rec_Annot","GetLinenumberAnnotationText","P_Rec_Annot\v1.0.4\repo\GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj","v4.7","x64","Library","GetLinenumberAnnotationText","accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","GetPlantScriptFolderPath","_v2.5\P_Rec_Annot\GetPlantScriptFolderPath\GetPlantScriptFolderPath\GetPlantScriptFolderPath.csproj","v4.7",,"Library","GetPlantScriptFolderPath","accoremgd|acmgd|System|Microsoft.CSharp|System.XML|System.Xml.Linq|","acmgd","no","not observed","yes"
"P_Rec_Annot","GetPlantScriptFolderPath","P_Rec_Annot\v1.0.2\repo\GetPlantScriptFolderPath\GetPlantScriptFolderPath.csproj","v4.7","x64","Library","GetPlantScriptFolderPath","accoremgd|acmgd|System|Microsoft.CSharp|System.XML|System.Xml.Linq|","acmgd","no","not observed","yes"
"P_Rec_Annot","GetPlantScriptFolderPath","P_Rec_Annot\v1.0.4\repo\GetPlantScriptFolderPath\GetPlantScriptFolderPath.csproj","v4.7","x64","Library","GetPlantScriptFolderPath","accoremgd|acmgd|System|Microsoft.CSharp|System.XML|System.Xml.Linq|","acmgd","no","not observed","yes"
"P_Rec_Annot","GetScriptParameters","_v2.5\P_Rec_Annot\GetScriptParameters\GetScriptParameters\GetScriptParameters.csproj","v4.7",,"Library","GetScriptParameters","System|Microsoft.CSharp|","","no","not observed","yes"
"P_Rec_Annot","GetScriptParameters","P_Rec_Annot\v1.0.2\repo\GetScriptParameters\GetScriptParameters.csproj","v4.7","x64","Library","GetScriptParameters","System|Microsoft.CSharp|","","no","not observed","yes"
"P_Rec_Annot","GetScriptParameters","P_Rec_Annot\v1.0.4\repo\GetScriptParameters\GetScriptParameters.csproj","v4.7","x64","Library","GetScriptParameters","System|Microsoft.CSharp|","","no","not observed","yes"
"P_Rec_Annot","InsertElevation","_v2.5\P_Rec_Annot\2019_InsertElevation\2019_InsertElevation\InsertElevation.csproj","v4.7",,"Library","InsertElevation","accoremgd|acdbmgd|acmgd|EnablerLoader|P3DCopyMissingObjectsToOrthoDrawing|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","InsertElevation","_v2.5\P_Rec_Annot\2019_InsertElevation_ОЗХ\2019_InsertElevation\2019_InsertElevation\InsertElevation.csproj","v4.7",,"Library","InsertElevation","accoremgd|acdbmgd|acmgd|EnablerLoader|P3DCopyMissingObjectsToOrthoDrawing|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","InsertElevation","P_Rec_Annot\v1.0.2\repo\_archive\2019_InsertElevation_ОЗХ\2019_InsertElevation\2019_InsertElevation\InsertElevation.csproj","v4.7",,"Library","InsertElevation","accoremgd|acdbmgd|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","InsertElevation","P_Rec_Annot\v1.0.2\repo\InsertElevation\InsertElevation.csproj","v4.7","x64","Library","InsertElevation","accoremgd|acdbmgd|acmgd|EnablerLoader|P3DCopyMissingObjectsToOrthoDrawing|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","InsertElevation","P_Rec_Annot\v1.0.4\repo\_archive\2019_InsertElevation_ОЗХ\2019_InsertElevation\2019_InsertElevation\InsertElevation.csproj","v4.7",,"Library","InsertElevation","accoremgd|acdbmgd|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","InsertElevation","P_Rec_Annot\v1.0.4\repo\InsertElevation\InsertElevation.csproj","v4.7","x64","Library","InsertElevation","accoremgd|acdbmgd|acmgd|EnablerLoader|P3DCopyMissingObjectsToOrthoDrawing|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","LoadedAssemblies","_v2.5\P_Rec_Annot\LoadedAssemblies\LoadedAssemblies\LoadedAssemblies.csproj","v4.7",,"Library","LoadedAssemblies","accoremgd|acdbmgd|System|Microsoft.CSharp|","","no","not observed","yes"
"P_Rec_Annot","LoadedAssemblies","P_Rec_Annot\v1.0.2\repo\LoadedAssemblies\LoadedAssemblies.csproj","v4.7","x64","Library","LoadedAssemblies","accoremgd|acdbmgd|System|Microsoft.CSharp|","","no","not observed","yes"
"P_Rec_Annot","LoadedAssemblies","P_Rec_Annot\v1.0.4\repo\LoadedAssemblies\LoadedAssemblies.csproj","v4.7","x64","Library","LoadedAssemblies","accoremgd|acdbmgd|System|Microsoft.CSharp|","","no","not observed","yes"
"P_Rec_Annot","OrthoAutoAnnotate","_v2.5\P_Rec_Annot\2019_OrthoAutoAnnotate\2019_OrthoAutoAnnotate\OrthoAutoAnnotate.csproj","v4.7","AnyCPU","Library",,"|accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.DirectoryServices|System.Windows.Forms|System.XML|System.Xml.Linq","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","OrthoAutoAnnotate","P_Rec_Annot\v1.0.2\repo\OrthoAutoAnnotate\OrthoAutoAnnotate.csproj","v4.7","AnyCPU","Library",,"|accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.DirectoryServices|System.Windows.Forms|System.XML|System.Xml.Linq","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","OrthoAutoAnnotate","P_Rec_Annot\v1.0.4\repo\OrthoAutoAnnotate\OrthoAutoAnnotate.csproj","v4.7","x64","Library",,"|accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.DirectoryServices|System.Windows.Forms|System.XML|System.Xml.Linq","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","OrthoLoader","_v2.5\P_Rec_Annot\OrthoLoader\OrthoLoader\OrthoLoader.csproj","v4.7",,"Library","OrthoLoader","accoremgd|acdbmgd|acmgd|System|System.Core|System.Windows.Forms|System.XML|System.Xml.Linq|Microsoft.CSharp|","acmgd","no","not observed","yes"
"P_Rec_Annot","OrthoLoader","P_Rec_Annot\v1.0.2\repo\OrthoLoader\OrthoLoader.csproj","v4.7","x64","Library","OrthoLoader","accoremgd|acdbmgd|acmgd|AdWindows|PnPProjectManagerMgd|PresentationCore|PresentationFramework|System|System.Core|System.Windows.Forms|System.XML|System.Xml.Linq|Microsoft.CSharp|WindowsBase||","acmgd|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","OrthoLoader","P_Rec_Annot\v1.0.4\repo\OrthoLoader\OrthoLoader.csproj","v4.7","x64","Library","OrthoLoader","accoremgd|acdbmgd|acmgd|AdWindows|PnPProjectManagerMgd|PresentationCore|PresentationFramework|System|System.Core|System.Windows.Forms|System.XML|System.Xml.Linq|Microsoft.CSharp|WindowsBase||","acmgd|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","P3DCopyMissingObjectsToOrthoDrawing","_v2.5\P_Rec_Annot\2019_P3DCopyMissingObjectsToOrthoDrawing\2019_P3DCopyMissingObjectsToOrthoDrawing\P3DCopyMissingObjectsToOrthoDrawing.csproj","v4.7",,"Library","P3DCopyMissingObjectsToOrthoDrawing","accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","P3DCopyMissingObjectsToOrthoDrawing","P_Rec_Annot\v1.0.2\repo\P3DCopyMissingObjectsToOrthoDrawing\P3DCopyMissingObjectsToOrthoDrawing.csproj","v4.7","x64","Library","P3DCopyMissingObjectsToOrthoDrawing","accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","P3DCopyMissingObjectsToOrthoDrawing","P_Rec_Annot\v1.0.4\repo\P3DCopyMissingObjectsToOrthoDrawing\P3DCopyMissingObjectsToOrthoDrawing.csproj","v4.7","x64","Library","P3DCopyMissingObjectsToOrthoDrawing","accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","P3DNewMa","P_Rec_Annot\v1.0.4\repo\P3DNewMa\P3DNewMa.csproj","v4.7","x64","Library","P3DNewMa","accoremgd|acdbmgd, Version=23.0.0.0, Culture=neutral, processorArchitecture=AMD64|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|GetLinenumberAnnotationText, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|System|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data|System.Xml||","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","P3DSetLayerForViewport","_v2.5\P_Rec_Annot\P3DSetLayerForViewport\P3DSetLayerForViewport\P3DSetLayerForViewport.csproj","v4.7",,"Library","P3DSetLayerForViewport","accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd","no","not observed","yes"
"P_Rec_Annot","P3DSetLayerForViewport","P_Rec_Annot\v1.0.2\repo\P3DSetLayerForViewport\P3DSetLayerForViewport.csproj","v4.7","x64","Library","P3DSetLayerForViewport","accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd","no","not observed","yes"
"P_Rec_Annot","P3DSetLayerForViewport","P_Rec_Annot\v1.0.4\repo\P3DSetLayerForViewport\P3DSetLayerForViewport.csproj","v4.7","x64","Library","P3DSetLayerForViewport","accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd","no","not observed","yes"
"P_Rec_Annot","PHPAnnotations","_v2.5\P_Rec_Annot\2019_PHPAnnotations\2019_PHPAnnotations\PHPAnnotations.csproj","v4.7",,"Library","PHPAnnotations","accoremgd|acdbmgd|acmgd|GetLinenumberAnnotationText|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","PHPAnnotations","P_Rec_Annot\v1.0.2\repo\PHPAnnotations\PHPAnnotations.csproj","v4.7","x64","Library","PHPAnnotations","accoremgd|acdbmgd|acmgd|GetLinenumberAnnotationText|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","PHPAnnotations","P_Rec_Annot\v1.0.4\repo\PHPAnnotations\PHPAnnotations.csproj","v4.7","x64","Library","PHPAnnotations","accoremgd|acdbmgd|acmgd|GetLinenumberAnnotationText|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","possible","yes"
"P_Rec_Annot","SwapAttributesMenuItem","_v2.5\P_Rec_Annot\SwapAttributesMenuItem\SwapAttributesMenuItem\SwapAttributesMenuItem.csproj","v4.7",,"Library","SwapAttributesMenuItem","accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|Microsoft.CSharp|System.Xml|","acmgd","no","not observed","yes"
"P_Rec_Annot","SwapAttributesMenuItem","P_Rec_Annot\v1.0.2\repo\SwapAttributesMenuItem\SwapAttributesMenuItem.csproj","v4.7","x64","Library","SwapAttributesMenuItem","accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|Microsoft.CSharp|System.Xml|","acmgd|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","SwapAttributesMenuItem","P_Rec_Annot\v1.0.4\repo\SwapAttributesMenuItem\SwapAttributesMenuItem.csproj","v4.7","x64","Library","SwapAttributesMenuItem","accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|Microsoft.CSharp|System.Xml|","acmgd|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","UpdateOrthoDrawings","_v2.5\P_Rec_Annot\2019_UpdateOrthoDrawings\2019_UpdateOrthoDrawings\UpdateOrthoDrawings.csproj","v4.7",,"Library","UpdateOrthoDrawings","accoremgd|acdbmgd|acmgd|AutoAnnotateView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|AutoLinenumberConnections, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|OrthoAutoAnnotate, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd|PresentationCore|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|UpdateOrthoViewBlocks, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|WindowsBase||","acmgd|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","UpdateOrthoDrawings","P_Rec_Annot\v1.0.2\repo\UpdateOrthoDrawings\UpdateOrthoDrawings.csproj","v4.7","x64","Library","UpdateOrthoDrawings","accoremgd|acdbmgd|acmgd|AutoAnnotateView|AutoLinenumberConnections|OrthoAutoAnnotate|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd|PresentationCore|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|UpdateOrthoViewBlocks|WindowsBase||","acmgd|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","UpdateOrthoDrawings","P_Rec_Annot\v1.0.4\repo\UpdateOrthoDrawings\UpdateOrthoDrawings.csproj","v4.7","x64","Library","UpdateOrthoDrawings","accoremgd|acdbmgd|acmgd|AutoAnnotateView|AutoLinenumberConnections|OrthoAutoAnnotate|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd|PresentationCore|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|UpdateOrthoViewBlocks|WindowsBase||","acmgd|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","UpdateOrthoViewBlocks","_v2.5\P_Rec_Annot\2019_UpdateOrthoViewBlocks\2019_UpdateOrthoViewBlocks\UpdateOrthoViewBlocks.csproj","v4.7",,"Library","UpdateOrthoViewBlocks","accoremgd|acdbmgd|acmgd|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DSetLayerForViewport, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","UpdateOrthoViewBlocks","P_Rec_Annot\v1.0.2\repo\UpdateOrthoViewBlocks\UpdateOrthoViewBlocks.csproj","v4.7","x64","Library","UpdateOrthoViewBlocks","accoremgd|acdbmgd|acmgd|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Annot","UpdateOrthoViewBlocks","P_Rec_Annot\v1.0.4\repo\UpdateOrthoViewBlocks\UpdateOrthoViewBlocks.csproj","v4.7","x64","Library","UpdateOrthoViewBlocks","accoremgd|acdbmgd|acmgd|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_BOP","P_Rec_BOP","_v2.5\P_Rec_BOP (old)\P_Rec_BOP\P_Rec_BOP.csproj","v4.7","x86","Exe","P_Rec_BOP","|SautinSoft.Document|System|System.Data|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Drawing|System.Windows.Forms|System.XML|System.Xml.Linq|||","","yes","not observed","yes"
"P_Rec_BOP","P_Rec_BOP","P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj","v4.7","x86","Exe","P_Rec_BOP","|Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL|SautinSoft.Document|System|System.Data|System.Data.DataSetExtensions|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.XML|System.Xml.Linq||||","","yes","possible","yes"
"P_Rec_Brac","P_Rec_Brac","_v2.5\P_Rec_Brac\P_Rec_Brac\P_Rec_Brac.csproj","v4.7",,"Library","P_Rec_Brac","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|EnablerLoader|GetComponentGeometryDescription|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Windows.Forms|System.XML|System.Xml.Linq|Microsoft.CSharp|System.Data||","acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","yes","possible","yes"
"P_Rec_Color","GetAZO1","_v2.5\P_Rec_Color\GetAZO1\GetAZO1\GetAZO1.csproj","v4.7","AnyCPU","Exe","GetAZO1","ConsoleGetDrawingInformation|EPPlus|PresentationCore|PresentationFramework|System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|TaskDialog|WindowsBase|||","","yes","not observed","yes"
"P_Rec_Color","GetAZO2","_v2.5\P_Rec_Color\GetAZO2\GetAZO2\GetAZO2.csproj","v4.7","AnyCPU","Exe","GetAZO2","EPPlus|SautinSoft.Document|System|System.Windows.Forms|System.Xml.Linq|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_PipelineList","OutputSpecificationToWord","P_Rec_PipelineList\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj","v4.7","x86","Exe","OutputSpecificationToWord","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","","no","not observed","yes"
"P_Rec_Print","P_Rec_Print","_v2.5\P_Rec_Print\P_Rec_Print\P_Rec_Print.csproj","v4.7",,"Library","P_Rec_Print","accoremgd|acdbmgd|acmgd|AdWindows|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|PnPProjectManagerMgd","no","not observed","yes"
"P_Rec_Spec","AddNKRMaterials","_v2.5\P_Rec_Spec\_old\AddNKRMaterials\AddNKRMaterials\AddNKRMaterials.csproj","v4.7","x86","Exe","AddNKRMaterials","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","AddNKRMaterials","_v2.5\P_Rec_Spec\10.0.1.2\source\AddNKRMaterials\AddNKRMaterials\AddNKRMaterials.csproj","v4.7","x86","Exe","AddNKRMaterials","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","AddNKRMaterials","_v2.5\P_Rec_Spec\10.0.1.3\source\AddNKRMaterials\AddNKRMaterials\AddNKRMaterials.csproj","v4.7","x86","Exe","AddNKRMaterials","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","AddNKRMaterials","_v2.5\P_Rec_Spec\10.0.1.4\source\AddNKRMaterials\AddNKRMaterials\AddNKRMaterials.csproj","v4.7","x86","Exe","AddNKRMaterials","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","AddNKRMaterials","_v2.5\P_Rec_Spec\10.0.1.5\source\AddNKRMaterials\AddNKRMaterials\AddNKRMaterials.csproj","v4.7","x86","Exe","AddNKRMaterials","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","AddNuts","_v2.5\P_Rec_Spec\_old\AddNuts\AddNuts\AddNuts.csproj","v4.7","x86","Exe","AddNuts","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","","no","not observed","yes"
"P_Rec_Spec","AddNuts","_v2.5\P_Rec_Spec\10.0.1.2\source\AddNuts\AddNuts\AddNuts.csproj","v4.7","x86","Exe","AddNuts","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","AddNuts","_v2.5\P_Rec_Spec\10.0.1.3\source\AddNuts\AddNuts\AddNuts.csproj","v4.7","x86","Exe","AddNuts","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","AddNuts","_v2.5\P_Rec_Spec\10.0.1.4\source\AddNuts\AddNuts\AddNuts.csproj","v4.7","x86","Exe","AddNuts","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","AddNuts","_v2.5\P_Rec_Spec\10.0.1.5\source\AddNuts\AddNuts\AddNuts.csproj","v4.7","x86","Exe","AddNuts","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","AddTracingPipeRecords","_v2.5\P_Rec_Spec\_old\AddTracingPipeRecords\AddTracingPipeRecords\AddTracingPipeRecords.csproj","v4.7","x86","Exe","AddTracingPipeRecords","System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","yes","not observed","yes"
"P_Rec_Spec","AddTracingPipeRecords","_v2.5\P_Rec_Spec\10.0.1.2\source\AddTracingPipeRecords\AddTracingPipeRecords\AddTracingPipeRecords.csproj","v4.7","x86","Exe","AddTracingPipeRecords","System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","yes","possible","yes"
"P_Rec_Spec","AddTracingPipeRecords","_v2.5\P_Rec_Spec\10.0.1.3\source\AddTracingPipeRecords\AddTracingPipeRecords\AddTracingPipeRecords.csproj","v4.7","x86","Exe","AddTracingPipeRecords","System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","yes","possible","yes"
"P_Rec_Spec","AddTracingPipeRecords","_v2.5\P_Rec_Spec\10.0.1.4\source\AddTracingPipeRecords\AddTracingPipeRecords\AddTracingPipeRecords.csproj","v4.7","x86","Exe","AddTracingPipeRecords","System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","yes","possible","yes"
"P_Rec_Spec","AddTracingPipeRecords","_v2.5\P_Rec_Spec\10.0.1.5\source\AddTracingPipeRecords\AddTracingPipeRecords\AddTracingPipeRecords.csproj","v4.7","x86","Exe","AddTracingPipeRecords","System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","yes","possible","yes"
"P_Rec_Spec","AddUnstandardMaterialsRecords","_v2.5\P_Rec_Spec\_old\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords.csproj","v4.7","x86","Exe","AddUnstandardMaterialsRecords","|System|System.Data|System.XML|","","no","not observed","yes"
"P_Rec_Spec","AddUnstandardMaterialsRecords","_v2.5\P_Rec_Spec\10.0.1.2\source\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords.csproj","v4.7","x86","Exe","AddUnstandardMaterialsRecords","|System|System.Data|System.XML|","","no","not observed","yes"
"P_Rec_Spec","AddUnstandardMaterialsRecords","_v2.5\P_Rec_Spec\10.0.1.3\source\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords.csproj","v4.7","x86","Exe","AddUnstandardMaterialsRecords","|System|System.Data|System.XML|","","no","not observed","yes"
"P_Rec_Spec","AddUnstandardMaterialsRecords","_v2.5\P_Rec_Spec\10.0.1.4\source\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords.csproj","v4.7","x86","Exe","AddUnstandardMaterialsRecords","|System|System.Data|System.XML|","","no","not observed","yes"
"P_Rec_Spec","AddUnstandardMaterialsRecords","_v2.5\P_Rec_Spec\10.0.1.5\source\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords.csproj","v4.7","x86","Exe","AddUnstandardMaterialsRecords","|System|System.Data|System.XML|","","no","not observed","yes"
"P_Rec_Spec","EditProjectProperties","_v2.5\P_Rec_Spec\_old\EditProjectProperties\EditProjectProperties\EditProjectProperties.csproj","v4.7","x86","Exe","EditProjectProperties","System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","","yes","not observed","yes"
"P_Rec_Spec","EditProjectProperties","_v2.5\P_Rec_Spec\10.0.1.2\source\EditProjectProperties\EditProjectProperties\EditProjectProperties.csproj","v4.7","x86","Exe","EditProjectProperties","System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||||","","yes","not observed","yes"
"P_Rec_Spec","EditProjectProperties","_v2.5\P_Rec_Spec\10.0.1.3\source\EditProjectProperties\EditProjectProperties\EditProjectProperties.csproj","v4.7","x86","Exe","EditProjectProperties","System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||||","","yes","not observed","yes"
"P_Rec_Spec","EditProjectProperties","_v2.5\P_Rec_Spec\10.0.1.4\source\EditProjectProperties\EditProjectProperties\EditProjectProperties.csproj","v4.7","x86","Exe","EditProjectProperties","System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||||","","yes","not observed","yes"
"P_Rec_Spec","EditProjectProperties","_v2.5\P_Rec_Spec\10.0.1.5\source\EditProjectProperties\EditProjectProperties\EditProjectProperties.csproj","v4.7","x86","Exe","EditProjectProperties","System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||||","","yes","not observed","yes"
"P_Rec_Spec","ExcludeExistingComponentRecords","_v2.5\P_Rec_Spec\_old\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords.csproj","v4.7","x86","Exe","ExcludeExistingComponentRecords","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","ExcludeExistingComponentRecords","_v2.5\P_Rec_Spec\10.0.1.2\source\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords.csproj","v4.7","x86","Exe","ExcludeExistingComponentRecords","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","ExcludeExistingComponentRecords","_v2.5\P_Rec_Spec\10.0.1.3\source\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords.csproj","v4.7","x86","Exe","ExcludeExistingComponentRecords","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","ExcludeExistingComponentRecords","_v2.5\P_Rec_Spec\10.0.1.4\source\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords.csproj","v4.7","x86","Exe","ExcludeExistingComponentRecords","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","ExcludeExistingComponentRecords","_v2.5\P_Rec_Spec\10.0.1.5\source\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords.csproj","v4.7","x86","Exe","ExcludeExistingComponentRecords","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GetAssemblies","_v2.5\P_Rec_Spec\_old\GetAssemblies1\GetAssemblies1\GetAssemblies.csproj","v4.7","x86","Exe","GetAssemblies","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GetAssemblies","_v2.5\P_Rec_Spec\10.0.1.2\source\GetAssemblies1\GetAssemblies1\GetAssemblies.csproj","v4.7","x86","Exe","GetAssemblies","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GetAssemblies","_v2.5\P_Rec_Spec\10.0.1.3\source\GetAssemblies1\GetAssemblies1\GetAssemblies.csproj","v4.7","x86","Exe","GetAssemblies","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GetAssemblies","_v2.5\P_Rec_Spec\10.0.1.4\source\GetAssemblies1\GetAssemblies1\GetAssemblies.csproj","v4.7","x86","Exe","GetAssemblies","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GetAssemblies","_v2.5\P_Rec_Spec\10.0.1.5\source\GetAssemblies1\GetAssemblies1\GetAssemblies.csproj","v4.7","x86","Exe","GetAssemblies","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GetSpecialAssemblies","_v2.5\P_Rec_Spec\_old\GetSpecialAssemblies\GetSpecialAssemblies\GetSpecialAssemblies.csproj","v4.7","x86","Exe","GetSpecialAssemblies","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GetSpecialAssemblies","_v2.5\P_Rec_Spec\10.0.1.2\source\GetSpecialAssemblies\GetSpecialAssemblies\GetSpecialAssemblies.csproj","v4.7","x86","Exe","GetSpecialAssemblies","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GetSpecialAssemblies","_v2.5\P_Rec_Spec\10.0.1.3\source\GetSpecialAssemblies\GetSpecialAssemblies\GetSpecialAssemblies.csproj","v4.7","x86","Exe","GetSpecialAssemblies","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GetSpecialAssemblies","_v2.5\P_Rec_Spec\10.0.1.4\source\GetSpecialAssemblies\GetSpecialAssemblies\GetSpecialAssemblies.csproj","v4.7","x86","Exe","GetSpecialAssemblies","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GetSpecialAssemblies","_v2.5\P_Rec_Spec\10.0.1.5\source\GetSpecialAssemblies\GetSpecialAssemblies\GetSpecialAssemblies.csproj","v4.7","x86","Exe","GetSpecialAssemblies","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GroupRecords","_v2.5\P_Rec_Spec\_old\GroupRecords\GroupRecords\GroupRecords.csproj","v4.7","x86","Exe","GroupRecords","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GroupRecords","_v2.5\P_Rec_Spec\10.0.1.2\source\GroupRecords\GroupRecords\GroupRecords.csproj","v4.7","x86","Exe","GroupRecords","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GroupRecords","_v2.5\P_Rec_Spec\10.0.1.3\source\GroupRecords\GroupRecords\GroupRecords.csproj","v4.7","x86","Exe","GroupRecords","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GroupRecords","_v2.5\P_Rec_Spec\10.0.1.4\source\GroupRecords\GroupRecords\GroupRecords.csproj","v4.7","x86","Exe","GroupRecords","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","GroupRecords","_v2.5\P_Rec_Spec\10.0.1.5\source\GroupRecords\GroupRecords\GroupRecords.csproj","v4.7","x86","Exe","GroupRecords","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","OutputSpecificationToWord","_v2.5\P_Rec_Spec\_old\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj","v4.7","x86","Exe","OutputSpecificationToWord","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","","no","not observed","yes"
"P_Rec_Spec","OutputSpecificationToWord","_v2.5\P_Rec_Spec\10.0.1.2\source\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj","v4.7","x86","Exe","OutputSpecificationToWord","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","","no","not observed","yes"
"P_Rec_Spec","OutputSpecificationToWord","_v2.5\P_Rec_Spec\10.0.1.3\source\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj","v4.7","x86","Exe","OutputSpecificationToWord","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","","no","not observed","yes"
"P_Rec_Spec","OutputSpecificationToWord","_v2.5\P_Rec_Spec\10.0.1.4\source\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj","v4.7","x86","Exe","OutputSpecificationToWord","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","","no","not observed","yes"
"P_Rec_Spec","OutputSpecificationToWord","_v2.5\P_Rec_Spec\10.0.1.5\source\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj","v4.7","x86","Exe","OutputSpecificationToWord","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","","no","not observed","yes"
"P_Rec_Spec","PipeBendMakePipe","_v2.5\P_Rec_Spec\_old\PipeBendMakePipe\PipeBendMakePipe\PipeBendMakePipe.csproj","v4.7","x86","Exe","PipeBendMakePipe","System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","yes","not observed","yes"
"P_Rec_Spec","PipeBendMakePipe","_v2.5\P_Rec_Spec\10.0.1.2\source\PipeBendMakePipe\PipeBendMakePipe\PipeBendMakePipe.csproj","v4.7","x86","Exe","PipeBendMakePipe","System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","yes","possible","yes"
"P_Rec_Spec","PipeBendMakePipe","_v2.5\P_Rec_Spec\10.0.1.3\source\PipeBendMakePipe\PipeBendMakePipe\PipeBendMakePipe.csproj","v4.7","x86","Exe","PipeBendMakePipe","System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","yes","possible","yes"
"P_Rec_Spec","PipeBendMakePipe","_v2.5\P_Rec_Spec\10.0.1.4\source\PipeBendMakePipe\PipeBendMakePipe\PipeBendMakePipe.csproj","v4.7","x86","Exe","PipeBendMakePipe","System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","yes","possible","yes"
"P_Rec_Spec","PipeBendMakePipe","_v2.5\P_Rec_Spec\10.0.1.5\source\PipeBendMakePipe\PipeBendMakePipe\PipeBendMakePipe.csproj","v4.7","x86","Exe","PipeBendMakePipe","System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","yes","possible","yes"
"P_Rec_Spec","RemoveLeftAndRightFromScriptName","_v2.5\P_Rec_Spec\_old\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScriptName.csproj","v4.7","x86","Exe","RemoveLeftAndRightFromScriptName","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","RemoveLeftAndRightFromScriptName","_v2.5\P_Rec_Spec\10.0.1.2\source\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScriptName.csproj","v4.7","x86","Exe","RemoveLeftAndRightFromScriptName","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","RemoveLeftAndRightFromScriptName","_v2.5\P_Rec_Spec\10.0.1.3\source\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScriptName.csproj","v4.7","x86","Exe","RemoveLeftAndRightFromScriptName","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","RemoveLeftAndRightFromScriptName","_v2.5\P_Rec_Spec\10.0.1.4\source\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScriptName.csproj","v4.7","x86","Exe","RemoveLeftAndRightFromScriptName","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","RemoveLeftAndRightFromScriptName","_v2.5\P_Rec_Spec\10.0.1.5\source\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScriptName.csproj","v4.7","x86","Exe","RemoveLeftAndRightFromScriptName","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","ResetLostBoltSetsAndGaskets","_v2.5\P_Rec_Spec\_old\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets.csproj","v4.7","x86","Exe","ResetLostBoltSetsAndGaskets","|System|System.Data|System.XML|","","no","not observed","yes"
"P_Rec_Spec","ResetLostBoltSetsAndGaskets","_v2.5\P_Rec_Spec\10.0.1.2\source\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets.csproj","v4.7","x86","Exe","ResetLostBoltSetsAndGaskets","|System|System.Data|System.XML|","","no","not observed","yes"
"P_Rec_Spec","ResetLostBoltSetsAndGaskets","_v2.5\P_Rec_Spec\10.0.1.3\source\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets.csproj","v4.7","x86","Exe","ResetLostBoltSetsAndGaskets","|System|System.Data|System.XML|","","no","not observed","yes"
"P_Rec_Spec","ResetLostBoltSetsAndGaskets","_v2.5\P_Rec_Spec\10.0.1.4\source\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets.csproj","v4.7","x86","Exe","ResetLostBoltSetsAndGaskets","|System|System.Data|System.XML|","","no","not observed","yes"
"P_Rec_Spec","ResetLostBoltSetsAndGaskets","_v2.5\P_Rec_Spec\10.0.1.5\source\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets.csproj","v4.7","x86","Exe","ResetLostBoltSetsAndGaskets","|System|System.Data|System.XML|","","no","not observed","yes"
"P_Rec_Spec","SetComponentGroup","_v2.5\P_Rec_Spec\_old\SetComponentGroup\SetComponentGroup\SetComponentGroup.csproj","v4.7","x86","Exe","SetComponentGroup","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SetComponentGroup","_v2.5\P_Rec_Spec\10.0.1.2\source\SetComponentGroup\SetComponentGroup\SetComponentGroup.csproj","v4.7","x86","Exe","SetComponentGroup","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SetComponentGroup","_v2.5\P_Rec_Spec\10.0.1.3\source\SetComponentGroup\SetComponentGroup\SetComponentGroup.csproj","v4.7","x86","Exe","SetComponentGroup","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SetComponentGroup","_v2.5\P_Rec_Spec\10.0.1.4\source\SetComponentGroup\SetComponentGroup\SetComponentGroup.csproj","v4.7","x86","Exe","SetComponentGroup","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SetComponentGroup","_v2.5\P_Rec_Spec\10.0.1.5\source\SetComponentGroup\SetComponentGroup\SetComponentGroup.csproj","v4.7","x86","Exe","SetComponentGroup","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SetParentComponentInChain","_v2.5\P_Rec_Spec\_old\SetParentComponentInChain\SetParentComponentInChain\SetParentComponentInChain.csproj","v4.7","x86","Exe","SetParentComponentInChain","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SetParentComponentInChain","_v2.5\P_Rec_Spec\10.0.1.2\source\SetParentComponentInChain\SetParentComponentInChain\SetParentComponentInChain.csproj","v4.7","x86","Exe","SetParentComponentInChain","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SetParentComponentInChain","_v2.5\P_Rec_Spec\10.0.1.3\source\SetParentComponentInChain\SetParentComponentInChain\SetParentComponentInChain.csproj","v4.7","x86","Exe","SetParentComponentInChain","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SetParentComponentInChain","_v2.5\P_Rec_Spec\10.0.1.4\source\SetParentComponentInChain\SetParentComponentInChain\SetParentComponentInChain.csproj","v4.7","x86","Exe","SetParentComponentInChain","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SetParentComponentInChain","_v2.5\P_Rec_Spec\10.0.1.5\source\SetParentComponentInChain\SetParentComponentInChain\SetParentComponentInChain.csproj","v4.7","x86","Exe","SetParentComponentInChain","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SortNKR","_v2.5\P_Rec_Spec\_old\SortNKR\SortNKR\SortNKR.csproj","v4.7","x86","Exe","SortNKR","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SortNKR","_v2.5\P_Rec_Spec\10.0.1.2\source\SortNKR\SortNKR\SortNKR.csproj","v4.7","x86","Exe","SortNKR","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SortNKR","_v2.5\P_Rec_Spec\10.0.1.3\source\SortNKR\SortNKR\SortNKR.csproj","v4.7","x86","Exe","SortNKR","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SortNKR","_v2.5\P_Rec_Spec\10.0.1.4\source\SortNKR\SortNKR\SortNKR.csproj","v4.7","x86","Exe","SortNKR","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SortNKR","_v2.5\P_Rec_Spec\10.0.1.5\source\SortNKR\SortNKR\SortNKR.csproj","v4.7","x86","Exe","SortNKR","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","SpecificationSelection","_v2.5\P_Rec_Spec\_old\SpecificationSelection\SpecificationSelection\SpecificationSelection.csproj","v4.7","x86","Exe","SpecificationSelection","System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|System.Management.Automation||||","","no","not observed","yes"
"P_Rec_Spec","SpecificationSelection","_v2.5\P_Rec_Spec\10.0.1.2\source\SpecificationSelection\SpecificationSelection\SpecificationSelection.csproj","v4.7","x86","Exe","SpecificationSelection","System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|System.Management.Automation|||","","no","not observed","yes"
"P_Rec_Spec","SpecificationSelection","_v2.5\P_Rec_Spec\10.0.1.3\source\SpecificationSelection\SpecificationSelection\SpecificationSelection.csproj","v4.7","x86","Exe","SpecificationSelection","System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|System.Management.Automation|||","","no","not observed","yes"
"P_Rec_Spec","SpecificationSelection","_v2.5\P_Rec_Spec\10.0.1.4\source\SpecificationSelection\SpecificationSelection\SpecificationSelection.csproj","v4.7","x86","Exe","SpecificationSelection","System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|System.Management.Automation|||","","no","not observed","yes"
"P_Rec_Spec","SpecificationSelection","_v2.5\P_Rec_Spec\10.0.1.5\source\SpecificationSelection\SpecificationSelection\SpecificationSelection.csproj","v4.7","x86","Exe","SpecificationSelection","System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|System.Management.Automation|||","","no","not observed","yes"
"P_Rec_Spec","UpdateBoltSets","_v2.5\P_Rec_Spec\_old\UpdateBoltSets\UpdateBoltSets\UpdateBoltSets.csproj","v4.7","x86","Exe","UpdateBoltSets","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","UpdateBoltSets","_v2.5\P_Rec_Spec\10.0.1.2\source\UpdateBoltSets\UpdateBoltSets\UpdateBoltSets.csproj","v4.7","x86","Exe","UpdateBoltSets","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","UpdateBoltSets","_v2.5\P_Rec_Spec\10.0.1.3\source\UpdateBoltSets\UpdateBoltSets\UpdateBoltSets.csproj","v4.7","x86","Exe","UpdateBoltSets","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","UpdateBoltSets","_v2.5\P_Rec_Spec\10.0.1.4\source\UpdateBoltSets\UpdateBoltSets\UpdateBoltSets.csproj","v4.7","x86","Exe","UpdateBoltSets","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_Spec","UpdateBoltSets","_v2.5\P_Rec_Spec\10.0.1.5\source\UpdateBoltSets\UpdateBoltSets\UpdateBoltSets.csproj","v4.7","x86","Exe","UpdateBoltSets","System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P_Rec_TextDoc","P_Rec_TextDoc","_v2.5\P_Rec_TextDoc\P_Rec_TextDoc\P_Rec_TextDoc.csproj","v4.7","x86","WinExe","P_Rec_TextDoc","System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Deployment|System.Drawing|System.Windows.Forms|System.Xml||","","yes","not observed","yes"
"P_Rec_Update","P_Rec_Update","_v2.1\P_Rec_Update\P_Rec_Update\P_Rec_Update.csproj","v4.7","x64","Library","P_Rec_Update","accoremgd|acdbmgd|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|GetComponentGeometryDescription, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","yes","possible","yes"
"P_Rec_Update","P_Rec_Update","P_Rec_Update\P_Rec_Update\P_Rec_Update.csproj","v4.7","x64","Library","P_Rec_Update","accoremgd|acdbmgd|acmgd|AdWindows|GetComponentGeometryDescription|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|PresentationFramework|System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|WindowsBase|||||","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","yes","possible","yes"
"P_Serv_ActualizeProjectBySpec","P_Serv_ActualizeProjectBySpec","_v3.0\P_Serv_ActualizeProjectBySpec\repo\P_Serv_ActualizeProjectBySpec\P_Serv_ActualizeProjectBySpec.csproj","v4.7","x64","Library","P_Serv_ActualizeProjectBySpec","AcCoreMgd|AcDbMgd|AcMgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","AcMgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","yes","not observed","yes"
"P_Serv_CompP3D","P_Serv_CompP3D","_v2.5\P_Serv_CompP3D\P_Serv_CompP3D\P_Serv_CompP3D.csproj","v4.7",,"Library","P_Serv_CompP3D","accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd","no","not observed","yes"
"P_Serv_CreateLineGroupAnnotationText","P_Serv_CreateLineGroupAnnotationText","P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText.csproj","v4.7",,"Library","P_Serv_CreateLineGroupAnnotationText","accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Serv_Master","P_Serv_Master","_v2.5\P_Serv_Master\P_Serv_Master\P_Serv_Master.csproj","v4.7",,"Library","P_Serv_Master","accoremgd|acdbmgd|acmgd|Microsoft.CSharp|PnP3dDataLinkManager|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|System.Data|System.Xml|","acmgd|PnP3dDataLinkManager|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P_Serv_UpdateLinearWeight","P_Serv_UpdateLinearWeight","_v3.0\P_Serv_UpdateLinearWeight\repo\P_Serv_UpdateLinearWeight\P_Serv_UpdateLinearWeight.csproj","v4.7","x64","Library","P_Serv_UpdateLinearWeight","AcCoreMgd|AcDbMgd|AcMgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","AcMgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","yes","not observed","yes"
"P_Serv_UpSpecs","P_Serv_UpSpecs","_v2.5\P_Serv_UpSpecs\P_Serv_UpSpecs\P_Serv_UpSpecs.csproj","v4.7",,"Library","P_Serv_UpSpecs","accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","yes","not observed","yes"
"P_Task_MO07","P_Task_MO07","_v2.5\P_Task_MO07\P_Task_MO07\P_Task_MO07.csproj","v4.7",,"Library","P_Task_MO07","accoremgd|acdbmgd|acmgd|CheckOrthoView|EPPlus|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|","acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DCheckProject","EnablerLoader","_v2.0\P3DCheckProject\EnablerLoader\EnablerLoader\EnablerLoader.csproj","v4.0",,"Library","EnablerLoader","accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms|","","no","not observed","yes"
"P3DCheckProject","LoadedAssemblies","_v2.0\P3DCheckProject\LoadedAssemblies\LoadedAssemblies\LoadedAssemblies.csproj","v4.0",,"Library","LoadedAssemblies","accoremgd|acdbmgd|System|Microsoft.CSharp|","","no","not observed","yes"
"P3DCheckProject","P3DCheckProject","_v2.0\P3DCheckProject\P3DCheckProject\P3DCheckProject\P3DCheckProject.csproj","v4.7",,"Library","P3DCheckProject","accoremgd|acdbmgd|acmgd|EnablerLoader|HelpDesk|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DCommands","P3DCommands","_v2.0\P3DCommands\P3DCommands\P3DCommands\P3DCommands.csproj","v4.0","x86","Library","P3DCommands","|accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|System|System.Data|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DCommands","P3DCommands","_v2.5\P3DCommands\P3DCommands\P3DCommands\P3DCommands.csproj","v4.7","x86","Library","P3DCommands","|accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|System|System.Data|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DCopyMissingObjectsToOrthoDrawing.csproj","P3DCopyMissingObjectsToOrthoDrawing","_v2.0\OrthoTools.2019\2019_P3DCopyMissingObjectsToOrthoDrawing\2019_P3DCopyMissingObjectsToOrthoDrawing\P3DCopyMissingObjectsToOrthoDrawing.csproj","v4.7",,"Library","P3DCopyMissingObjectsToOrthoDrawing","accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPProjectManagerMgd","no","not observed","yes"
"P3DCorrectBoltsetLengths","P3DCorrectBoltsetLengths","P3DCorrectBoltsetLengths\old\P3DCorrectBoltsetLengths\P3DCorrectBoltsetLengths.csproj","v4.0",,"Library","P3DCorrectBoltsetLengths","accoremgd|acdbmgd|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DCorrectBoltsetLengths","P3DCorrectBoltsetLengths","P3DCorrectBoltsetLengths\repo\P3DCorrectBoltsetLengths\P3DCorrectBoltsetLengths.csproj","v4.7",,"Library","P3DCorrectBoltsetLengths","accoremgd|acdbmgd|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DDeleteNewLineInValues","P3DDeleteNewLineInValues","_v2.0\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues.csproj","v4.0",,"Library","P3DDeleteNewLineInValues","accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DDeleteNewLineInValues","P3DDeleteNewLineInValues","_v2.5\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues.csproj","v4.7",,"Library","P3DDeleteNewLineInValues","accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DEnumerateSupports","CheckOrthoView","_v2.0\P3DEnumerateSupports\2019_CheckOrthoView\2019_CheckOrthoView\CheckOrthoView.csproj","v4.0",,"Library","CheckOrthoView","accoremgd|acdbmgd|acmgd|EnablerLoader|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DEnumerateSupports","EnablerLoader","_v2.0\P3DEnumerateSupports\EnablerLoader\EnablerLoader\EnablerLoader.csproj","v4.0",,"Library","EnablerLoader","accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms|","","no","not observed","yes"
"P3DEnumerateSupports","LoadedAssemblies","_v2.0\P3DEnumerateSupports\LoadedAssemblies\LoadedAssemblies\LoadedAssemblies.csproj","v4.0",,"Library","LoadedAssemblies","accoremgd|acdbmgd|System|Microsoft.CSharp|","","no","not observed","yes"
"P3DEnumerateSupports","P3DCopyMissingObjectsToOrthoDrawing","_v2.0\P3DEnumerateSupports\2019_P3DCopyMissingObjectsToOrthoDrawing\2019_P3DCopyMissingObjectsToOrthoDrawing\P3DCopyMissingObjectsToOrthoDrawing.csproj","v4.7",,"Library","P3DCopyMissingObjectsToOrthoDrawing","accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnPProjectManagerMgd","no","not observed","yes"
"P3DEnumerateSupports","P3DEnumerateSupports","_v2.0\P3DEnumerateSupports\P3DEnumerateSupports\P3DEnumerateSupports\P3DEnumerateSupports.csproj","v4.7",,"Library","P3DEnumerateSupports","accoremgd|acdbmgd|acmgd|CheckOrthoView|EPPlus|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|","acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DGetBoltsetReport","P3DGetBoltsetReport","P3DGetBoltsetReport\P3DGetBoltsetReport\P3DGetBoltsetReport.csproj","v4.0",,"Library","P3DGetBoltsetReport","accoremgd|acdbmgd|acmgd|EnablerLoader|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DGetPnPId","P3DGetPnPId","_v2.0\P3DGetPnPId\P3DGetPnPId\P3DGetPnPId\P3DGetPnPId.csproj","v4.0",,"Library","P3DGetPnPId","accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd","no","not observed","yes"
"P3DGetReportNew","P3DGetReport","_v2.0\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew\P3DGetReport.csproj","v4.0","AnyCPU","Exe","P3DGetReport","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","","no","not observed","yes"
"P3DGetReportNew","P3DGetReport","_v2.5\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew\P3DGetReport.csproj","v4.7","AnyCPU","Exe","P3DGetReport","System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","","no","not observed","yes"
"P3DPlotToPdfIsoMasterfile","P3DPlotToPdfIsoMasterfile","_v2.0\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile.csproj","v4.6",,"Library","P3DPlotToPdfIsoMasterfile","accoremgd|acdbmgd|acmgd|AdWindows|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|PnPProjectManagerMgd","no","not observed","yes"
"P3DSelectComponents","P3DSelectComponents","_v2.0\P3DSelectComponents\P3DSelectComponents\P3DSelectComponents\P3DSelectComponents.csproj","v4.7","x86","Library","P3DSelectComponents","|accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|System|System.Data|System.Drawing|System.Windows.Forms|System.Xml|","acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DSetLayerForViewport","P3DSetLayerForViewport","_v2.0\OrthoTools.2019\P3DSetLayerForViewport\P3DSetLayerForViewport\P3DSetLayerForViewport.csproj","v4.7",,"Library","P3DSetLayerForViewport","accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd","no","not observed","yes"
"P3DUpdateFixedPipeLengths","EnablerLoader","_v2.0\P3DUpdateFixedPipeLengths\EnablerLoader\EnablerLoader\EnablerLoader.csproj","v4.0",,"Library","EnablerLoader","accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms|","","no","not observed","yes"
"P3DUpdateFixedPipeLengths","GetComponentGeometryDescription","_v2.0\P3DUpdateFixedPipeLengths\GetComponentGeometryDescription - 2018\GetComponentGeometryDescription\GetComponentGeometryDescription.csproj","v4.7.2",,"Library","GetComponentGeometryDescription","accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPProjectManagerMgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPProjectManagerMgd","no","possible","yes"
"P3DUpdateFixedPipeLengths","LoadedAssemblies","_v2.0\P3DUpdateFixedPipeLengths\LoadedAssemblies\LoadedAssemblies\LoadedAssemblies.csproj","v4.0",,"Library","LoadedAssemblies","accoremgd|acdbmgd|System|Microsoft.CSharp|","","no","not observed","yes"
"P3DUpdateFixedPipeLengths","P3DUpdateFixedPipeLengths","_v2.0\P3DUpdateFixedPipeLengths\2019_P3DUpdateFixedPipeLengths\2019_P3DUpdateFixedPipeLengths\P3DUpdateFixedPipeLengths.csproj","v4.7",,"Library","P3DUpdateFixedPipeLengths","accoremgd|acdbmgd|acmgd|AdWindows|EnablerLoader|GetComponentGeometryDescription|LoadedAssemblies, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","possible","yes"
"P3DUpdateFixedPipeLengths","P3DUpdateFixedPipeLengths","_v2.5\P3DUpdateFixedPipeLengths\P3DUpdateFixedPipeLengths\P3DUpdateFixedPipeLengths.csproj","v4.7",,"Library","P3DUpdateFixedPipeLengths","accoremgd|acdbmgd|acmgd|AdWindows|EnablerLoader|GetComponentGeometryDescription|LoadedAssemblies, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","possible","yes"
"P3DUpdateFlanges","P3DUpdateFlanges","_v2.0\P3DUpdateFlanges\P3DUpdateFlanges\P3DUpdateFlanges.csproj","v4.7.2",,"Library","P3DUpdateFlanges","accoremgd|acdbmgd|acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DUpdateFlanges","P3DUpdateFlanges","_v2.5\P3DUpdateFlanges\_prev v.0.0.8\P3DUpdateFlanges\P3DUpdateFlanges.csproj","v4.7",,"Library","P3DUpdateFlanges","accoremgd|acdbmgd|acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|","acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DUpdateFlanges","P3DUpdateFlanges","_v2.5\P3DUpdateFlanges\repo\P3DUpdateFlanges\P3DUpdateFlanges.csproj","v4.7","x64","Library","P3DUpdateFlanges","accoremgd|acdbmgd|acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||","acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","no","not observed","yes"
"P3DUpdateValves","2019_P3DUpdateValves","_v2.0\P3DUpdateValves\P3DUpdateValves\2019_P3DUpdateValves\2019_P3DUpdateValves.csproj","v4.7",,"Library","P3DUpdateValves","accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","yes","not observed","yes"
"P3DUpdateValves","P3DUpdateValves","_v2.5\P3DUpdateValves\P3DUpdateValves\P3DUpdateValves.csproj","v4.7",,"Library","P3DUpdateValves","accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||","acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd","yes","not observed","yes"
1 family module source_path target_framework platform_target output_type assembly_name references autodesk_refs sqlite com source_present
2 P_Check_CompP3D P_Check_CompP3D _v2.5\P_Check_CompP3D\P_Check_CompP3D\P_Check_CompP3D.csproj v4.7 Library P_Check_CompP3D accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Windows.Forms|Microsoft.CSharp|System.XML| acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no possible yes
3 P_Check_Pipe P_Check_Pipe _v2.5\P_Check_Pipe\P_Check_Pipe\P_Check_Pipe.csproj v4.7 x86 Library P_Check_Pipe |accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|System|System.Data|System.Drawing|System.Windows.Forms|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
4 P_Check_Project P3DCheckProject _v2.5\P_Check_Project\P_Check_Project\P3DCheckProject.csproj v4.7 Library P_Check_Project accoremgd|acdbmgd|acmgd|EnablerLoader|HelpDesk|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
5 P_Exp_ToHydra P_Exp_ToHydra _v2.5\P_Exp_ToHydra\P_Exp_ToHydra\P_Exp_ToHydra.csproj v4.7 x64 Library P_Exp_ToHydra accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||| acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
6 P_Exp_ToInsul ExportToInsulation _v2.5\P_Exp_ToInsul\info\prev\P_Exp_ToInsul\ExportToInsulation.csproj v4.7 x86 Exe P_Exp_ToInsul |Excel|PresentationCore|PresentationFramework|System|System.Data|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Drawing|System.Windows.Forms|System.Xaml|System.XML|System.Xml.Linq|TaskDialog|WindowsBase||| yes possible yes
7 P_Exp_ToInsul ExportToInsulation _v2.5\P_Exp_ToInsul\repo\P_Exp_ToInsul\ExportToInsulation.csproj v4.7 x86 Exe P_Exp_ToInsul |Excel, Version=2.1.0.0, Culture=neutral, PublicKeyToken=93517dbe6a4012fa, processorArchitecture=MSIL|PresentationCore|PresentationFramework|System|System.Data|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Drawing|System.Windows.Forms|System.Xaml|System.XML|System.Xml.Linq|TaskDialog, Version=1.0.4372.18283, Culture=neutral, processorArchitecture=MSIL|WindowsBase|||| yes possible yes
8 P_Exp_ToRevit_MS P_Exp_ToRevit_MS _v2.5\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS.csproj v4.7 Library P_Exp_ToRevit_MS accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|PnPProjectManagerMgd yes not observed yes
9 P_Exp_ToRevit_MS P_Exp_ToRevit_MS P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS.csproj v4.8 x64 Library P_Exp_ToRevit_MS accoremgd|acdbmgd|acmgd|AdWindows|PnPProjectManagerMgd|PresentationCore|PresentationFramework|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|WindowsBase||| acmgd|PnPProjectManagerMgd yes not observed yes
10 P_Exp_ToRevit_MS p2r _v2.5\P_Exp_ToRevit_MS\P_Exp_ToRevit_MS\Old\p2r.csproj v4.7.2 Library p2r accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common yes possible yes
11 P_Exp_ToRevit_MS p2r _v2.5\P_Exp_ToRevit_MS\versions\01 v1.0.0.0\p2r\Old\p2r.csproj v4.7.2 Library p2r accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common yes possible yes
12 P_Exp_ToRevit_MS p2r _v2.5\P_Exp_ToRevit_MS\versions\01 v1.0.0.0\p2r\p2r.csproj v4.7.2 Library p2r accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|PnPProjectManagerMgd yes not observed yes
13 P_Exp_ToRevit_MS p2r _v2.5\P_Exp_ToRevit_MS\versions\v1.0.0.1\p2r\Old\p2r.csproj v4.7.2 Library p2r accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common yes possible yes
14 P_Exp_ToRevit_MS p2r _v2.5\P_Exp_ToRevit_MS\versions\v1.0.0.1\p2r\p2r.csproj v4.7.2 Library p2r accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|PnPProjectManagerMgd yes not observed yes
15 P_Exp_ToRevit_MS p2r _v2.5\P_Exp_ToRevit_MS\versions\v1.0.0.2\p2r\Old\p2r.csproj v4.7.2 Library p2r accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common yes possible yes
16 P_Exp_ToRevit_MS p2r _v2.5\P_Exp_ToRevit_MS\versions\v1.0.0.2\p2r\p2r.csproj v4.7.2 Library p2r accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|PnPProjectManagerMgd yes not observed yes
17 P_Exp_ToRevit_MS p2r P_Exp_ToRevit_MS\P_Exp_ToRevit_MS v.2.0.0.0\P_Exp_ToRevit_MS\Old\p2r.csproj v4.7.2 Library p2r accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|Autodesk.AutoCAD.Interop|Autodesk.AutoCAD.Interop.Common yes possible yes
18 P_Exp_ToStart P_Exp_ToStart _v2.5\P_Exp_ToStart\P_Exp_ToStart\P_Exp_ToStart.csproj v4.7 x64 Library P_Exp_ToStart accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml||| acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
19 P_Imp_FromPTH P_Imp_FromPTH _v2.5\P_Imp_FromPTH\P_Imp_FromPTH\P_Imp_FromPTH.csproj v4.7 Library P_Imp_FromPTH accoremgd|acdbmgd|Excel|PnP3dPipeUI|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|PresentationFramework|System|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|System.Data|System.Xml|WindowsBase|| PnP3dPipeUI|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no possible yes
20 P_Rec_Annot AnnotateLineNumbers _v2.5\P_Rec_Annot\2019_AnnotateLineNumbers\2019_AnnotateLineNumbers\AnnotateLineNumbers.csproj v4.7 Library AnnotateLineNumbers accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|GetLinenumberAnnotationText, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DSetLayerForViewport, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no possible yes
21 P_Rec_Annot AnnotateLineNumbers P_Rec_Annot\v1.0.2\repo\AnnotateLineNumbers\AnnotateLineNumbers.csproj v4.7 x64 Library AnnotateLineNumbers accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|EnablerLoader|GetLinenumberAnnotationText|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||| acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no possible yes
22 P_Rec_Annot AnnotateLineNumbers P_Rec_Annot\v1.0.4\repo\AnnotateLineNumbers\AnnotateLineNumbers.csproj v4.7 x64 Library AnnotateLineNumbers accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|EnablerLoader|GetLinenumberAnnotationText|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||| acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no possible yes
23 P_Rec_Annot AutoAnnotateView _v2.5\P_Rec_Annot\2019_AutoAnnotateView\2019_AutoAnnotateView\AutoAnnotateView.csproj v4.7 Library AutoAnnotateView accoremgd|acdbmgd|acmgd|CheckOrthoView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|ExtentsIntersect, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DSetLayerForViewport, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
24 P_Rec_Annot AutoAnnotateView P_Rec_Annot\v1.0.2\repo\AutoAnnotateView\AutoAnnotateView.csproj v4.7 AnyCPU Library AutoAnnotateView accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|ExtentsIntersect|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
25 P_Rec_Annot AutoAnnotateView P_Rec_Annot\v1.0.4\repo\AutoAnnotateView\AutoAnnotateView.csproj v4.7 x64 Library AutoAnnotateView accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|ExtentsIntersect|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
26 P_Rec_Annot AutoElevation _v2.5\P_Rec_Annot\2019_AutoElevation\2019_AutoElevation\AutoElevation.csproj v4.7 Library AutoElevation accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd no possible yes
27 P_Rec_Annot AutoElevation P_Rec_Annot\v1.0.2\repo\AutoElevation\AutoElevation.csproj v4.7 x64 Library AutoElevation accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd no possible yes
28 P_Rec_Annot AutoElevation P_Rec_Annot\v1.0.4\repo\AutoElevation\AutoElevation.csproj v4.7 x64 Library AutoElevation accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd no possible yes
29 P_Rec_Annot AutoLinenumberConnections _v2.5\P_Rec_Annot\2019_AutoLinenumberConnections\2019_AutoLinenumberConnections\AutoLinenumberConnections.csproj v4.7 Library AutoLinenumberConnections accoremgd|acdbmgd|acmgd|CheckOrthoView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|ExtentsIntersect, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|GetLinenumberAnnotationText, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DSetLayerForViewport, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
30 P_Rec_Annot AutoLinenumberConnections P_Rec_Annot\v1.0.2\repo\AutoLinenumberConnections\AutoLinenumberConnections.csproj v4.7 x64 Library AutoLinenumberConnections accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|ExtentsIntersect|GetLinenumberAnnotationText|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
31 P_Rec_Annot AutoLinenumberConnections P_Rec_Annot\v1.0.4\repo\AutoLinenumberConnections\AutoLinenumberConnections.csproj v4.7 x64 Library AutoLinenumberConnections accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|ExtentsIntersect|GetLinenumberAnnotationText|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
32 P_Rec_Annot CheckOrthoView _v2.5\P_Rec_Annot\2019_CheckOrthoView\2019_CheckOrthoView\CheckOrthoView.csproj v4.7 Library CheckOrthoView accoremgd|acdbmgd|acmgd|EnablerLoader|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
33 P_Rec_Annot CheckOrthoView P_Rec_Annot\v1.0.2\repo\CheckOrthoView\CheckOrthoView.csproj v4.7 x64 Library CheckOrthoView accoremgd|acdbmgd|acmgd|EnablerLoader|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
34 P_Rec_Annot CheckOrthoView P_Rec_Annot\v1.0.4\repo\CheckOrthoView\CheckOrthoView.csproj v4.7 x64 Library CheckOrthoView accoremgd|acdbmgd|acmgd|EnablerLoader|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
35 P_Rec_Annot EnablerLoader _v2.5\P_Rec_Annot\EnablerLoader\EnablerLoader\EnablerLoader.csproj v4.7 Library EnablerLoader accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms| no not observed yes
36 P_Rec_Annot EnablerLoader P_Rec_Annot\v1.0.2\repo\EnablerLoader\EnablerLoader.csproj v4.7 x64 Library EnablerLoader accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms| no not observed yes
37 P_Rec_Annot EnablerLoader P_Rec_Annot\v1.0.4\repo\EnablerLoader\EnablerLoader.csproj v4.7 x64 Library EnablerLoader accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms| no not observed yes
38 P_Rec_Annot ExtentsIntersect _v2.5\P_Rec_Annot\ExtentsIntersect\ExtentsIntersect\ExtentsIntersect.csproj v4.7 Library ExtentsIntersect accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd no not observed yes
39 P_Rec_Annot ExtentsIntersect P_Rec_Annot\v1.0.2\repo\ExtentsIntersect\ExtentsIntersect.csproj v4.7 x64 Library ExtentsIntersect accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd no not observed yes
40 P_Rec_Annot ExtentsIntersect P_Rec_Annot\v1.0.4\repo\ExtentsIntersect\ExtentsIntersect.csproj v4.7 x64 Library ExtentsIntersect accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd no not observed yes
41 P_Rec_Annot GetComponentGeometry P_Rec_Annot\v1.0.2\repo\GetComponentGeometry\GetComponentGeometry.csproj v4.7 x64 Library GetComponentGeometry accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|GetPlantScriptFolderPath|GetScriptParameters|PnP3dObjectsMgd|PnP3dPartsRepository|System|Microsoft.CSharp| acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository no possible yes
42 P_Rec_Annot GetComponentGeometry P_Rec_Annot\v1.0.4\repo\GetComponentGeometry\GetComponentGeometry.csproj v4.7 x64 Library GetComponentGeometry accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|GetPlantScriptFolderPath|GetScriptParameters|PnP3dObjectsMgd|PnP3dPartsRepository|System|Microsoft.CSharp| acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository no possible yes
43 P_Rec_Annot GetComponentGeometryDescription _v2.5\P_Rec_Annot\2019_GetComponentGeometryDescription (без ReferenceFiler)\2019_GetComponentGeometryDescription\GetComponentGeometryDescription.csproj v4.7 Library GetComponentGeometry accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|GetPlantScriptFolderPath, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|GetScriptParameters, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|System|Microsoft.CSharp| acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository no possible yes
44 P_Rec_Annot GetLinenumberAnnotationText _v2.5\P_Rec_Annot\2019_GetLinenumberAnnotationText\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj v4.7 Library GetLinenumberAnnotationText Excel, Version=2.1.0.0, Culture=neutral, PublicKeyToken=93517dbe6a4012fa, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| PnPDataLinks|PnPDataObjects no possible yes
45 P_Rec_Annot GetLinenumberAnnotationText _v2.5\P_Rec_Annot\2019_GetLinenumberAnnotationText_ТАИФ\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj v4.7 Library GetLinenumberAnnotationText Excel, Version=2.1.0.0, Culture=neutral, PublicKeyToken=93517dbe6a4012fa, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| PnPDataLinks|PnPDataObjects no possible yes
46 P_Rec_Annot GetLinenumberAnnotationText P_Rec_Annot\v1.0.2\repo\_archive\2019_GetLinenumberAnnotationText\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj v4.7 Library GetLinenumberAnnotationText Excel|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| PnPDataLinks|PnPDataObjects no possible yes
47 P_Rec_Annot GetLinenumberAnnotationText P_Rec_Annot\v1.0.2\repo\_archive\2019_GetLinenumberAnnotationText_ТАИФ\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj v4.7 Library GetLinenumberAnnotationText Excel|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| PnPDataLinks|PnPDataObjects no possible yes
48 P_Rec_Annot GetLinenumberAnnotationText P_Rec_Annot\v1.0.2\repo\GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj v4.7 x64 Library GetLinenumberAnnotationText accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
49 P_Rec_Annot GetLinenumberAnnotationText P_Rec_Annot\v1.0.4\repo\_archive\2019_GetLinenumberAnnotationText\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj v4.7 Library GetLinenumberAnnotationText Excel|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| PnPDataLinks|PnPDataObjects no possible yes
50 P_Rec_Annot GetLinenumberAnnotationText P_Rec_Annot\v1.0.4\repo\_archive\2019_GetLinenumberAnnotationText_ТАИФ\2019_GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj v4.7 Library GetLinenumberAnnotationText Excel|PnPDataLinks|PnPDataObjects|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| PnPDataLinks|PnPDataObjects no possible yes
51 P_Rec_Annot GetLinenumberAnnotationText P_Rec_Annot\v1.0.4\repo\GetLinenumberAnnotationText\GetLinenumberAnnotationText.csproj v4.7 x64 Library GetLinenumberAnnotationText accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
52 P_Rec_Annot GetPlantScriptFolderPath _v2.5\P_Rec_Annot\GetPlantScriptFolderPath\GetPlantScriptFolderPath\GetPlantScriptFolderPath.csproj v4.7 Library GetPlantScriptFolderPath accoremgd|acmgd|System|Microsoft.CSharp|System.XML|System.Xml.Linq| acmgd no not observed yes
53 P_Rec_Annot GetPlantScriptFolderPath P_Rec_Annot\v1.0.2\repo\GetPlantScriptFolderPath\GetPlantScriptFolderPath.csproj v4.7 x64 Library GetPlantScriptFolderPath accoremgd|acmgd|System|Microsoft.CSharp|System.XML|System.Xml.Linq| acmgd no not observed yes
54 P_Rec_Annot GetPlantScriptFolderPath P_Rec_Annot\v1.0.4\repo\GetPlantScriptFolderPath\GetPlantScriptFolderPath.csproj v4.7 x64 Library GetPlantScriptFolderPath accoremgd|acmgd|System|Microsoft.CSharp|System.XML|System.Xml.Linq| acmgd no not observed yes
55 P_Rec_Annot GetScriptParameters _v2.5\P_Rec_Annot\GetScriptParameters\GetScriptParameters\GetScriptParameters.csproj v4.7 Library GetScriptParameters System|Microsoft.CSharp| no not observed yes
56 P_Rec_Annot GetScriptParameters P_Rec_Annot\v1.0.2\repo\GetScriptParameters\GetScriptParameters.csproj v4.7 x64 Library GetScriptParameters System|Microsoft.CSharp| no not observed yes
57 P_Rec_Annot GetScriptParameters P_Rec_Annot\v1.0.4\repo\GetScriptParameters\GetScriptParameters.csproj v4.7 x64 Library GetScriptParameters System|Microsoft.CSharp| no not observed yes
58 P_Rec_Annot InsertElevation _v2.5\P_Rec_Annot\2019_InsertElevation\2019_InsertElevation\InsertElevation.csproj v4.7 Library InsertElevation accoremgd|acdbmgd|acmgd|EnablerLoader|P3DCopyMissingObjectsToOrthoDrawing|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
59 P_Rec_Annot InsertElevation _v2.5\P_Rec_Annot\2019_InsertElevation_ОЗХ\2019_InsertElevation\2019_InsertElevation\InsertElevation.csproj v4.7 Library InsertElevation accoremgd|acdbmgd|acmgd|EnablerLoader|P3DCopyMissingObjectsToOrthoDrawing|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
60 P_Rec_Annot InsertElevation P_Rec_Annot\v1.0.2\repo\_archive\2019_InsertElevation_ОЗХ\2019_InsertElevation\2019_InsertElevation\InsertElevation.csproj v4.7 Library InsertElevation accoremgd|acdbmgd|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
61 P_Rec_Annot InsertElevation P_Rec_Annot\v1.0.2\repo\InsertElevation\InsertElevation.csproj v4.7 x64 Library InsertElevation accoremgd|acdbmgd|acmgd|EnablerLoader|P3DCopyMissingObjectsToOrthoDrawing|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
62 P_Rec_Annot InsertElevation P_Rec_Annot\v1.0.4\repo\_archive\2019_InsertElevation_ОЗХ\2019_InsertElevation\2019_InsertElevation\InsertElevation.csproj v4.7 Library InsertElevation accoremgd|acdbmgd|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
63 P_Rec_Annot InsertElevation P_Rec_Annot\v1.0.4\repo\InsertElevation\InsertElevation.csproj v4.7 x64 Library InsertElevation accoremgd|acdbmgd|acmgd|EnablerLoader|P3DCopyMissingObjectsToOrthoDrawing|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
64 P_Rec_Annot LoadedAssemblies _v2.5\P_Rec_Annot\LoadedAssemblies\LoadedAssemblies\LoadedAssemblies.csproj v4.7 Library LoadedAssemblies accoremgd|acdbmgd|System|Microsoft.CSharp| no not observed yes
65 P_Rec_Annot LoadedAssemblies P_Rec_Annot\v1.0.2\repo\LoadedAssemblies\LoadedAssemblies.csproj v4.7 x64 Library LoadedAssemblies accoremgd|acdbmgd|System|Microsoft.CSharp| no not observed yes
66 P_Rec_Annot LoadedAssemblies P_Rec_Annot\v1.0.4\repo\LoadedAssemblies\LoadedAssemblies.csproj v4.7 x64 Library LoadedAssemblies accoremgd|acdbmgd|System|Microsoft.CSharp| no not observed yes
67 P_Rec_Annot OrthoAutoAnnotate _v2.5\P_Rec_Annot\2019_OrthoAutoAnnotate\2019_OrthoAutoAnnotate\OrthoAutoAnnotate.csproj v4.7 AnyCPU Library |accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.DirectoryServices|System.Windows.Forms|System.XML|System.Xml.Linq acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd no possible yes
68 P_Rec_Annot OrthoAutoAnnotate P_Rec_Annot\v1.0.2\repo\OrthoAutoAnnotate\OrthoAutoAnnotate.csproj v4.7 AnyCPU Library |accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.DirectoryServices|System.Windows.Forms|System.XML|System.Xml.Linq acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd no possible yes
69 P_Rec_Annot OrthoAutoAnnotate P_Rec_Annot\v1.0.4\repo\OrthoAutoAnnotate\OrthoAutoAnnotate.csproj v4.7 x64 Library |accoremgd|acdbmgd|acmgd|CheckOrthoView|EnablerLoader|GetComponentGeometry|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.DirectoryServices|System.Windows.Forms|System.XML|System.Xml.Linq acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPDwg2dUtil|PnPProjectManagerMgd no possible yes
70 P_Rec_Annot OrthoLoader _v2.5\P_Rec_Annot\OrthoLoader\OrthoLoader\OrthoLoader.csproj v4.7 Library OrthoLoader accoremgd|acdbmgd|acmgd|System|System.Core|System.Windows.Forms|System.XML|System.Xml.Linq|Microsoft.CSharp| acmgd no not observed yes
71 P_Rec_Annot OrthoLoader P_Rec_Annot\v1.0.2\repo\OrthoLoader\OrthoLoader.csproj v4.7 x64 Library OrthoLoader accoremgd|acdbmgd|acmgd|AdWindows|PnPProjectManagerMgd|PresentationCore|PresentationFramework|System|System.Core|System.Windows.Forms|System.XML|System.Xml.Linq|Microsoft.CSharp|WindowsBase|| acmgd|PnPProjectManagerMgd no not observed yes
72 P_Rec_Annot OrthoLoader P_Rec_Annot\v1.0.4\repo\OrthoLoader\OrthoLoader.csproj v4.7 x64 Library OrthoLoader accoremgd|acdbmgd|acmgd|AdWindows|PnPProjectManagerMgd|PresentationCore|PresentationFramework|System|System.Core|System.Windows.Forms|System.XML|System.Xml.Linq|Microsoft.CSharp|WindowsBase|| acmgd|PnPProjectManagerMgd no not observed yes
73 P_Rec_Annot P3DCopyMissingObjectsToOrthoDrawing _v2.5\P_Rec_Annot\2019_P3DCopyMissingObjectsToOrthoDrawing\2019_P3DCopyMissingObjectsToOrthoDrawing\P3DCopyMissingObjectsToOrthoDrawing.csproj v4.7 Library P3DCopyMissingObjectsToOrthoDrawing accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPProjectManagerMgd no not observed yes
74 P_Rec_Annot P3DCopyMissingObjectsToOrthoDrawing P_Rec_Annot\v1.0.2\repo\P3DCopyMissingObjectsToOrthoDrawing\P3DCopyMissingObjectsToOrthoDrawing.csproj v4.7 x64 Library P3DCopyMissingObjectsToOrthoDrawing accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPProjectManagerMgd no not observed yes
75 P_Rec_Annot P3DCopyMissingObjectsToOrthoDrawing P_Rec_Annot\v1.0.4\repo\P3DCopyMissingObjectsToOrthoDrawing\P3DCopyMissingObjectsToOrthoDrawing.csproj v4.7 x64 Library P3DCopyMissingObjectsToOrthoDrawing accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPProjectManagerMgd no not observed yes
76 P_Rec_Annot P3DNewMa P_Rec_Annot\v1.0.4\repo\P3DNewMa\P3DNewMa.csproj v4.7 x64 Library P3DNewMa accoremgd|acdbmgd, Version=23.0.0.0, Culture=neutral, processorArchitecture=AMD64|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|GetLinenumberAnnotationText, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|System|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data|System.Xml|| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
77 P_Rec_Annot P3DSetLayerForViewport _v2.5\P_Rec_Annot\P3DSetLayerForViewport\P3DSetLayerForViewport\P3DSetLayerForViewport.csproj v4.7 Library P3DSetLayerForViewport accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd no not observed yes
78 P_Rec_Annot P3DSetLayerForViewport P_Rec_Annot\v1.0.2\repo\P3DSetLayerForViewport\P3DSetLayerForViewport.csproj v4.7 x64 Library P3DSetLayerForViewport accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd no not observed yes
79 P_Rec_Annot P3DSetLayerForViewport P_Rec_Annot\v1.0.4\repo\P3DSetLayerForViewport\P3DSetLayerForViewport.csproj v4.7 x64 Library P3DSetLayerForViewport accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd no not observed yes
80 P_Rec_Annot PHPAnnotations _v2.5\P_Rec_Annot\2019_PHPAnnotations\2019_PHPAnnotations\PHPAnnotations.csproj v4.7 Library PHPAnnotations accoremgd|acdbmgd|acmgd|GetLinenumberAnnotationText|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no possible yes
81 P_Rec_Annot PHPAnnotations P_Rec_Annot\v1.0.2\repo\PHPAnnotations\PHPAnnotations.csproj v4.7 x64 Library PHPAnnotations accoremgd|acdbmgd|acmgd|GetLinenumberAnnotationText|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no possible yes
82 P_Rec_Annot PHPAnnotations P_Rec_Annot\v1.0.4\repo\PHPAnnotations\PHPAnnotations.csproj v4.7 x64 Library PHPAnnotations accoremgd|acdbmgd|acmgd|GetLinenumberAnnotationText|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|PnPCommonDbxMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no possible yes
83 P_Rec_Annot SwapAttributesMenuItem _v2.5\P_Rec_Annot\SwapAttributesMenuItem\SwapAttributesMenuItem\SwapAttributesMenuItem.csproj v4.7 Library SwapAttributesMenuItem accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|Microsoft.CSharp|System.Xml| acmgd no not observed yes
84 P_Rec_Annot SwapAttributesMenuItem P_Rec_Annot\v1.0.2\repo\SwapAttributesMenuItem\SwapAttributesMenuItem.csproj v4.7 x64 Library SwapAttributesMenuItem accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|Microsoft.CSharp|System.Xml| acmgd|PnPProjectManagerMgd no not observed yes
85 P_Rec_Annot SwapAttributesMenuItem P_Rec_Annot\v1.0.4\repo\SwapAttributesMenuItem\SwapAttributesMenuItem.csproj v4.7 x64 Library SwapAttributesMenuItem accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|Microsoft.CSharp|System.Xml| acmgd|PnPProjectManagerMgd no not observed yes
86 P_Rec_Annot UpdateOrthoDrawings _v2.5\P_Rec_Annot\2019_UpdateOrthoDrawings\2019_UpdateOrthoDrawings\UpdateOrthoDrawings.csproj v4.7 Library UpdateOrthoDrawings accoremgd|acdbmgd|acmgd|AutoAnnotateView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|AutoLinenumberConnections, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|OrthoAutoAnnotate, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd|PresentationCore|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|UpdateOrthoViewBlocks, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|WindowsBase|| acmgd|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd no not observed yes
87 P_Rec_Annot UpdateOrthoDrawings P_Rec_Annot\v1.0.2\repo\UpdateOrthoDrawings\UpdateOrthoDrawings.csproj v4.7 x64 Library UpdateOrthoDrawings accoremgd|acdbmgd|acmgd|AutoAnnotateView|AutoLinenumberConnections|OrthoAutoAnnotate|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd|PresentationCore|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|UpdateOrthoViewBlocks|WindowsBase|| acmgd|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd no not observed yes
88 P_Rec_Annot UpdateOrthoDrawings P_Rec_Annot\v1.0.4\repo\UpdateOrthoDrawings\UpdateOrthoDrawings.csproj v4.7 x64 Library UpdateOrthoDrawings accoremgd|acdbmgd|acmgd|AutoAnnotateView|AutoLinenumberConnections|OrthoAutoAnnotate|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd|PresentationCore|System|System.Core|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|UpdateOrthoViewBlocks|WindowsBase|| acmgd|PnP3dOrthoDrawingsUI|PnP3dOrthoProjectPart|PnP3dOrthoUtilMgd|PnPDataLinks|PnPDataObjects|PnPDwg2dAnno|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dGen|PnPDwg2dUtil|PnPProjectManagerMgd no not observed yes
89 P_Rec_Annot UpdateOrthoViewBlocks _v2.5\P_Rec_Annot\2019_UpdateOrthoViewBlocks\2019_UpdateOrthoViewBlocks\UpdateOrthoViewBlocks.csproj v4.7 Library UpdateOrthoViewBlocks accoremgd|acdbmgd|acmgd|P3DCopyMissingObjectsToOrthoDrawing, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|P3DSetLayerForViewport, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd no not observed yes
90 P_Rec_Annot UpdateOrthoViewBlocks P_Rec_Annot\v1.0.2\repo\UpdateOrthoViewBlocks\UpdateOrthoViewBlocks.csproj v4.7 x64 Library UpdateOrthoViewBlocks accoremgd|acdbmgd|acmgd|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd no not observed yes
91 P_Rec_Annot UpdateOrthoViewBlocks P_Rec_Annot\v1.0.4\repo\UpdateOrthoViewBlocks\UpdateOrthoViewBlocks.csproj v4.7 x64 Library UpdateOrthoViewBlocks accoremgd|acdbmgd|acmgd|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dOrthoDrawingsUI|PnPDataLinks|PnPDataObjects|PnPDwg2dDbx|PnPDwg2dDef|PnPDwg2dUtil|PnPProjectManagerMgd no not observed yes
92 P_Rec_BOP P_Rec_BOP _v2.5\P_Rec_BOP (old)\P_Rec_BOP\P_Rec_BOP.csproj v4.7 x86 Exe P_Rec_BOP |SautinSoft.Document|System|System.Data|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Drawing|System.Windows.Forms|System.XML|System.Xml.Linq||| yes not observed yes
93 P_Rec_BOP P_Rec_BOP P_Rec_BOP\repo\P_Rec_BOP\P_Rec_BOP.csproj v4.7 x86 Exe P_Rec_BOP |Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL|SautinSoft.Document|System|System.Data|System.Data.DataSetExtensions|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.XML|System.Xml.Linq|||| yes possible yes
94 P_Rec_Brac P_Rec_Brac _v2.5\P_Rec_Brac\P_Rec_Brac\P_Rec_Brac.csproj v4.7 Library P_Rec_Brac accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|EnablerLoader|GetComponentGeometryDescription|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Windows.Forms|System.XML|System.Xml.Linq|Microsoft.CSharp|System.Data|| acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd yes possible yes
95 P_Rec_Color GetAZO1 _v2.5\P_Rec_Color\GetAZO1\GetAZO1\GetAZO1.csproj v4.7 AnyCPU Exe GetAZO1 ConsoleGetDrawingInformation|EPPlus|PresentationCore|PresentationFramework|System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|TaskDialog|WindowsBase||| yes not observed yes
96 P_Rec_Color GetAZO2 _v2.5\P_Rec_Color\GetAZO2\GetAZO2\GetAZO2.csproj v4.7 AnyCPU Exe GetAZO2 EPPlus|SautinSoft.Document|System|System.Windows.Forms|System.Xml.Linq|System.Data|System.Xml|| no not observed yes
97 P_Rec_PipelineList OutputSpecificationToWord P_Rec_PipelineList\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj v4.7 x86 Exe OutputSpecificationToWord System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| no not observed yes
98 P_Rec_Print P_Rec_Print _v2.5\P_Rec_Print\P_Rec_Print\P_Rec_Print.csproj v4.7 Library P_Rec_Print accoremgd|acdbmgd|acmgd|AdWindows|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|PnPProjectManagerMgd no not observed yes
99 P_Rec_Spec AddNKRMaterials _v2.5\P_Rec_Spec\_old\AddNKRMaterials\AddNKRMaterials\AddNKRMaterials.csproj v4.7 x86 Exe AddNKRMaterials System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
100 P_Rec_Spec AddNKRMaterials _v2.5\P_Rec_Spec\10.0.1.2\source\AddNKRMaterials\AddNKRMaterials\AddNKRMaterials.csproj v4.7 x86 Exe AddNKRMaterials System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
101 P_Rec_Spec AddNKRMaterials _v2.5\P_Rec_Spec\10.0.1.3\source\AddNKRMaterials\AddNKRMaterials\AddNKRMaterials.csproj v4.7 x86 Exe AddNKRMaterials System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
102 P_Rec_Spec AddNKRMaterials _v2.5\P_Rec_Spec\10.0.1.4\source\AddNKRMaterials\AddNKRMaterials\AddNKRMaterials.csproj v4.7 x86 Exe AddNKRMaterials System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
103 P_Rec_Spec AddNKRMaterials _v2.5\P_Rec_Spec\10.0.1.5\source\AddNKRMaterials\AddNKRMaterials\AddNKRMaterials.csproj v4.7 x86 Exe AddNKRMaterials System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
104 P_Rec_Spec AddNuts _v2.5\P_Rec_Spec\_old\AddNuts\AddNuts\AddNuts.csproj v4.7 x86 Exe AddNuts System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| no not observed yes
105 P_Rec_Spec AddNuts _v2.5\P_Rec_Spec\10.0.1.2\source\AddNuts\AddNuts\AddNuts.csproj v4.7 x86 Exe AddNuts System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
106 P_Rec_Spec AddNuts _v2.5\P_Rec_Spec\10.0.1.3\source\AddNuts\AddNuts\AddNuts.csproj v4.7 x86 Exe AddNuts System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
107 P_Rec_Spec AddNuts _v2.5\P_Rec_Spec\10.0.1.4\source\AddNuts\AddNuts\AddNuts.csproj v4.7 x86 Exe AddNuts System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
108 P_Rec_Spec AddNuts _v2.5\P_Rec_Spec\10.0.1.5\source\AddNuts\AddNuts\AddNuts.csproj v4.7 x86 Exe AddNuts System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
109 P_Rec_Spec AddTracingPipeRecords _v2.5\P_Rec_Spec\_old\AddTracingPipeRecords\AddTracingPipeRecords\AddTracingPipeRecords.csproj v4.7 x86 Exe AddTracingPipeRecords System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| yes not observed yes
110 P_Rec_Spec AddTracingPipeRecords _v2.5\P_Rec_Spec\10.0.1.2\source\AddTracingPipeRecords\AddTracingPipeRecords\AddTracingPipeRecords.csproj v4.7 x86 Exe AddTracingPipeRecords System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| yes possible yes
111 P_Rec_Spec AddTracingPipeRecords _v2.5\P_Rec_Spec\10.0.1.3\source\AddTracingPipeRecords\AddTracingPipeRecords\AddTracingPipeRecords.csproj v4.7 x86 Exe AddTracingPipeRecords System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| yes possible yes
112 P_Rec_Spec AddTracingPipeRecords _v2.5\P_Rec_Spec\10.0.1.4\source\AddTracingPipeRecords\AddTracingPipeRecords\AddTracingPipeRecords.csproj v4.7 x86 Exe AddTracingPipeRecords System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| yes possible yes
113 P_Rec_Spec AddTracingPipeRecords _v2.5\P_Rec_Spec\10.0.1.5\source\AddTracingPipeRecords\AddTracingPipeRecords\AddTracingPipeRecords.csproj v4.7 x86 Exe AddTracingPipeRecords System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| yes possible yes
114 P_Rec_Spec AddUnstandardMaterialsRecords _v2.5\P_Rec_Spec\_old\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords.csproj v4.7 x86 Exe AddUnstandardMaterialsRecords |System|System.Data|System.XML| no not observed yes
115 P_Rec_Spec AddUnstandardMaterialsRecords _v2.5\P_Rec_Spec\10.0.1.2\source\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords.csproj v4.7 x86 Exe AddUnstandardMaterialsRecords |System|System.Data|System.XML| no not observed yes
116 P_Rec_Spec AddUnstandardMaterialsRecords _v2.5\P_Rec_Spec\10.0.1.3\source\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords.csproj v4.7 x86 Exe AddUnstandardMaterialsRecords |System|System.Data|System.XML| no not observed yes
117 P_Rec_Spec AddUnstandardMaterialsRecords _v2.5\P_Rec_Spec\10.0.1.4\source\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords.csproj v4.7 x86 Exe AddUnstandardMaterialsRecords |System|System.Data|System.XML| no not observed yes
118 P_Rec_Spec AddUnstandardMaterialsRecords _v2.5\P_Rec_Spec\10.0.1.5\source\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords\AddUnstandardMaterialsRecords.csproj v4.7 x86 Exe AddUnstandardMaterialsRecords |System|System.Data|System.XML| no not observed yes
119 P_Rec_Spec EditProjectProperties _v2.5\P_Rec_Spec\_old\EditProjectProperties\EditProjectProperties\EditProjectProperties.csproj v4.7 x86 Exe EditProjectProperties System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| yes not observed yes
120 P_Rec_Spec EditProjectProperties _v2.5\P_Rec_Spec\10.0.1.2\source\EditProjectProperties\EditProjectProperties\EditProjectProperties.csproj v4.7 x86 Exe EditProjectProperties System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||| yes not observed yes
121 P_Rec_Spec EditProjectProperties _v2.5\P_Rec_Spec\10.0.1.3\source\EditProjectProperties\EditProjectProperties\EditProjectProperties.csproj v4.7 x86 Exe EditProjectProperties System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||| yes not observed yes
122 P_Rec_Spec EditProjectProperties _v2.5\P_Rec_Spec\10.0.1.4\source\EditProjectProperties\EditProjectProperties\EditProjectProperties.csproj v4.7 x86 Exe EditProjectProperties System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||| yes not observed yes
123 P_Rec_Spec EditProjectProperties _v2.5\P_Rec_Spec\10.0.1.5\source\EditProjectProperties\EditProjectProperties\EditProjectProperties.csproj v4.7 x86 Exe EditProjectProperties System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|||| yes not observed yes
124 P_Rec_Spec ExcludeExistingComponentRecords _v2.5\P_Rec_Spec\_old\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords.csproj v4.7 x86 Exe ExcludeExistingComponentRecords System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
125 P_Rec_Spec ExcludeExistingComponentRecords _v2.5\P_Rec_Spec\10.0.1.2\source\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords.csproj v4.7 x86 Exe ExcludeExistingComponentRecords System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
126 P_Rec_Spec ExcludeExistingComponentRecords _v2.5\P_Rec_Spec\10.0.1.3\source\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords.csproj v4.7 x86 Exe ExcludeExistingComponentRecords System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
127 P_Rec_Spec ExcludeExistingComponentRecords _v2.5\P_Rec_Spec\10.0.1.4\source\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords.csproj v4.7 x86 Exe ExcludeExistingComponentRecords System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
128 P_Rec_Spec ExcludeExistingComponentRecords _v2.5\P_Rec_Spec\10.0.1.5\source\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords\ExcludeExistingComponentRecords.csproj v4.7 x86 Exe ExcludeExistingComponentRecords System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
129 P_Rec_Spec GetAssemblies _v2.5\P_Rec_Spec\_old\GetAssemblies1\GetAssemblies1\GetAssemblies.csproj v4.7 x86 Exe GetAssemblies System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
130 P_Rec_Spec GetAssemblies _v2.5\P_Rec_Spec\10.0.1.2\source\GetAssemblies1\GetAssemblies1\GetAssemblies.csproj v4.7 x86 Exe GetAssemblies System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
131 P_Rec_Spec GetAssemblies _v2.5\P_Rec_Spec\10.0.1.3\source\GetAssemblies1\GetAssemblies1\GetAssemblies.csproj v4.7 x86 Exe GetAssemblies System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
132 P_Rec_Spec GetAssemblies _v2.5\P_Rec_Spec\10.0.1.4\source\GetAssemblies1\GetAssemblies1\GetAssemblies.csproj v4.7 x86 Exe GetAssemblies System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
133 P_Rec_Spec GetAssemblies _v2.5\P_Rec_Spec\10.0.1.5\source\GetAssemblies1\GetAssemblies1\GetAssemblies.csproj v4.7 x86 Exe GetAssemblies System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
134 P_Rec_Spec GetSpecialAssemblies _v2.5\P_Rec_Spec\_old\GetSpecialAssemblies\GetSpecialAssemblies\GetSpecialAssemblies.csproj v4.7 x86 Exe GetSpecialAssemblies System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
135 P_Rec_Spec GetSpecialAssemblies _v2.5\P_Rec_Spec\10.0.1.2\source\GetSpecialAssemblies\GetSpecialAssemblies\GetSpecialAssemblies.csproj v4.7 x86 Exe GetSpecialAssemblies System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
136 P_Rec_Spec GetSpecialAssemblies _v2.5\P_Rec_Spec\10.0.1.3\source\GetSpecialAssemblies\GetSpecialAssemblies\GetSpecialAssemblies.csproj v4.7 x86 Exe GetSpecialAssemblies System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
137 P_Rec_Spec GetSpecialAssemblies _v2.5\P_Rec_Spec\10.0.1.4\source\GetSpecialAssemblies\GetSpecialAssemblies\GetSpecialAssemblies.csproj v4.7 x86 Exe GetSpecialAssemblies System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
138 P_Rec_Spec GetSpecialAssemblies _v2.5\P_Rec_Spec\10.0.1.5\source\GetSpecialAssemblies\GetSpecialAssemblies\GetSpecialAssemblies.csproj v4.7 x86 Exe GetSpecialAssemblies System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
139 P_Rec_Spec GroupRecords _v2.5\P_Rec_Spec\_old\GroupRecords\GroupRecords\GroupRecords.csproj v4.7 x86 Exe GroupRecords System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
140 P_Rec_Spec GroupRecords _v2.5\P_Rec_Spec\10.0.1.2\source\GroupRecords\GroupRecords\GroupRecords.csproj v4.7 x86 Exe GroupRecords System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
141 P_Rec_Spec GroupRecords _v2.5\P_Rec_Spec\10.0.1.3\source\GroupRecords\GroupRecords\GroupRecords.csproj v4.7 x86 Exe GroupRecords System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
142 P_Rec_Spec GroupRecords _v2.5\P_Rec_Spec\10.0.1.4\source\GroupRecords\GroupRecords\GroupRecords.csproj v4.7 x86 Exe GroupRecords System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
143 P_Rec_Spec GroupRecords _v2.5\P_Rec_Spec\10.0.1.5\source\GroupRecords\GroupRecords\GroupRecords.csproj v4.7 x86 Exe GroupRecords System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
144 P_Rec_Spec OutputSpecificationToWord _v2.5\P_Rec_Spec\_old\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj v4.7 x86 Exe OutputSpecificationToWord System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| no not observed yes
145 P_Rec_Spec OutputSpecificationToWord _v2.5\P_Rec_Spec\10.0.1.2\source\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj v4.7 x86 Exe OutputSpecificationToWord System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| no not observed yes
146 P_Rec_Spec OutputSpecificationToWord _v2.5\P_Rec_Spec\10.0.1.3\source\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj v4.7 x86 Exe OutputSpecificationToWord System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| no not observed yes
147 P_Rec_Spec OutputSpecificationToWord _v2.5\P_Rec_Spec\10.0.1.4\source\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj v4.7 x86 Exe OutputSpecificationToWord System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| no not observed yes
148 P_Rec_Spec OutputSpecificationToWord _v2.5\P_Rec_Spec\10.0.1.5\source\OutputSpecificationToWord\OutputSpecificationToWord\OutputSpecificationToWord.csproj v4.7 x86 Exe OutputSpecificationToWord System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| no not observed yes
149 P_Rec_Spec PipeBendMakePipe _v2.5\P_Rec_Spec\_old\PipeBendMakePipe\PipeBendMakePipe\PipeBendMakePipe.csproj v4.7 x86 Exe PipeBendMakePipe System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| yes not observed yes
150 P_Rec_Spec PipeBendMakePipe _v2.5\P_Rec_Spec\10.0.1.2\source\PipeBendMakePipe\PipeBendMakePipe\PipeBendMakePipe.csproj v4.7 x86 Exe PipeBendMakePipe System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| yes possible yes
151 P_Rec_Spec PipeBendMakePipe _v2.5\P_Rec_Spec\10.0.1.3\source\PipeBendMakePipe\PipeBendMakePipe\PipeBendMakePipe.csproj v4.7 x86 Exe PipeBendMakePipe System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| yes possible yes
152 P_Rec_Spec PipeBendMakePipe _v2.5\P_Rec_Spec\10.0.1.4\source\PipeBendMakePipe\PipeBendMakePipe\PipeBendMakePipe.csproj v4.7 x86 Exe PipeBendMakePipe System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| yes possible yes
153 P_Rec_Spec PipeBendMakePipe _v2.5\P_Rec_Spec\10.0.1.5\source\PipeBendMakePipe\PipeBendMakePipe\PipeBendMakePipe.csproj v4.7 x86 Exe PipeBendMakePipe System|System.ComponentModel.DataAnnotations|System.Core|System.Data.SQLite, Version=1.0.118.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| yes possible yes
154 P_Rec_Spec RemoveLeftAndRightFromScriptName _v2.5\P_Rec_Spec\_old\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScriptName.csproj v4.7 x86 Exe RemoveLeftAndRightFromScriptName System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
155 P_Rec_Spec RemoveLeftAndRightFromScriptName _v2.5\P_Rec_Spec\10.0.1.2\source\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScriptName.csproj v4.7 x86 Exe RemoveLeftAndRightFromScriptName System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
156 P_Rec_Spec RemoveLeftAndRightFromScriptName _v2.5\P_Rec_Spec\10.0.1.3\source\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScriptName.csproj v4.7 x86 Exe RemoveLeftAndRightFromScriptName System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
157 P_Rec_Spec RemoveLeftAndRightFromScriptName _v2.5\P_Rec_Spec\10.0.1.4\source\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScriptName.csproj v4.7 x86 Exe RemoveLeftAndRightFromScriptName System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
158 P_Rec_Spec RemoveLeftAndRightFromScriptName _v2.5\P_Rec_Spec\10.0.1.5\source\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScroptName\RemoveLeftAndRightFromScriptName.csproj v4.7 x86 Exe RemoveLeftAndRightFromScriptName System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
159 P_Rec_Spec ResetLostBoltSetsAndGaskets _v2.5\P_Rec_Spec\_old\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets.csproj v4.7 x86 Exe ResetLostBoltSetsAndGaskets |System|System.Data|System.XML| no not observed yes
160 P_Rec_Spec ResetLostBoltSetsAndGaskets _v2.5\P_Rec_Spec\10.0.1.2\source\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets.csproj v4.7 x86 Exe ResetLostBoltSetsAndGaskets |System|System.Data|System.XML| no not observed yes
161 P_Rec_Spec ResetLostBoltSetsAndGaskets _v2.5\P_Rec_Spec\10.0.1.3\source\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets.csproj v4.7 x86 Exe ResetLostBoltSetsAndGaskets |System|System.Data|System.XML| no not observed yes
162 P_Rec_Spec ResetLostBoltSetsAndGaskets _v2.5\P_Rec_Spec\10.0.1.4\source\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets.csproj v4.7 x86 Exe ResetLostBoltSetsAndGaskets |System|System.Data|System.XML| no not observed yes
163 P_Rec_Spec ResetLostBoltSetsAndGaskets _v2.5\P_Rec_Spec\10.0.1.5\source\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets\ResetLostBoltSetsAndGaskets.csproj v4.7 x86 Exe ResetLostBoltSetsAndGaskets |System|System.Data|System.XML| no not observed yes
164 P_Rec_Spec SetComponentGroup _v2.5\P_Rec_Spec\_old\SetComponentGroup\SetComponentGroup\SetComponentGroup.csproj v4.7 x86 Exe SetComponentGroup System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
165 P_Rec_Spec SetComponentGroup _v2.5\P_Rec_Spec\10.0.1.2\source\SetComponentGroup\SetComponentGroup\SetComponentGroup.csproj v4.7 x86 Exe SetComponentGroup System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
166 P_Rec_Spec SetComponentGroup _v2.5\P_Rec_Spec\10.0.1.3\source\SetComponentGroup\SetComponentGroup\SetComponentGroup.csproj v4.7 x86 Exe SetComponentGroup System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
167 P_Rec_Spec SetComponentGroup _v2.5\P_Rec_Spec\10.0.1.4\source\SetComponentGroup\SetComponentGroup\SetComponentGroup.csproj v4.7 x86 Exe SetComponentGroup System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
168 P_Rec_Spec SetComponentGroup _v2.5\P_Rec_Spec\10.0.1.5\source\SetComponentGroup\SetComponentGroup\SetComponentGroup.csproj v4.7 x86 Exe SetComponentGroup System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
169 P_Rec_Spec SetParentComponentInChain _v2.5\P_Rec_Spec\_old\SetParentComponentInChain\SetParentComponentInChain\SetParentComponentInChain.csproj v4.7 x86 Exe SetParentComponentInChain System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
170 P_Rec_Spec SetParentComponentInChain _v2.5\P_Rec_Spec\10.0.1.2\source\SetParentComponentInChain\SetParentComponentInChain\SetParentComponentInChain.csproj v4.7 x86 Exe SetParentComponentInChain System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
171 P_Rec_Spec SetParentComponentInChain _v2.5\P_Rec_Spec\10.0.1.3\source\SetParentComponentInChain\SetParentComponentInChain\SetParentComponentInChain.csproj v4.7 x86 Exe SetParentComponentInChain System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
172 P_Rec_Spec SetParentComponentInChain _v2.5\P_Rec_Spec\10.0.1.4\source\SetParentComponentInChain\SetParentComponentInChain\SetParentComponentInChain.csproj v4.7 x86 Exe SetParentComponentInChain System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
173 P_Rec_Spec SetParentComponentInChain _v2.5\P_Rec_Spec\10.0.1.5\source\SetParentComponentInChain\SetParentComponentInChain\SetParentComponentInChain.csproj v4.7 x86 Exe SetParentComponentInChain System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
174 P_Rec_Spec SortNKR _v2.5\P_Rec_Spec\_old\SortNKR\SortNKR\SortNKR.csproj v4.7 x86 Exe SortNKR System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
175 P_Rec_Spec SortNKR _v2.5\P_Rec_Spec\10.0.1.2\source\SortNKR\SortNKR\SortNKR.csproj v4.7 x86 Exe SortNKR System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
176 P_Rec_Spec SortNKR _v2.5\P_Rec_Spec\10.0.1.3\source\SortNKR\SortNKR\SortNKR.csproj v4.7 x86 Exe SortNKR System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
177 P_Rec_Spec SortNKR _v2.5\P_Rec_Spec\10.0.1.4\source\SortNKR\SortNKR\SortNKR.csproj v4.7 x86 Exe SortNKR System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
178 P_Rec_Spec SortNKR _v2.5\P_Rec_Spec\10.0.1.5\source\SortNKR\SortNKR\SortNKR.csproj v4.7 x86 Exe SortNKR System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
179 P_Rec_Spec SpecificationSelection _v2.5\P_Rec_Spec\_old\SpecificationSelection\SpecificationSelection\SpecificationSelection.csproj v4.7 x86 Exe SpecificationSelection System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|System.Management.Automation|||| no not observed yes
180 P_Rec_Spec SpecificationSelection _v2.5\P_Rec_Spec\10.0.1.2\source\SpecificationSelection\SpecificationSelection\SpecificationSelection.csproj v4.7 x86 Exe SpecificationSelection System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|System.Management.Automation||| no not observed yes
181 P_Rec_Spec SpecificationSelection _v2.5\P_Rec_Spec\10.0.1.3\source\SpecificationSelection\SpecificationSelection\SpecificationSelection.csproj v4.7 x86 Exe SpecificationSelection System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|System.Management.Automation||| no not observed yes
182 P_Rec_Spec SpecificationSelection _v2.5\P_Rec_Spec\10.0.1.4\source\SpecificationSelection\SpecificationSelection\SpecificationSelection.csproj v4.7 x86 Exe SpecificationSelection System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|System.Management.Automation||| no not observed yes
183 P_Rec_Spec SpecificationSelection _v2.5\P_Rec_Spec\10.0.1.5\source\SpecificationSelection\SpecificationSelection\SpecificationSelection.csproj v4.7 x86 Exe SpecificationSelection System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|System.Management.Automation||| no not observed yes
184 P_Rec_Spec UpdateBoltSets _v2.5\P_Rec_Spec\_old\UpdateBoltSets\UpdateBoltSets\UpdateBoltSets.csproj v4.7 x86 Exe UpdateBoltSets System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
185 P_Rec_Spec UpdateBoltSets _v2.5\P_Rec_Spec\10.0.1.2\source\UpdateBoltSets\UpdateBoltSets\UpdateBoltSets.csproj v4.7 x86 Exe UpdateBoltSets System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
186 P_Rec_Spec UpdateBoltSets _v2.5\P_Rec_Spec\10.0.1.3\source\UpdateBoltSets\UpdateBoltSets\UpdateBoltSets.csproj v4.7 x86 Exe UpdateBoltSets System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
187 P_Rec_Spec UpdateBoltSets _v2.5\P_Rec_Spec\10.0.1.4\source\UpdateBoltSets\UpdateBoltSets\UpdateBoltSets.csproj v4.7 x86 Exe UpdateBoltSets System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
188 P_Rec_Spec UpdateBoltSets _v2.5\P_Rec_Spec\10.0.1.5\source\UpdateBoltSets\UpdateBoltSets\UpdateBoltSets.csproj v4.7 x86 Exe UpdateBoltSets System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
189 P_Rec_TextDoc P_Rec_TextDoc _v2.5\P_Rec_TextDoc\P_Rec_TextDoc\P_Rec_TextDoc.csproj v4.7 x86 WinExe P_Rec_TextDoc System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Deployment|System.Drawing|System.Windows.Forms|System.Xml|| yes not observed yes
190 P_Rec_Update P_Rec_Update _v2.1\P_Rec_Update\P_Rec_Update\P_Rec_Update.csproj v4.7 x64 Library P_Rec_Update accoremgd|acdbmgd|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|GetComponentGeometryDescription, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd yes possible yes
191 P_Rec_Update P_Rec_Update P_Rec_Update\P_Rec_Update\P_Rec_Update.csproj v4.7 x64 Library P_Rec_Update accoremgd|acdbmgd|acmgd|AdWindows|GetComponentGeometryDescription|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|PresentationFramework|System|System.Core|System.Data.SQLite|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|WindowsBase||||| acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd yes possible yes
192 P_Serv_ActualizeProjectBySpec P_Serv_ActualizeProjectBySpec _v3.0\P_Serv_ActualizeProjectBySpec\repo\P_Serv_ActualizeProjectBySpec\P_Serv_ActualizeProjectBySpec.csproj v4.7 x64 Library P_Serv_ActualizeProjectBySpec AcCoreMgd|AcDbMgd|AcMgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| AcMgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd yes not observed yes
193 P_Serv_CompP3D P_Serv_CompP3D _v2.5\P_Serv_CompP3D\P_Serv_CompP3D\P_Serv_CompP3D.csproj v4.7 Library P_Serv_CompP3D accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd no not observed yes
194 P_Serv_CreateLineGroupAnnotationText P_Serv_CreateLineGroupAnnotationText P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText\P_Serv_CreateLineGroupAnnotationText.csproj v4.7 Library P_Serv_CreateLineGroupAnnotationText accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
195 P_Serv_Master P_Serv_Master _v2.5\P_Serv_Master\P_Serv_Master\P_Serv_Master.csproj v4.7 Library P_Serv_Master accoremgd|acdbmgd|acmgd|Microsoft.CSharp|PnP3dDataLinkManager|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|System.Data|System.Xml| acmgd|PnP3dDataLinkManager|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
196 P_Serv_UpdateLinearWeight P_Serv_UpdateLinearWeight _v3.0\P_Serv_UpdateLinearWeight\repo\P_Serv_UpdateLinearWeight\P_Serv_UpdateLinearWeight.csproj v4.7 x64 Library P_Serv_UpdateLinearWeight AcCoreMgd|AcDbMgd|AcMgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| AcMgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd yes not observed yes
197 P_Serv_UpSpecs P_Serv_UpSpecs _v2.5\P_Serv_UpSpecs\P_Serv_UpSpecs\P_Serv_UpSpecs.csproj v4.7 Library P_Serv_UpSpecs accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd yes not observed yes
198 P_Task_MO07 P_Task_MO07 _v2.5\P_Task_MO07\P_Task_MO07\P_Task_MO07.csproj v4.7 Library P_Task_MO07 accoremgd|acdbmgd|acmgd|CheckOrthoView|EPPlus|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml| acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
199 P3DCheckProject EnablerLoader _v2.0\P3DCheckProject\EnablerLoader\EnablerLoader\EnablerLoader.csproj v4.0 Library EnablerLoader accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms| no not observed yes
200 P3DCheckProject LoadedAssemblies _v2.0\P3DCheckProject\LoadedAssemblies\LoadedAssemblies\LoadedAssemblies.csproj v4.0 Library LoadedAssemblies accoremgd|acdbmgd|System|Microsoft.CSharp| no not observed yes
201 P3DCheckProject P3DCheckProject _v2.0\P3DCheckProject\P3DCheckProject\P3DCheckProject\P3DCheckProject.csproj v4.7 Library P3DCheckProject accoremgd|acdbmgd|acmgd|EnablerLoader|HelpDesk|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml|| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
202 P3DCommands P3DCommands _v2.0\P3DCommands\P3DCommands\P3DCommands\P3DCommands.csproj v4.0 x86 Library P3DCommands |accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|System|System.Data|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
203 P3DCommands P3DCommands _v2.5\P3DCommands\P3DCommands\P3DCommands\P3DCommands.csproj v4.7 x86 Library P3DCommands |accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|System|System.Data|System.DirectoryServices|System.Drawing|System.Windows.Forms|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
204 P3DCopyMissingObjectsToOrthoDrawing.csproj P3DCopyMissingObjectsToOrthoDrawing _v2.0\OrthoTools.2019\2019_P3DCopyMissingObjectsToOrthoDrawing\2019_P3DCopyMissingObjectsToOrthoDrawing\P3DCopyMissingObjectsToOrthoDrawing.csproj v4.7 Library P3DCopyMissingObjectsToOrthoDrawing accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPProjectManagerMgd no not observed yes
205 P3DCorrectBoltsetLengths P3DCorrectBoltsetLengths P3DCorrectBoltsetLengths\old\P3DCorrectBoltsetLengths\P3DCorrectBoltsetLengths.csproj v4.0 Library P3DCorrectBoltsetLengths accoremgd|acdbmgd|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
206 P3DCorrectBoltsetLengths P3DCorrectBoltsetLengths P3DCorrectBoltsetLengths\repo\P3DCorrectBoltsetLengths\P3DCorrectBoltsetLengths.csproj v4.7 Library P3DCorrectBoltsetLengths accoremgd|acdbmgd|acmgd|EnablerLoader, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
207 P3DDeleteNewLineInValues P3DDeleteNewLineInValues _v2.0\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues.csproj v4.0 Library P3DDeleteNewLineInValues accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
208 P3DDeleteNewLineInValues P3DDeleteNewLineInValues _v2.5\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues\P3DDeleteNewLineInValues.csproj v4.7 Library P3DDeleteNewLineInValues accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
209 P3DEnumerateSupports CheckOrthoView _v2.0\P3DEnumerateSupports\2019_CheckOrthoView\2019_CheckOrthoView\CheckOrthoView.csproj v4.0 Library CheckOrthoView accoremgd|acdbmgd|acmgd|EnablerLoader|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.DirectoryServices|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
210 P3DEnumerateSupports EnablerLoader _v2.0\P3DEnumerateSupports\EnablerLoader\EnablerLoader\EnablerLoader.csproj v4.0 Library EnablerLoader accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms| no not observed yes
211 P3DEnumerateSupports LoadedAssemblies _v2.0\P3DEnumerateSupports\LoadedAssemblies\LoadedAssemblies\LoadedAssemblies.csproj v4.0 Library LoadedAssemblies accoremgd|acdbmgd|System|Microsoft.CSharp| no not observed yes
212 P3DEnumerateSupports P3DCopyMissingObjectsToOrthoDrawing _v2.0\P3DEnumerateSupports\2019_P3DCopyMissingObjectsToOrthoDrawing\2019_P3DCopyMissingObjectsToOrthoDrawing\P3DCopyMissingObjectsToOrthoDrawing.csproj v4.7 Library P3DCopyMissingObjectsToOrthoDrawing accoremgd|acdbmgd|acmgd|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnPProjectManagerMgd no not observed yes
213 P3DEnumerateSupports P3DEnumerateSupports _v2.0\P3DEnumerateSupports\P3DEnumerateSupports\P3DEnumerateSupports\P3DEnumerateSupports.csproj v4.7 Library P3DEnumerateSupports accoremgd|acdbmgd|acmgd|CheckOrthoView|EPPlus|P3DCopyMissingObjectsToOrthoDrawing|P3DSetLayerForViewport|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Net.Http|System.Xml| acmgd|PnP3dObjectsMgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
214 P3DGetBoltsetReport P3DGetBoltsetReport P3DGetBoltsetReport\P3DGetBoltsetReport\P3DGetBoltsetReport.csproj v4.0 Library P3DGetBoltsetReport accoremgd|acdbmgd|acmgd|EnablerLoader|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
215 P3DGetPnPId P3DGetPnPId _v2.0\P3DGetPnPId\P3DGetPnPId\P3DGetPnPId\P3DGetPnPId.csproj v4.0 Library P3DGetPnPId accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd no not observed yes
216 P3DGetReportNew P3DGetReport _v2.0\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew\P3DGetReport.csproj v4.0 AnyCPU Exe P3DGetReport System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| no not observed yes
217 P3DGetReportNew P3DGetReport _v2.5\Отчет элементов по линиям\P3DGetReportNew\P3DGetReportNew\P3DGetReport.csproj v4.7 AnyCPU Exe P3DGetReport System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| no not observed yes
218 P3DPlotToPdfIsoMasterfile P3DPlotToPdfIsoMasterfile _v2.0\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile\P3DPlotToPdfIsoMasterfile.csproj v4.6 Library P3DPlotToPdfIsoMasterfile accoremgd|acdbmgd|acmgd|AdWindows|PnPProjectManagerMgd|System|System.Core|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|PnPProjectManagerMgd no not observed yes
219 P3DSelectComponents P3DSelectComponents _v2.0\P3DSelectComponents\P3DSelectComponents\P3DSelectComponents\P3DSelectComponents.csproj v4.7 x86 Library P3DSelectComponents |accoremgd|acdbmgd|acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|PresentationCore|System|System.Data|System.Drawing|System.Windows.Forms|System.Xml| acmgd|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
220 P3DSetLayerForViewport P3DSetLayerForViewport _v2.0\OrthoTools.2019\P3DSetLayerForViewport\P3DSetLayerForViewport\P3DSetLayerForViewport.csproj v4.7 Library P3DSetLayerForViewport accoremgd|acdbmgd|acmgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd no not observed yes
221 P3DUpdateFixedPipeLengths EnablerLoader _v2.0\P3DUpdateFixedPipeLengths\EnablerLoader\EnablerLoader\EnablerLoader.csproj v4.0 Library EnablerLoader accoremgd|acdbmgd|LoadedAssemblies|System|Microsoft.CSharp|System.Windows.Forms| no not observed yes
222 P3DUpdateFixedPipeLengths GetComponentGeometryDescription _v2.0\P3DUpdateFixedPipeLengths\GetComponentGeometryDescription - 2018\GetComponentGeometryDescription\GetComponentGeometryDescription.csproj v4.7.2 Library GetComponentGeometryDescription accoremgd|acdbmgd|acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPProjectManagerMgd|System|System.Core|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|Autodesk.AutoCAD.Interop, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|Autodesk.AutoCAD.Interop.Common, Version=17.0.54.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPProjectManagerMgd no possible yes
223 P3DUpdateFixedPipeLengths LoadedAssemblies _v2.0\P3DUpdateFixedPipeLengths\LoadedAssemblies\LoadedAssemblies\LoadedAssemblies.csproj v4.0 Library LoadedAssemblies accoremgd|acdbmgd|System|Microsoft.CSharp| no not observed yes
224 P3DUpdateFixedPipeLengths P3DUpdateFixedPipeLengths _v2.0\P3DUpdateFixedPipeLengths\2019_P3DUpdateFixedPipeLengths\2019_P3DUpdateFixedPipeLengths\P3DUpdateFixedPipeLengths.csproj v4.7 Library P3DUpdateFixedPipeLengths accoremgd|acdbmgd|acmgd|AdWindows|EnablerLoader|GetComponentGeometryDescription|LoadedAssemblies, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no possible yes
225 P3DUpdateFixedPipeLengths P3DUpdateFixedPipeLengths _v2.5\P3DUpdateFixedPipeLengths\P3DUpdateFixedPipeLengths\P3DUpdateFixedPipeLengths.csproj v4.7 Library P3DUpdateFixedPipeLengths accoremgd|acdbmgd|acmgd|AdWindows|EnablerLoader|GetComponentGeometryDescription|LoadedAssemblies, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no possible yes
226 P3DUpdateFlanges P3DUpdateFlanges _v2.0\P3DUpdateFlanges\P3DUpdateFlanges\P3DUpdateFlanges.csproj v4.7.2 Library P3DUpdateFlanges accoremgd|acdbmgd|acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
227 P3DUpdateFlanges P3DUpdateFlanges _v2.5\P3DUpdateFlanges\_prev v.0.0.8\P3DUpdateFlanges\P3DUpdateFlanges.csproj v4.7 Library P3DUpdateFlanges accoremgd|acdbmgd|acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml| acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
228 P3DUpdateFlanges P3DUpdateFlanges _v2.5\P3DUpdateFlanges\repo\P3DUpdateFlanges\P3DUpdateFlanges.csproj v4.7 x64 Library P3DUpdateFlanges accoremgd|acdbmgd|acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml|| acmgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd no not observed yes
229 P3DUpdateValves 2019_P3DUpdateValves _v2.0\P3DUpdateValves\P3DUpdateValves\2019_P3DUpdateValves\2019_P3DUpdateValves.csproj v4.7 Library P3DUpdateValves accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd yes not observed yes
230 P3DUpdateValves P3DUpdateValves _v2.5\P3DUpdateValves\P3DUpdateValves\P3DUpdateValves.csproj v4.7 Library P3DUpdateValves accoremgd|acdbmgd|acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd|System|System.Core|System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=AMD64|System.Drawing|System.Windows.Forms|System.Xml.Linq|System.Data.DataSetExtensions|Microsoft.CSharp|System.Data|System.Xml||| acmgd|PnP3dObjectsMgd|PnP3dPartsRepository|PnPDataLinks|PnPDataObjects|PnPProjectManagerMgd yes not observed yes
@@ -0,0 +1,60 @@
"family","module","canonical_source_path","latest_probable_version","component_type","user_command","purpose","user_workflow","input","output","data_modified","autodesk_api_area","custom_dependencies","native_2026_candidate","native_difference","primary_status","business_criticality","migration_complexity","evidence_confidence","runtime_test","source_evidence","official_source_reference","notes"
"P_Check_CompP3D","__family__","_v2.5\Applications\P_Check_CompP3D","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","_v2.5\Applications\P_Check_CompP3D","official-sources.md","Copies/releases are not separate families"
"P_Check_Pipe","__family__","_v2.5\Applications\P_Check_Pipe","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","_v2.5\Applications\P_Check_Pipe","official-sources.md","Copies/releases are not separate families"
"P_Check_Project","__family__","_v2.5\Applications\P_Check_Project","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","_v2.5\Applications\P_Check_Project","official-sources.md","Copies/releases are not separate families"
"P_Exp_EquipToRevit","__family__","P_Exp_EquipToRevit","not established","mixed/unknown","not established","Export equipment/Plant data to a Revit workflow","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","OFFICIAL_RESEARCH_REQUIRED","unknown","high","weak","required","P_Exp_EquipToRevit","official-sources.md","Copies/releases are not separate families"
"P_Exp_To5DSmeta","__family__","P_Exp_To5DSmeta","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","REVIEW_USAGE","unknown","high","weak","required","P_Exp_To5DSmeta","official-sources.md","Copies/releases are not separate families"
"P_Exp_ToHydra","__family__","_v2.5\Applications\P_Exp_ToHydra","not established","mixed/unknown","not established","Export data to corporate Hydra workflow","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","REVIEW_USAGE","unknown","high","weak","required","_v2.5\Applications\P_Exp_ToHydra","official-sources.md","Copies/releases are not separate families"
"P_Exp_ToInsul","__family__","_v2.5\P_Exp_ToInsul","not established","mixed/unknown","not established","Export data to corporate Insul workflow","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","REVIEW_USAGE","unknown","high","weak","required","_v2.5\P_Exp_ToInsul","official-sources.md","Copies/releases are not separate families"
"P_Exp_ToRevit_MS","__family__","_v2.5\Applications\P_Exp_ToRevit_MS","not established","mixed/unknown","not established","Export Plant/AutoCAD data to Revit","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","OFFICIAL_RESEARCH_REQUIRED","unknown","high","weak","required","_v2.5\Applications\P_Exp_ToRevit_MS","official-sources.md","Copies/releases are not separate families"
"P_Exp_ToStart","__family__","_v2.5\P_Exp_ToStart","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","REVIEW_USAGE","unknown","high","weak","required","_v2.5\P_Exp_ToStart","official-sources.md","Copies/releases are not separate families"
"P_Imp_FromPTH","__family__","_v2.5\Applications\P_Imp_FromPTH","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","KEEP_REDESIGN","unknown","high","weak","required","_v2.5\Applications\P_Imp_FromPTH","official-sources.md","Copies/releases are not separate families"
"P_Rec_Annot","__family__","_v2.5\Applications\P_Rec_Annot","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","KEEP_REDESIGN","unknown","high","weak","required","_v2.5\Applications\P_Rec_Annot","official-sources.md","Copies/releases are not separate families"
"P_Rec_BOP","__family__","_v2.5\P_Rec_BOP (old)","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","_v2.5\P_Rec_BOP (old)","official-sources.md","Copies/releases are not separate families"
"P_Rec_Brac","__family__","_v2.5\Applications\P_Rec_Brac","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","_v2.5\Applications\P_Rec_Brac","official-sources.md","Copies/releases are not separate families"
"P_Rec_Color","__family__","_v2.5\P_Rec_Color","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","_v2.5\P_Rec_Color","official-sources.md","Copies/releases are not separate families"
"P_Rec_PipelineList","__family__","P_Rec_PipelineList","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","P_Rec_PipelineList","official-sources.md","Copies/releases are not separate families"
"P_Rec_Print","__family__","_v2.5\Applications\P_Rec_Print","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","_v2.5\Applications\P_Rec_Print","official-sources.md","Copies/releases are not separate families"
"P_Rec_Spec","__family__","_v2.5\P_Rec_Spec","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","KEEP_REDESIGN","unknown","high","weak","required","_v2.5\P_Rec_Spec","official-sources.md","Copies/releases are not separate families"
"P_Rec_TextDoc","__family__","_v2.5\P_Rec_TextDoc","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","_v2.5\P_Rec_TextDoc","official-sources.md","Copies/releases are not separate families"
"P_Rec_Update","__family__","_v2.1\P_Rec_Update","not established","mixed/unknown","not established","Update Plant/PnP data, including flanges and XML/CSV settings","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","KEEP_REDESIGN","unknown","high","weak","required","_v2.1\P_Rec_Update","official-sources.md","Copies/releases are not separate families"
"P_Serv_ActualizeProjectBySpec","__family__","_v3.0\P_Serv_ActualizeProjectBySpec","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","KEEP_REDESIGN","unknown","high","weak","required","_v3.0\P_Serv_ActualizeProjectBySpec","official-sources.md","Copies/releases are not separate families"
"P_Serv_CompP3D","__family__","_v2.5\Applications\P_Serv_CompP3D","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","KEEP_REDESIGN","unknown","high","weak","required","_v2.5\Applications\P_Serv_CompP3D","official-sources.md","Copies/releases are not separate families"
"P_Serv_CreateLineGroupAnnotationText","__family__","P_Serv_CreateLineGroupAnnotationText","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","P_Serv_CreateLineGroupAnnotationText","official-sources.md","Copies/releases are not separate families"
"P_Serv_Master","__family__","_v2.5\P_Serv_Master","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","_v2.5\P_Serv_Master","official-sources.md","Copies/releases are not separate families"
"P_Serv_OpenProject","__family__","P_Serv_OpenProject","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","P_Serv_OpenProject","official-sources.md","Copies/releases are not separate families"
"P_Serv_Starter","__family__","P_Serv_Starter","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","P_Serv_Starter","official-sources.md","Copies/releases are not separate families"
"P_Serv_UpdateLinearWeight","__family__","_v3.0\P_Serv_UpdateLinearWeight","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","KEEP_REDESIGN","unknown","high","weak","required","_v3.0\P_Serv_UpdateLinearWeight","official-sources.md","Copies/releases are not separate families"
"P_Serv_UpSpecs","__family__","_v2.5\P_Serv_UpSpecs","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","KEEP_REDESIGN","unknown","high","weak","required","_v2.5\P_Serv_UpSpecs","official-sources.md","Copies/releases are not separate families"
"P_Task_MO07","__family__","_v2.5\Applications\P_Task_MO07","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","UNKNOWN","unknown","high","weak","required","_v2.5\Applications\P_Task_MO07","official-sources.md","Copies/releases are not separate families"
"P3DCheckProject","__family__","_v2.0\P3DCheckProject","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","KEEP_REDESIGN","unknown","high","weak","required","_v2.0\P3DCheckProject","official-sources.md","Copies/releases are not separate families"
"P3DCommands","__family__","_v2.0\P3DCommands","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","KEEP_REDESIGN","unknown","high","weak","required","_v2.0\P3DCommands","official-sources.md","Copies/releases are not separate families"
"P3DCorrectBoltsetLengths","__family__","P3DCorrectBoltsetLengths","not established","mixed/unknown","not established","Correct bolt-set length from Plant/PnP data","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","BUG_WORKAROUND_RETEST","unknown","high","weak","required","P3DCorrectBoltsetLengths","official-sources.md","Copies/releases are not separate families"
"P3DCreateIsoBOM","__family__","_v2.5\Applications\P3DCreateIsoBOM v.0.0.4","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","OFFICIAL_RESEARCH_REQUIRED","unknown","high","weak","required","_v2.5\Applications\P3DCreateIsoBOM v.0.0.4","official-sources.md","Copies/releases are not separate families"
"P3DDeleteNewLineInValues","__family__","_v2.0\P3DDeleteNewLineInValues","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","BUG_WORKAROUND_RETEST","unknown","high","weak","required","_v2.0\P3DDeleteNewLineInValues","official-sources.md","Copies/releases are not separate families"
"P3DEnumerateSupports","__family__","_v2.0\P3DEnumerateSupports","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","KEEP_REDESIGN","unknown","high","weak","required","_v2.0\P3DEnumerateSupports","official-sources.md","Copies/releases are not separate families"
"P3DGetBoltsetReport","__family__","P3DGetBoltsetReport","not established","mixed/unknown","not established","Produce a bolt-set report","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","OFFICIAL_RESEARCH_REQUIRED","unknown","high","weak","required","P3DGetBoltsetReport","official-sources.md","Copies/releases are not separate families"
"P3DGetPnPId","__family__","_v2.0\P3DGetPnPId","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","REVIEW_USAGE","unknown","high","weak","required","_v2.0\P3DGetPnPId","official-sources.md","Copies/releases are not separate families"
"P3DGetReportNew","__family__","_v2.0\Отчет элементов по линиям\P3DGetReportNew","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","OFFICIAL_RESEARCH_REQUIRED","unknown","high","weak","required","_v2.0\Отчет элементов по линиям\P3DGetReportNew","official-sources.md","Copies/releases are not separate families"
"P3DPlotToPdfIsoMasterfile","__family__","_v2.0\P3DPlotToPdfIsoMasterfile","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","REVIEW_USAGE","unknown","high","weak","required","_v2.0\P3DPlotToPdfIsoMasterfile","official-sources.md","Copies/releases are not separate families"
"P3DSelectComponents","__family__","_v2.0\P3DSelectComponents","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","REVIEW_USAGE","unknown","high","weak","required","_v2.0\P3DSelectComponents","official-sources.md","Copies/releases are not separate families"
"P3DSetLayerForViewport","__family__","_v2.0\OrthoTools.2019\P3DSetLayerForViewport","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","REVIEW_USAGE","unknown","high","weak","required","_v2.0\OrthoTools.2019\P3DSetLayerForViewport","official-sources.md","Copies/releases are not separate families"
"P3DUpdateFixedPipeLengths","__family__","_v2.0\P3DUpdateFixedPipeLengths","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","BUG_WORKAROUND_RETEST","unknown","high","weak","required","_v2.0\P3DUpdateFixedPipeLengths","official-sources.md","Copies/releases are not separate families"
"P3DUpdateFlanges","__family__","_v2.0\P3DUpdateFlanges","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","BUG_WORKAROUND_RETEST","unknown","high","weak","required","_v2.0\P3DUpdateFlanges","official-sources.md","Copies/releases are not separate families"
"P3DUpdateValves","__family__","_v2.0\P3DUpdateValves","not established","mixed/unknown","not established","Not proven at family level; see modules and evidence","not confirmed","Plant project/drawing or external data","drawing/data/report; varies","possible","see plugin-modules.csv","see plugin-modules.csv","not established","OFFICIAL_RESEARCH_REQUIRED","BUG_WORKAROUND_RETEST","unknown","high","weak","required","_v2.0\P3DUpdateValves","official-sources.md","Copies/releases are not separate families"
"P_Rec_Annot","AnnotateLineNumbers","P_Rec_Annot\v1.0.2\repo\AnnotateLineNumbers","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Batch line-number annotations in Ortho drawings","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\AnnotateLineNumbers","official-sources.md#ortho","Static only"
"P_Rec_Annot","AutoAnnotateView","P_Rec_Annot\v1.0.2\repo\AutoAnnotateView","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Automatic annotation update in viewport","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\AutoAnnotateView","official-sources.md#ortho","Static only"
"P_Rec_Annot","AutoElevation","P_Rec_Annot\v1.0.2\repo\AutoElevation","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Automatic elevation annotations","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\AutoElevation","official-sources.md#ortho","Static only"
"P_Rec_Annot","AutoLinenumberConnections","P_Rec_Annot\v1.0.2\repo\AutoLinenumberConnections","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Link line-number annotations to Ortho objects/connectors","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\AutoLinenumberConnections","official-sources.md#ortho","Static only"
"P_Rec_Annot","CheckOrthoView","P_Rec_Annot\v1.0.2\repo\CheckOrthoView","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Detect missing or inconsistent objects in an Ortho view","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\CheckOrthoView","official-sources.md#ortho","Static only"
"P_Rec_Annot","GetComponentGeometry","P_Rec_Annot\v1.0.2\repo\GetComponentGeometry","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Read Plant component geometry and parameters","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\GetComponentGeometry","official-sources.md#ortho","Static only"
"P_Rec_Annot","GetLinenumberAnnotationText","P_Rec_Annot\v1.0.2\repo\GetLinenumberAnnotationText","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Build line-number annotation text from PnP data","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\GetLinenumberAnnotationText","official-sources.md#ortho","Static only"
"P_Rec_Annot","InsertElevation","P_Rec_Annot\v1.0.2\repo\InsertElevation","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Insert elevation annotation in Ortho","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\InsertElevation","official-sources.md#ortho","Static only"
"P_Rec_Annot","OrthoAutoAnnotate","P_Rec_Annot\v1.0.2\repo\OrthoAutoAnnotate","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Automatic Ortho annotations and dimensions","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\OrthoAutoAnnotate","official-sources.md#ortho","Static only"
"P_Rec_Annot","OrthoLoader","P_Rec_Annot\v1.0.2\repo\OrthoLoader","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Loader/ribbon for Ortho tools","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\OrthoLoader","official-sources.md#ortho","Static only"
"P_Rec_Annot","P3DCopyMissingObjectsToOrthoDrawing","P_Rec_Annot\v1.0.2\repo\P3DCopyMissingObjectsToOrthoDrawing","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Copy missing 3D objects to an Ortho drawing","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\P3DCopyMissingObjectsToOrthoDrawing","official-sources.md#ortho","Static only"
"P_Rec_Annot","P3DSetLayerForViewport","P_Rec_Annot\v1.0.2\repo\P3DSetLayerForViewport","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Set layer for an Ortho viewport","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\P3DSetLayerForViewport","official-sources.md#ortho","Static only"
"P_Rec_Annot","PHPAnnotations","P_Rec_Annot\v1.0.2\repo\PHPAnnotations","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Extended/batch Plant annotation processing","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\PHPAnnotations","official-sources.md#ortho","Static only"
"P_Rec_Annot","SwapAttributesMenuItem","P_Rec_Annot\v1.0.2\repo\SwapAttributesMenuItem","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Change annotation attributes/menu action","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\SwapAttributesMenuItem","official-sources.md#ortho","Static only"
"P_Rec_Annot","UpdateOrthoDrawings","P_Rec_Annot\v1.0.2\repo\UpdateOrthoDrawings","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Update Ortho drawing/toolset modules","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\UpdateOrthoDrawings","official-sources.md#ortho","Static only"
"P_Rec_Annot","UpdateOrthoViewBlocks","P_Rec_Annot\v1.0.2\repo\UpdateOrthoViewBlocks","v1.0.4 repo/release family","DLL/library","see code-markers.csv","Update Ortho view blocks","Open Ortho drawing and invoke command or loader","Ortho DWG and Plant PnP data","annotations, view blocks, copied/highlighted objects","drawing and/or linked Ortho data","AutoCAD API + Plant DataLinks/ProjectManager/Ortho","shared P_Rec_Annot modules","Ortho Generation, Ortho Annotate, annotation styles, project setup","Official docs confirm core functions, not exact batch logic","KEEP_REDESIGN","important","high","confirmed","load command and compare single/multi-view output","P_Rec_Annot\v1.0.2\repo\UpdateOrthoViewBlocks","official-sources.md#ortho","Static only"
1 family module canonical_source_path latest_probable_version component_type user_command purpose user_workflow input output data_modified autodesk_api_area custom_dependencies native_2026_candidate native_difference primary_status business_criticality migration_complexity evidence_confidence runtime_test source_evidence official_source_reference notes
2 P_Check_CompP3D __family__ _v2.5\Applications\P_Check_CompP3D not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required _v2.5\Applications\P_Check_CompP3D official-sources.md Copies/releases are not separate families
3 P_Check_Pipe __family__ _v2.5\Applications\P_Check_Pipe not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required _v2.5\Applications\P_Check_Pipe official-sources.md Copies/releases are not separate families
4 P_Check_Project __family__ _v2.5\Applications\P_Check_Project not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required _v2.5\Applications\P_Check_Project official-sources.md Copies/releases are not separate families
5 P_Exp_EquipToRevit __family__ P_Exp_EquipToRevit not established mixed/unknown not established Export equipment/Plant data to a Revit workflow not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED OFFICIAL_RESEARCH_REQUIRED unknown high weak required P_Exp_EquipToRevit official-sources.md Copies/releases are not separate families
6 P_Exp_To5DSmeta __family__ P_Exp_To5DSmeta not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED REVIEW_USAGE unknown high weak required P_Exp_To5DSmeta official-sources.md Copies/releases are not separate families
7 P_Exp_ToHydra __family__ _v2.5\Applications\P_Exp_ToHydra not established mixed/unknown not established Export data to corporate Hydra workflow not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED REVIEW_USAGE unknown high weak required _v2.5\Applications\P_Exp_ToHydra official-sources.md Copies/releases are not separate families
8 P_Exp_ToInsul __family__ _v2.5\P_Exp_ToInsul not established mixed/unknown not established Export data to corporate Insul workflow not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED REVIEW_USAGE unknown high weak required _v2.5\P_Exp_ToInsul official-sources.md Copies/releases are not separate families
9 P_Exp_ToRevit_MS __family__ _v2.5\Applications\P_Exp_ToRevit_MS not established mixed/unknown not established Export Plant/AutoCAD data to Revit not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED OFFICIAL_RESEARCH_REQUIRED unknown high weak required _v2.5\Applications\P_Exp_ToRevit_MS official-sources.md Copies/releases are not separate families
10 P_Exp_ToStart __family__ _v2.5\P_Exp_ToStart not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED REVIEW_USAGE unknown high weak required _v2.5\P_Exp_ToStart official-sources.md Copies/releases are not separate families
11 P_Imp_FromPTH __family__ _v2.5\Applications\P_Imp_FromPTH not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED KEEP_REDESIGN unknown high weak required _v2.5\Applications\P_Imp_FromPTH official-sources.md Copies/releases are not separate families
12 P_Rec_Annot __family__ _v2.5\Applications\P_Rec_Annot not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED KEEP_REDESIGN unknown high weak required _v2.5\Applications\P_Rec_Annot official-sources.md Copies/releases are not separate families
13 P_Rec_BOP __family__ _v2.5\P_Rec_BOP (old) not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required _v2.5\P_Rec_BOP (old) official-sources.md Copies/releases are not separate families
14 P_Rec_Brac __family__ _v2.5\Applications\P_Rec_Brac not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required _v2.5\Applications\P_Rec_Brac official-sources.md Copies/releases are not separate families
15 P_Rec_Color __family__ _v2.5\P_Rec_Color not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required _v2.5\P_Rec_Color official-sources.md Copies/releases are not separate families
16 P_Rec_PipelineList __family__ P_Rec_PipelineList not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required P_Rec_PipelineList official-sources.md Copies/releases are not separate families
17 P_Rec_Print __family__ _v2.5\Applications\P_Rec_Print not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required _v2.5\Applications\P_Rec_Print official-sources.md Copies/releases are not separate families
18 P_Rec_Spec __family__ _v2.5\P_Rec_Spec not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED KEEP_REDESIGN unknown high weak required _v2.5\P_Rec_Spec official-sources.md Copies/releases are not separate families
19 P_Rec_TextDoc __family__ _v2.5\P_Rec_TextDoc not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required _v2.5\P_Rec_TextDoc official-sources.md Copies/releases are not separate families
20 P_Rec_Update __family__ _v2.1\P_Rec_Update not established mixed/unknown not established Update Plant/PnP data, including flanges and XML/CSV settings not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED KEEP_REDESIGN unknown high weak required _v2.1\P_Rec_Update official-sources.md Copies/releases are not separate families
21 P_Serv_ActualizeProjectBySpec __family__ _v3.0\P_Serv_ActualizeProjectBySpec not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED KEEP_REDESIGN unknown high weak required _v3.0\P_Serv_ActualizeProjectBySpec official-sources.md Copies/releases are not separate families
22 P_Serv_CompP3D __family__ _v2.5\Applications\P_Serv_CompP3D not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED KEEP_REDESIGN unknown high weak required _v2.5\Applications\P_Serv_CompP3D official-sources.md Copies/releases are not separate families
23 P_Serv_CreateLineGroupAnnotationText __family__ P_Serv_CreateLineGroupAnnotationText not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required P_Serv_CreateLineGroupAnnotationText official-sources.md Copies/releases are not separate families
24 P_Serv_Master __family__ _v2.5\P_Serv_Master not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required _v2.5\P_Serv_Master official-sources.md Copies/releases are not separate families
25 P_Serv_OpenProject __family__ P_Serv_OpenProject not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required P_Serv_OpenProject official-sources.md Copies/releases are not separate families
26 P_Serv_Starter __family__ P_Serv_Starter not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required P_Serv_Starter official-sources.md Copies/releases are not separate families
27 P_Serv_UpdateLinearWeight __family__ _v3.0\P_Serv_UpdateLinearWeight not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED KEEP_REDESIGN unknown high weak required _v3.0\P_Serv_UpdateLinearWeight official-sources.md Copies/releases are not separate families
28 P_Serv_UpSpecs __family__ _v2.5\P_Serv_UpSpecs not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED KEEP_REDESIGN unknown high weak required _v2.5\P_Serv_UpSpecs official-sources.md Copies/releases are not separate families
29 P_Task_MO07 __family__ _v2.5\Applications\P_Task_MO07 not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED UNKNOWN unknown high weak required _v2.5\Applications\P_Task_MO07 official-sources.md Copies/releases are not separate families
30 P3DCheckProject __family__ _v2.0\P3DCheckProject not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED KEEP_REDESIGN unknown high weak required _v2.0\P3DCheckProject official-sources.md Copies/releases are not separate families
31 P3DCommands __family__ _v2.0\P3DCommands not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED KEEP_REDESIGN unknown high weak required _v2.0\P3DCommands official-sources.md Copies/releases are not separate families
32 P3DCorrectBoltsetLengths __family__ P3DCorrectBoltsetLengths not established mixed/unknown not established Correct bolt-set length from Plant/PnP data not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED BUG_WORKAROUND_RETEST unknown high weak required P3DCorrectBoltsetLengths official-sources.md Copies/releases are not separate families
33 P3DCreateIsoBOM __family__ _v2.5\Applications\P3DCreateIsoBOM v.0.0.4 not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED OFFICIAL_RESEARCH_REQUIRED unknown high weak required _v2.5\Applications\P3DCreateIsoBOM v.0.0.4 official-sources.md Copies/releases are not separate families
34 P3DDeleteNewLineInValues __family__ _v2.0\P3DDeleteNewLineInValues not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED BUG_WORKAROUND_RETEST unknown high weak required _v2.0\P3DDeleteNewLineInValues official-sources.md Copies/releases are not separate families
35 P3DEnumerateSupports __family__ _v2.0\P3DEnumerateSupports not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED KEEP_REDESIGN unknown high weak required _v2.0\P3DEnumerateSupports official-sources.md Copies/releases are not separate families
36 P3DGetBoltsetReport __family__ P3DGetBoltsetReport not established mixed/unknown not established Produce a bolt-set report not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED OFFICIAL_RESEARCH_REQUIRED unknown high weak required P3DGetBoltsetReport official-sources.md Copies/releases are not separate families
37 P3DGetPnPId __family__ _v2.0\P3DGetPnPId not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED REVIEW_USAGE unknown high weak required _v2.0\P3DGetPnPId official-sources.md Copies/releases are not separate families
38 P3DGetReportNew __family__ _v2.0\Отчет элементов по линиям\P3DGetReportNew not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED OFFICIAL_RESEARCH_REQUIRED unknown high weak required _v2.0\Отчет элементов по линиям\P3DGetReportNew official-sources.md Copies/releases are not separate families
39 P3DPlotToPdfIsoMasterfile __family__ _v2.0\P3DPlotToPdfIsoMasterfile not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED REVIEW_USAGE unknown high weak required _v2.0\P3DPlotToPdfIsoMasterfile official-sources.md Copies/releases are not separate families
40 P3DSelectComponents __family__ _v2.0\P3DSelectComponents not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED REVIEW_USAGE unknown high weak required _v2.0\P3DSelectComponents official-sources.md Copies/releases are not separate families
41 P3DSetLayerForViewport __family__ _v2.0\OrthoTools.2019\P3DSetLayerForViewport not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED REVIEW_USAGE unknown high weak required _v2.0\OrthoTools.2019\P3DSetLayerForViewport official-sources.md Copies/releases are not separate families
42 P3DUpdateFixedPipeLengths __family__ _v2.0\P3DUpdateFixedPipeLengths not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED BUG_WORKAROUND_RETEST unknown high weak required _v2.0\P3DUpdateFixedPipeLengths official-sources.md Copies/releases are not separate families
43 P3DUpdateFlanges __family__ _v2.0\P3DUpdateFlanges not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED BUG_WORKAROUND_RETEST unknown high weak required _v2.0\P3DUpdateFlanges official-sources.md Copies/releases are not separate families
44 P3DUpdateValves __family__ _v2.0\P3DUpdateValves not established mixed/unknown not established Not proven at family level; see modules and evidence not confirmed Plant project/drawing or external data drawing/data/report; varies possible see plugin-modules.csv see plugin-modules.csv not established OFFICIAL_RESEARCH_REQUIRED BUG_WORKAROUND_RETEST unknown high weak required _v2.0\P3DUpdateValves official-sources.md Copies/releases are not separate families
45 P_Rec_Annot AnnotateLineNumbers P_Rec_Annot\v1.0.2\repo\AnnotateLineNumbers v1.0.4 repo/release family DLL/library see code-markers.csv Batch line-number annotations in Ortho drawings Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\AnnotateLineNumbers official-sources.md#ortho Static only
46 P_Rec_Annot AutoAnnotateView P_Rec_Annot\v1.0.2\repo\AutoAnnotateView v1.0.4 repo/release family DLL/library see code-markers.csv Automatic annotation update in viewport Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\AutoAnnotateView official-sources.md#ortho Static only
47 P_Rec_Annot AutoElevation P_Rec_Annot\v1.0.2\repo\AutoElevation v1.0.4 repo/release family DLL/library see code-markers.csv Automatic elevation annotations Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\AutoElevation official-sources.md#ortho Static only
48 P_Rec_Annot AutoLinenumberConnections P_Rec_Annot\v1.0.2\repo\AutoLinenumberConnections v1.0.4 repo/release family DLL/library see code-markers.csv Link line-number annotations to Ortho objects/connectors Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\AutoLinenumberConnections official-sources.md#ortho Static only
49 P_Rec_Annot CheckOrthoView P_Rec_Annot\v1.0.2\repo\CheckOrthoView v1.0.4 repo/release family DLL/library see code-markers.csv Detect missing or inconsistent objects in an Ortho view Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\CheckOrthoView official-sources.md#ortho Static only
50 P_Rec_Annot GetComponentGeometry P_Rec_Annot\v1.0.2\repo\GetComponentGeometry v1.0.4 repo/release family DLL/library see code-markers.csv Read Plant component geometry and parameters Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\GetComponentGeometry official-sources.md#ortho Static only
51 P_Rec_Annot GetLinenumberAnnotationText P_Rec_Annot\v1.0.2\repo\GetLinenumberAnnotationText v1.0.4 repo/release family DLL/library see code-markers.csv Build line-number annotation text from PnP data Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\GetLinenumberAnnotationText official-sources.md#ortho Static only
52 P_Rec_Annot InsertElevation P_Rec_Annot\v1.0.2\repo\InsertElevation v1.0.4 repo/release family DLL/library see code-markers.csv Insert elevation annotation in Ortho Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\InsertElevation official-sources.md#ortho Static only
53 P_Rec_Annot OrthoAutoAnnotate P_Rec_Annot\v1.0.2\repo\OrthoAutoAnnotate v1.0.4 repo/release family DLL/library see code-markers.csv Automatic Ortho annotations and dimensions Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\OrthoAutoAnnotate official-sources.md#ortho Static only
54 P_Rec_Annot OrthoLoader P_Rec_Annot\v1.0.2\repo\OrthoLoader v1.0.4 repo/release family DLL/library see code-markers.csv Loader/ribbon for Ortho tools Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\OrthoLoader official-sources.md#ortho Static only
55 P_Rec_Annot P3DCopyMissingObjectsToOrthoDrawing P_Rec_Annot\v1.0.2\repo\P3DCopyMissingObjectsToOrthoDrawing v1.0.4 repo/release family DLL/library see code-markers.csv Copy missing 3D objects to an Ortho drawing Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\P3DCopyMissingObjectsToOrthoDrawing official-sources.md#ortho Static only
56 P_Rec_Annot P3DSetLayerForViewport P_Rec_Annot\v1.0.2\repo\P3DSetLayerForViewport v1.0.4 repo/release family DLL/library see code-markers.csv Set layer for an Ortho viewport Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\P3DSetLayerForViewport official-sources.md#ortho Static only
57 P_Rec_Annot PHPAnnotations P_Rec_Annot\v1.0.2\repo\PHPAnnotations v1.0.4 repo/release family DLL/library see code-markers.csv Extended/batch Plant annotation processing Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\PHPAnnotations official-sources.md#ortho Static only
58 P_Rec_Annot SwapAttributesMenuItem P_Rec_Annot\v1.0.2\repo\SwapAttributesMenuItem v1.0.4 repo/release family DLL/library see code-markers.csv Change annotation attributes/menu action Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\SwapAttributesMenuItem official-sources.md#ortho Static only
59 P_Rec_Annot UpdateOrthoDrawings P_Rec_Annot\v1.0.2\repo\UpdateOrthoDrawings v1.0.4 repo/release family DLL/library see code-markers.csv Update Ortho drawing/toolset modules Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\UpdateOrthoDrawings official-sources.md#ortho Static only
60 P_Rec_Annot UpdateOrthoViewBlocks P_Rec_Annot\v1.0.2\repo\UpdateOrthoViewBlocks v1.0.4 repo/release family DLL/library see code-markers.csv Update Ortho view blocks Open Ortho drawing and invoke command or loader Ortho DWG and Plant PnP data annotations, view blocks, copied/highlighted objects drawing and/or linked Ortho data AutoCAD API + Plant DataLinks/ProjectManager/Ortho shared P_Rec_Annot modules Ortho Generation, Ortho Annotate, annotation styles, project setup Official docs confirm core functions, not exact batch logic KEEP_REDESIGN important high confirmed load command and compare single/multi-view output P_Rec_Annot\v1.0.2\repo\UpdateOrthoViewBlocks official-sources.md#ortho Static only
@@ -0,0 +1,10 @@
# Retirement candidates
No component is approved for deletion from this static audit.
- P3DGetBoltsetReport: likely overlaps Data Manager/Report Creator. Test field parity, grouping, formatting and totals before retiring only a duplicate.
- P3DCreateIsoBOM/P3DGetReportNew: likely report/BOM functions; field-level comparison is required.
- P3DSetLayerForViewport: project/viewport layer settings may cover part of the function; test inheritance and batch behavior.
- P_Rec_Spec helpers: Spec/Catalog Editor, calculated properties and Report Creator may replace parts, but direct SQLite and corporate rules are not automatically covered.
Required evidence: source command behavior, fixture before/after, official mapping, differences and runtime test in Plant 3D 2026/2026.1.
@@ -0,0 +1,8 @@
# Runtime tests required
1. Load latest candidate in isolated Plant 3D 2026 and 2026.1; record command registration and errors.
2. Ortho: one view, multiple views/project, missing models, line-number/elevation/BOP annotations, layer inheritance and view-block update.
3. Bolt sets: standard/custom flange thickness, calculated length, mapping, gasket persistence and report totals.
4. Specs/catalogs: fixture comparison against Spec Editor/Catalog Editor, calculated properties, groups and no direct SQLite corruption.
5. Export/integration: Revit/Navisworks/IFC/Hydra/Insul schemas, units, errors, repeatability and offline behavior.
6. Safety: copies only, rollback, audit log, multi-user behavior and no production/network writes.
@@ -0,0 +1,5 @@
# Source root
Read-only source root: C:\dev\autodesk\link
link is a symbolic link to the corporate UNC source. No source or binary files were copied.
@@ -0,0 +1,8 @@
# Unknowns
- Production-selected release DLL and loader/download list.
- Actual usage frequency and business ownership.
- Corporate acceptance criteria for Hydra/Insul/Revit/5DSmeta outputs.
- Whether bolt/newline fixes reproduce on 2026/2026.1.
- Whether direct SQLite operations remain supported for migrated projects.
- Runtime load order, profiles, trusted paths and permissions.

Some files were not shown because too many files have changed in this diff Show More