//создаём синхронизацию public static void SyncronizeWorks(ReferenceObject masterWork, ReferenceObject slaveWork) { ReferenceObject синхронизация = ProjectDependenciesReference.CreateReferenceObject(Class_ProjectDependency); синхронизация[SynchronizationParameterGuids.param_DependencyType_Guid].Value = 5;// DependencyType.Synchronization; синхронизация[SynchronizationParameterGuids.param_MasterWork_Guid].Value = masterWork.SystemFields.Guid; синхронизация[SynchronizationParameterGuids.param_SlaveWork_Guid].Value = slaveWork.SystemFields.Guid; синхронизация[SynchronizationParameterGuids.param_MasterProject_Guid].Value = ProjectManagementWork.GetProject(masterWork).SystemFields.Guid; синхронизация[SynchronizationParameterGuids.param_SlaveProject_Guid].Value = ProjectManagementWork.GetProject(slaveWork).SystemFields.Guid; синхронизация.EndChanges(); //return синхронизация; }
private ReferenceObject syncComposition(TreeViewModel pe_treeItem, bool IsCopyRes, bool IsCopyOnlyPlan /*, ref int amountAddObjects*/) { #region //Объект для синхронизации if (pe_treeItem.IsObjectToSync /* && (bool)pe_treeItem.IsSelectObjToSynch*/) { /* Если синхронизация отсутствует, то создаём новую работу в плане РП * в синхронизированной с Текущей и устанавливаем синхронизацию с дочерней из плана детализации. */ ClassObject TypePE = pe_treeItem.ProjectElement.Class; List <Guid> GuidsLinks = new List <Guid>() { new Guid("063df6fa-3889-4300-8c7a-3ce8408a931a"), new Guid("68989495-719e-4bf3-ba7c-d244194890d5"), new Guid("751e602a-3542-4482-af40-ad78f90557ad"), new Guid("df3401e2-7dc6-4541-8033-0188a8c4d4bf"), new Guid("58d2e256-5902-4ed4-a594-cf2ba7bd4770") , new Guid("0e1f8984-5ebe-4779-a9cd-55aa9c984745"), new Guid("79b01004-3c10-465a-a6fb-fe2aa95ae5b8") , new Guid("339ffc33-55b2-490f-b608-a910c1f59f51") }; var newPE = ProjectManagementWork.CopyPE(pe_treeItem.ProjectElement, pe_treeItem.PEForSync, GuidsLinks); if (newPE != null) { //amountAddObjects++; ProjectManagementWork.RecalcResourcesWorkLoad(newPE); if (IsCopyRes) { ProjectManagementWork.СкопироватьИспользуемыеРесурсы_изЭлементаПроекта_вЭлементПроекта (newPE, pe_treeItem.ProjectElement, onlyPlanningRes: IsCopyOnlyPlan, PlanningSpaceForNewRes_Guid: ProjectManagementWork.GetProject(newPE)[ProjectManagementWork.PM_param_PlanningSpace_GUID].GetGuid()); } Synchronization.SyncronizeWorks(newPE, pe_treeItem.ProjectElement); return(newPE); } } #endregion return(null); }