static public ReferenceObject CopyPE(ReferenceObject исходныйОбъект, ReferenceObject целевойОбъект, List <Guid> listParametersToSkip) { ReferenceObject копияИсходногоОбъекта = References.ProjectManagementReference.CreateReferenceObject(целевойОбъект, References.Class_ProjectManagementWork); foreach (Parameter parameter in копияИсходногоОбъекта.ParameterValues) { if (parameter.IsReadOnly) { continue; } if (listParametersToSkip.Contains(parameter.ParameterInfo.Guid) || listLinksToSkip.Contains(parameter.ParameterInfo.Guid)) { continue; } копияИсходногоОбъекта[parameter.ParameterInfo].Value = исходныйОбъект[parameter.ParameterInfo].Value; } копияИсходногоОбъекта.SetParent(целевойОбъект); копияИсходногоОбъекта.EndChanges(); if (копияИсходногоОбъекта != null) { return(копияИсходногоОбъекта); } else { MessageBox.Show("Не удалось создать копию в целевом объекте - " + целевойОбъект.ToString()); } return(null); }